999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無線傳感器網絡匯聚節點的WLAN接口設計與實現

2009-01-01 00:00:00沈晶晶李士寧
計算機應用研究 2009年2期

(1. 西北工業大學 計算機學院, 西安 710072; 2. 空軍工程大學, 西安 710077)

摘 要:

分析了無線傳感器網絡中匯聚節點的功能特性以及其實現WLAN通信的網絡優勢;設計了基于IntelPXA270為核心處理器的CF無線通信接口的邏輯電路,并詳細介紹了Linux下驅動移植的過程。最終實現了匯聚節點上CF接口的無線通信。

關鍵詞:無線傳感器網絡; 匯聚節點; 無線局域網; PXA270; 緊湊式閃存

中圖分類號:TP393.05 文獻標志碼:A

文章編號:1001-3695(2009)02-0699-03

Design and implementation of WLAN interface of wireless sensor network sinknode

SHEN Jing-jing1,LI Shi-ning1,ZHOU Tao1,HU Dan1,2

(1.College of Computer Science,Northwestern Polytechnical University,Xi’an 710072,China; 2.Airforce Engineering University,Xi’an 710077,China)

Abstract:This paper proposed the analysis of function of sinknode as well as discussed the communication superiority of WLAN on wireless sensor network sinknode, then designed sinknode. It based on embedded processor IntelPXA270 and CFinterface. Also, transplanted the Linux dirver into the embedded platform. Implemented the sinknode wireless communication with CF interface at last.

Key words:wireless sensor network(WSN); sinknode; wireless local area network(WLAN); PXA270; compact flash(CF)



無線傳感器網絡是由大量無處不在的、具有無線通信與計算能力的微型傳感器節點構成的自組織分布式網絡系統。它通常由傳感器節點(sensor node)、匯聚節點和管理節點構成。

匯聚節點是連接傳感器網絡與Internet等外部網絡的重要媒介。它實現兩種協議棧之間的通信協議轉換,同時發布管理節點的監測任務,并把收集到的數據轉發到外部網絡上。在一些傳感器網絡環境中,如溫室大棚的環境監測,匯聚節點只需要通過以太網口即可接入局域網,從而與外部網絡進行通信。隨著通信技術的發展,人們不再滿足匯聚節點通過LAN接入Internet中,而是希望通過更加簡單、方便的WLAN技術來進行外部網絡的通信。WLAN具有架設與維護更容易、經濟節約、易于擴展等優點。因此在匯聚節點上進行WLAN通信不但可作為有線網絡以外的另一種選擇,還能解決在特殊環境下有線網絡布置不方便,匯聚節點與外部網絡無法連接的難題。

本文通過對匯聚節點的功能特性分析,介紹了基于IntelPXA270處理器,以Linux為嵌入式操作系統的匯聚節點上CF接口的邏輯電路設計、驅動移植以及無線上網配置。文中所使用的Linux內核為Linux-2.6.9,CF無線網卡為NETGEAR MA701。

1 WLAN接口電路設計

1. 1 硬件設計分析

本設計要求在匯聚節點已實現了LAN接入Internet的基礎上,進一步設計和實現WLAN與外部網絡的通信。匯聚節點作為一個典型的嵌入式系統,所選擇的處理器至少需要支持這兩種外部接口,以滿足其功能需求。經過綜合考慮,本文中選擇的處理器是XScale架構的PXA270。它是一款高性能、低功耗、功能強大的嵌入式SoC微處理器產品,并具有豐富的外圍接口,如USB host/client、MMC/SD、CMOS/CCD、IDE、LAN、PCMCIA和CF接口等。

PXA270處理器本身提供16位的PC-Card和CF接口,從而簡化了CF接口的硬件設計,不再需要通過異步并行總線進行擴展。由于PCMCIA接口和CF接口的硬件電路以及工作原理相似,可以通過PXA270處理器的PSKTSEL腳同時支持PCMCIA接口和CF接口。這兩個接口對應的存儲器地址映像如圖1所示。

1. 2 CF接口引腳定義

CF卡是1994年由SanDisk公司最先推出的。它的接口上具有PCMCIA-ATA功能并與之兼容。它既可以工作在IDE接口模式還可工作在PC-Card模式下。最初,CF卡只是利用flash技術的存儲卡。接著CF+卡的標準也被制定出來,它是(CF)的衍生技術規格。CF+的物理規格與CF完全相同,但是CF+卡并不是CF卡那樣的閃存存儲器,而主要是相同規格的I/O設備。本文中所提到的CF無線網卡就是這種I/O設備。

CF+卡工作在PC-Card模式下,分為兩種接口標準,即存儲卡接口和I/O接口。本文中只介紹了I/O接口引腳定義,如表1所示。

1. 3 CF外部接口設計

表1 I/O接口的引腳定義

引腳說明引腳說明

GND地信號D0~D15數據信號

A0~A10地址信號CE1#,CE2#低有效卡使能

CD1#,CD2#卡檢測信號OE#存儲空間讀取信號

VS1#VS2#電壓檢測信號WE#存儲空間寫入信號

IORD#I/O空間讀取信號IOWR#I/O空間寫入信號

IOIS16#16位I/O訪問IREQ低有效中斷請求

VCC供電電源CSEL#電纜選擇

RESET高電平有效復位WAIT#讀取等待信號

INPACK輸入端口就緒REG#寄存器選擇

SPKR#數字音頻STSCHG#卡狀態改變

1. 3. 1 CF接口框圖

本文采用外部邏輯完成CF卡插槽的設計,系統框圖如圖2所示。

系統框圖的左邊是PXA270處理器,右邊是CF接口插槽。D[15∶0]為數據總線,A[10∶0]為地址總線。控制信號線包括nPCE[2∶1]、nPIOR、nPIOW、PSKTSEL、nPREG、nPWAIT、nPWE、nPOE、IOIS16。雙向收發器用于數據的雙向傳送、緩沖與驅動,同樣還應用在地址總線和CF控制信號之上。它實現了處理器與CF卡之間的雙向通信。本設計中使用雙向收發器的另外一個作用就是避免數據總線、地址總線和GPIO受到CF設備插拔引起的瞬態沖擊。

1. 3. 2 CF卡接入檢測

CF插槽上的檢測腳CD1、CD2連接到CPLD上,然后通過CPLD上連接的GPIO10高低電平變化來完成CF設備插入檢測。它是通過在CPLD內部寫入相應的代碼來實現邏輯上的一個“或”門,當有CF卡插入時,“或”門產生一個下降沿,向PXA270產生中斷。當PSKTSEL為低電平時,雙向收發器被使能。nPOE、nPIOR在CPLD內部進行“與”運算。當運算結果是高電平時,PXA270向CF卡寫數據;反之,則向CF卡讀數據。

1. 3. 3 CF接口的電源管理

在本設計中采用的是MAX1602EE電源管理芯片給CF接口進行供電,提供3.3 V或5 V的電壓。由于在供電電壓檢測上,CF卡的標準比PCMCIA簡單得多,并且所有的CF卡都可在3.3和5 V下工作。將VS1信號接地,而VS2信號浮空,兼容PCMCIA的檢測標準,即按照PCMCIA檢測標準,所有的CF卡都被識別成可工作在3.3和5 V模式下的PCCard。

1. 3. 4 相關GPIO的連接

PXA270的GPIO48-GPIO57這10個引腳是當做存儲器控制功能來使用的。在CF驅動的開發中,它們將提供重要的控制信號,這10個GPIO將使用它們的第二功能。

2 基于Linux的WLAN驅動移植

2. 1 WLAN設備驅動體系結構

Linux PCMCIA驅動子系統由三層構成(圖3),即最底層是接口驅動層、第二層是PC卡服務層、最上層是卡服務客戶層。卡服務層中包含各種類型的卡的設備驅動和一種驅動服務(driver services)的特殊虛擬設備驅動。每一層都是通過標準API接口為上層服務。

接口驅動層是處理最底層硬件的軟件層,通常是具體操作硬件的函數集,提供對不同控制器和不同平臺的支持,從而屏蔽了硬件資源配置的差異性。卡服務層在Linux平臺下提供了操作PCMICA接口的標準API。卡服務客戶層是具體應用和卡服務層的橋梁。它能實現各種類型卡的功能驅動,并且提供一個虛擬設備接口,用戶模式下的應用工具(cardmgr、cardctl)能通過此設備訪問PCMCIA驅動子系統。

2. 2 SocketDriver的移植

根據PCMCIA系統層次特點,只有接口驅動層是與硬件密切相關的。因此,驅動移植的重點就是為新的平臺寫一個接口驅動。Linux下PCMCIA驅動程序是在drivers/pcmcia中。給新的硬件接口編寫Linux驅動程序只需完成SocketDriver層的驅動程序。本文是對mainstone平臺的SocketDriver(pxa2xx_mainstone.c)進行了修改以適應新的硬件平臺(保存為pxa2xx_sink270.c)。具體的移植過程按照以下步驟完成:

a)修改向上層提供的接口函數static struct pcmcia_low_level mst_pcmcia_ops()。其中的.nr用來設置socket的數量。筆者所設計的這個硬件接口只用到了一個socket,所以此處.nr=1。

b)修改硬件初始化函數。因為CF接口需要驅動程序進行硬件的初始化,所以在驅動程序的接口函數中hw_init ()就是用來設置本硬件設計中所用到的GPIO的輸入/輸出方向、工作模式以及中斷的初始化(實現I/O口號到中斷號的轉換、設置中斷類型等)。

c)修改socket狀態檢測函數socket_state()。該函數的主要功能是對電源電壓(3.3、5 V)、電池電壓、插入設備是否準備好等進行檢測。它是通過檢測相應GPIO的高低電平的變化來完成此項功能的。在本平臺的硬件設計中是將卡插入檢測腳CD1和CD2接到CPLD上,然后在CPLD中寫入相應的邏輯關系從而使得GPIO10來反映出CD1、CD2的狀態。這樣在socket狀態檢測函數中只要檢測GPIO10的電平值就可知道設備是否插入卡槽。

d)Socket配置函數configure_socket()主要是對socket的電源管理配置。這個函數是根據傳入的狀態改變電源電壓的配置。針對本平臺不要修改可以直接使用。

e)修改在PCMCIA目錄下的makefile,增加對本平臺的編譯規則:

pxa2xx_cs-$(CONFIG_MACH_SINK270)

+=pxa2xx_sink270.o

f)在CPLD內部寫入與CF接口相關的邏輯,代碼如下:

inputCF_CD1;//設置CD1的方向

inputCF_CD2;//設置CD2的方向

outputCF_DATA_OE; //設置鎖存器輸出使能

outputCF_EN;//設置鎖存器輸出使能

outputCF_DETEC;//設置CF卡檢測管腳

assignCF_EN = 0;//設置鎖存器永久使能

assignCF_DETEC = CF_CD1‖CF_CD2 ;

//設置DETEC與CD1、CD2的邏輯關系

assignCF_DATA_OE = nPCE1 nPCE2 ;

//設置數據使能與nPCE1、nPCE2的邏輯關系

2. 3 內核總線配置和CF無線網卡驅動的配置

a)內核配置如下:

make menuconfig

General setup--->

PCMCIA/CardBus support--->

〈*〉PCMCIA/CardBus support

[ ]Enable PCMCIA debugging

〈〉Databook TCIC host bridge support

〈*〉PXA2xx support

Networking support--->

[*] Network device support

b)內核中無線網卡的配置,本文中用的無線網卡的芯片是Prism 2/2.5/3,采用的是Hostap的驅動

Wireless LAN (non-hamradio)--->

[*]Wireless LAN drivers Wireless Extensions

〈*〉 Host AP support for Prism2/2.5/3 IEEE 802.11b 

/*也可以選擇M作為模塊的方式編譯,此方法需要insmod hostap_cs.o*/

[ ] Support downloading firmware with Host AP driver

〈*〉 Host AP driver for Prism2/2.5/3 PC Cards

c)在文件系統etc/pcmcia/hostap_cs.conf.添加所用網卡的信息:

card \"NetGEAR MA701 Wireless CF Card \"

version \"NETGEAR\" ,\"MA701 Wireless CF Card\" ,\"\"

manfid 0xd601, 0x0002

bind \"hostap_cs\"

2. 4 無線網絡工具的編譯

Wireless tools 是無線上網配置的一個工具包,通過它可以很方便地對無線網絡進行配置。

a)下載wireless_tools.28.tar.gz和wireless extensions v18。

首先,用wireless extensions v18對內核打補丁,然后將wireless_tools.28.tar.gz中makefile的CC改成CC=arm-linux-gcc,進行交叉編譯。

b)將生成的iwconfig iwevent iwgetid iwlist iwspy iwpriv拷貝到文件系統/sbin目錄下。

將libiw.so.28拷貝到文件系統/lib目錄下。

3 匯聚節點上無線網絡配置

匯聚節點上對CF無線網卡進行初始化配置是由/etc/pcmcia/文件夾下的wireless.opts和network.opts兩個腳本文件完成的。網絡接入點,即AP的ESSID為wireless,無線網卡工作在managed模式而非Ad hoc點對點模式下,且AP設置的局域網地址為192.9.200.41。所以在使用無線網卡傳輸數據時應對匯聚節點IP地址進行設置,可按照命令的方式實現修改。具體過程如下:

root>iwconfigwlan0essidwireless

root>iwconfigwlan0modemanaged

root>ifconfigwlan0192.9.200.59

為了讓系統在啟動時自動進行網絡設置,可以修改無線網絡配置的兩個腳本文件wireless.opts和network.opts。具體修改過程如下:

a)無線網絡選項配置腳本wireless.opts

ESSID=\"wireless\"

MODE=\"managed\"

b)網絡配置腳本文件network.opts

IPADDR=\"192.9.200.59\"

NETWORK=\"192.9.200.0\"

BROADCAST=\"192.9.200.255\"

GATEWAY=\"192.9.200.28\"

DNS=\"192.9.200.28\"

4 配置后的網絡測試

網絡配置完成以后,ping局域網中的其他終端,測試結果如下:

/$ping 192.9.200.14

ping 192.9.200.14 (192.9.200.14): 56 data bytes

64 bytes from 192.9.200.14: icmp_seq=0 ttl=64 time=1.3 ms

64 bytes from 192.9.200.14: icmp_seq=1 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=2 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=3 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=4 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=5 ttl=64 time=0.5 ms

64 bytes from 192.9.200.14: icmp_seq=6 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=7 ttl=64 time=0.6 ms

64 bytes from 192.9.200.14: icmp_seq=8 ttl=64 time=0.6 ms

---192.9.200.14 ping statistics---

9 packets transmitted, 9 packets received, 0% packet loss

round-trip min/avg/max=0.5/0.6/1.3 ms

可見此匯聚節點通過CF無線網卡可以ping通局域網內的各個終端。經過長時間的測試,該無線網絡能夠正常、穩定地工作。

5 結束語 

無線傳感器網絡中的匯聚節點擔負著與外界通信的重要角色,在其上進行WLAN通信可以更加方便、有效地獲取和傳輸數據。針對這種需求,本文設計和實現了匯聚節點上無線接入局域網的功能,并對相應的接口電路原理和驅動移植作了分析。該匯聚節點接入無線網絡后可穩定工作,為后續的無線傳輸軟件開發解決了關鍵技術問題,具有較高的實用價值。 

參考文獻:

[1]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005:4-5.

[2]鄭靈翔,等.嵌入式系統設計與應用開發[M]. 北京:北京航空航天大學出版社,2006:304-323.

[3]劉淼.嵌入式系統接口設計與Linux驅動程序開發[M]. 北京: 北京航空航天大學出版社,2006:259-269.

[4]仝美娟,肖海蓉.基于PXA255的嵌入式系統無線局域網終端設計[J]. 現代電子技術,2007,30(20):53-55.

[5]高揚,石秀民.基于嵌入式平臺的WLAN實現[J]. 吉林大學學報:信息科學版,2006,24(1):103-107.

[6]CompactFlashAssociation. CF+ and CompactFlash specification revision 3.0[S]. 2004.

[7]Intel Crop. Intel PXA27X processor family developers manual[S].2004.

[8]Intel Crop. Intel PXA27X processor family design guide[S]. 2004.

[9]Inter Crop. Intel PXA270 processor electrical mechanical ,and thermal specification[S]. 2004

主站蜘蛛池模板: 国产一二三区在线| 欧美a级完整在线观看| 高清无码一本到东京热| 成人一级免费视频| 激情无码视频在线看| 深夜福利视频一区二区| 日本爱爱精品一区二区| WWW丫丫国产成人精品| 在线免费亚洲无码视频| 国产一线在线| 小蝌蚪亚洲精品国产| 国产精品内射视频| 日韩无码视频网站| 拍国产真实乱人偷精品| 国产爽妇精品| 日本人妻一区二区三区不卡影院| a在线亚洲男人的天堂试看| 欧美不卡二区| 国产亚洲美日韩AV中文字幕无码成人| 亚洲第一视频区| 国产一区二区视频在线| 四虎国产成人免费观看| 97在线观看视频免费| 一本色道久久88| 玖玖精品视频在线观看| 大乳丰满人妻中文字幕日本| 国产精品午夜福利麻豆| 日本www在线视频| 国产精品亚洲综合久久小说| 中文字幕一区二区人妻电影| 久久婷婷色综合老司机| h网址在线观看| 永久免费无码日韩视频| 最新加勒比隔壁人妻| 国产午夜不卡| 午夜毛片免费看| 久久久久夜色精品波多野结衣| 国产免费a级片| 99免费视频观看| 四虎综合网| 国产理论一区| 日韩在线1| 国产亚洲精品精品精品| 亚洲a级在线观看| 亚洲综合狠狠| 亚洲精品午夜无码电影网| 国产激情在线视频| 天堂av高清一区二区三区| 日本欧美一二三区色视频| 欧美成人二区| 亚洲AV无码久久精品色欲| 操操操综合网| 中文字幕亚洲无线码一区女同| 国产精品欧美亚洲韩国日本不卡| 午夜在线不卡| 国产成人高精品免费视频| 国产一区二区三区在线观看视频| 中国一级毛片免费观看| 亚洲无码熟妇人妻AV在线| 久久久久亚洲精品成人网| 2022国产无码在线| 手机在线免费毛片| 國產尤物AV尤物在線觀看| 啪啪免费视频一区二区| 亚洲乱码视频| 美女内射视频WWW网站午夜 | 国产精品亚洲一区二区在线观看| 国产极品美女在线| 国产高清精品在线91| 久草国产在线观看| 搞黄网站免费观看| 毛片久久网站小视频| 亚洲妓女综合网995久久| 中文精品久久久久国产网址 | 国产专区综合另类日韩一区| 天堂久久久久久中文字幕| 国产专区综合另类日韩一区| 欧美全免费aaaaaa特黄在线| 色哟哟国产精品| 亚洲精品动漫| 国产真实乱子伦视频播放| 久久久久无码国产精品不卡|