新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > n R F24 LU 1+的U S B無線網(wǎng)絡(luò)系統(tǒng)設(shè)計

n R F24 LU 1+的U S B無線網(wǎng)絡(luò)系統(tǒng)設(shè)計

作者: 時間:2009-10-15 來源:網(wǎng)絡(luò) 收藏
引 言
隨著個人電腦的發(fā)展、USB(Universal Seral Bus)技術(shù)日趨成熟,USB設(shè)備也以驚人的速度發(fā)展。日常生活里的數(shù)碼相機(jī)、打印機(jī)、掃描儀,醫(yī)院里的心電圖機(jī)、床邊監(jiān)護(hù)系統(tǒng),以及圖書館、超市和物流倉庫的有線條碼掃描儀等設(shè)備大都使用了USB接口的通信。但是,由于USB的電纜長度受限(一般規(guī)定低速電纜長度不超過3 m,全速電纜長度不超過5 m),為使用帶來諸多不便。為了實現(xiàn)數(shù)據(jù)的高速傳輸,彌補(bǔ)其電纜長度受限的不足,本文給出了基于R1+的USB接口設(shè)備的網(wǎng)絡(luò)化系統(tǒng)方案。

1 系統(tǒng)
系統(tǒng)總體框圖如圖1所示。
系統(tǒng)工作原理:首先,將收發(fā)主機(jī)的USB插頭插入PC機(jī)的USB插座,實現(xiàn)PC機(jī)與收發(fā)主機(jī)的硬件連接;同理,實現(xiàn)無線收發(fā)從機(jī)與USB設(shè)備i(i=1,…,n)的硬件連接。無線收發(fā)主/從機(jī)可以根據(jù)現(xiàn)實情況采取自供電,或從與其所連的設(shè)備獲取供電。接著,PC機(jī)實現(xiàn)對無線收發(fā)主機(jī)的USB枚舉過程;同時,無線收發(fā)從機(jī)的USB主控單元實現(xiàn)對USB設(shè)備的USB枚舉過程。枚舉結(jié)束后,建立無線網(wǎng)絡(luò)。無線收發(fā)主機(jī)和每個無線收發(fā)從機(jī)都設(shè)定一個唯一的地址,無線收發(fā)主機(jī)通過查詢方式與無線收發(fā)從機(jī)進(jìn)行通信。無線網(wǎng)絡(luò)建立后,通過無線收發(fā)主/從機(jī)就可以進(jìn)行USB數(shù)據(jù)流的無線通信了。

本文引用地址:http://butianyuan.cn/article/157816.htm

2 硬件電路
2.1 nR1+的芯片結(jié)構(gòu)及特點
nR1+是Nordic半導(dǎo)體公司推出的一款將高性能的射頻和單片USBdongle的功能結(jié)合起來的無線收發(fā)芯片。nRF24LU1+內(nèi)含1個增強(qiáng)型的8051MCU內(nèi)核、無線收發(fā)模塊、符合全速USB 2.0標(biāo)準(zhǔn)的器件控制器、2 KB的片內(nèi)SRAM、16 KB或32 KB的片內(nèi)Flash存儲器、6個通用的I/O口以及電壓調(diào)整器。nRF24LU1+顯著地增強(qiáng)了抗寬帶干擾和互調(diào)失真(IMD)性能。nRF24LU1+芯片需要的外部元件只是低成本的16 MHz晶振、去耦電路、匹配網(wǎng)絡(luò)和天線。VBUS(USB工作電源)工作電壓范圍4.0~5.25 V。nRF24LU1+是單片結(jié)構(gòu),外形尺寸很小(5 mm×5 mm)。
無線工作于全球開放的2.400~2.483 5 GHz頻段,的通信波特率可以通過軟件設(shè)置工作于2 50 kbps、1 Mbps、2 Mbps;使用Enhanced ShockedBust技術(shù)可以實現(xiàn)數(shù)據(jù)包的自動打包/解包和傳輸處理(應(yīng)答、重傳);使用MultiCeiver技術(shù)可同時支持6個無線裝置,頻段、輸出能量和其他射頻參數(shù)可通過射頻寄存器方便地進(jìn)行編程調(diào)節(jié);具有點對多點通信,并且采用AES加密技術(shù)實現(xiàn)更安全的數(shù)據(jù)傳輸;使用超低功耗(ULP)無線技術(shù),0 dBm輸出功率時典型峰值電流為11.1 mA;集成了1個穩(wěn)壓器,芯片可以直接由USB總線供電。
2.2 ISP1161的芯片結(jié)構(gòu)及特點
ISP1161是Philips公司的一款符合USB2.0總線協(xié)議的USB接口芯片。它既帶主機(jī)控制器(HC)又帶設(shè)備控制器(DC),支持全速/低速傳輸,16位數(shù)據(jù)總線,支持3.3 V/5 V雙供電方式。ISP1161為USB主機(jī)控制器時,提供2個USB設(shè)備連接的向下端口。
2.3 帶USB接口的無線收發(fā)主機(jī)
無線收發(fā)主機(jī)電路如圖2所示。電路由nRF24LU1+、16 MHz的晶振,以及其他元器件等構(gòu)成。nRF24LU1+中的MCU負(fù)責(zé)控制其片內(nèi)的USB模塊和無線模塊,實現(xiàn)USB數(shù)據(jù)流到無線數(shù)據(jù)流的轉(zhuǎn)換。

2.4 帶USB接口的無線收發(fā)從機(jī)
無線收發(fā)從機(jī)與外部USB設(shè)備的連接電路如圖3所示。無線收發(fā)從機(jī)電路由Philips公司的ARM7處理器LPC2103和USB嵌入式主控制器ISP1161,以及nRF24LU1+和一些外圍器件構(gòu)成。LPC2103和ISP1161構(gòu)成USB的主機(jī)控制單元(HCU)。ISP1161作為主機(jī)控制器時有2個下行端口,分別連接nRF24LU1+的USB口和外部USB設(shè)備。nRF24LU1+負(fù)責(zé)無線數(shù)據(jù)流到USB數(shù)據(jù)流的傳輸。HCU負(fù)責(zé)來自nRP24LU1+的USB數(shù)據(jù)和外部LISB設(shè)備數(shù)據(jù)的傳輸。

3 USB無線的軟件實現(xiàn)
3.1 nRF24LU1+的USB模塊固件程序設(shè)計
USB設(shè)備的軟件開發(fā)包括PC機(jī)端的USB設(shè)備驅(qū)動程序和界面應(yīng)用程序,以及USB芯片端的芯片固件程序的開發(fā)。芯片固件程序是指運(yùn)行在USB芯片內(nèi)部的程序代碼,它負(fù)責(zé)USB協(xié)議的處理和USB設(shè)備與主機(jī)的數(shù)據(jù)傳輸。芯片固件程序的開發(fā)是重點,也是難點。
3.1.1 USB設(shè)備的枚舉過程
從終端用戶看,USB系統(tǒng)就是外設(shè)通過一根USB電纜和PC機(jī)連接起來。USB在外設(shè)和PC機(jī)之間提供通信服務(wù),通常把外設(shè)稱為“USB設(shè)備”,把其所連接的PC機(jī)稱為“USB主機(jī)”。USB使用總線枚舉操作管理USB設(shè)備的連接和斷開。以USB設(shè)備的連接為例說明枚舉過程。步驟如下:
①USB設(shè)備連接在主機(jī)或集線器的下行端口上,USB設(shè)備上電。
②USB設(shè)備的復(fù)位。主機(jī)應(yīng)提供至少10 ms的復(fù)位恢復(fù)時間。復(fù)位完成后,USB設(shè)備進(jìn)入缺省狀態(tài),可使用缺省設(shè)備地址對管道0的控制事務(wù)作出響應(yīng)。
③主機(jī)向USB設(shè)備發(fā)出Get Descriptor (Device)請求,以取得其缺省控制管道所支持的最大數(shù)據(jù)包長度。
④主機(jī)向USB設(shè)備發(fā)出SetAddress請求,為其分配一個唯一的設(shè)備地址。
⑤主機(jī)使用新地址向USB設(shè)備發(fā)出GetDescriptor(Configuration)請求,并讀取其全部配置信息。該過程需要花費(fèi)幾ms。
⑥主機(jī)根據(jù)設(shè)備的配置信息(如供應(yīng)商、產(chǎn)品ID等),為其選擇一個合適的設(shè)備驅(qū)動程序。通常需要由開發(fā)人員自己編寫,有時也可以使用設(shè)備類或供應(yīng)商提供的通用驅(qū)動程序。
⑦加載了USB設(shè)備驅(qū)動程序后,主機(jī)發(fā)出SetCon-figuration請求為該設(shè)備選擇一個合適的配置。配置成功后,枚舉結(jié)束,USB設(shè)備可以和主機(jī)進(jìn)行數(shù)據(jù)傳輸了。
3.1.2 USB模塊固件程序設(shè)計
nRF24LU1+的USB模塊由2個SFR寄存器和XDATA寄存器組來控制。USB固件程序由2部分組成:USB模塊的初始化程序和中斷服務(wù)程序。
(1)USB模塊的初始化程序
關(guān)閉USB中斷,調(diào)用端點初始化函數(shù)USB_endpoint_init(void)設(shè)置USB各個端點的傳輸方式、緩存區(qū)大小、中斷事件產(chǎn)生條件,調(diào)用USB服務(wù)函數(shù)USB_setvice(void)為中斷服務(wù)程序中調(diào)用做準(zhǔn)備;打開USB中斷,調(diào)用函數(shù)USB_device_connect(void)使得內(nèi)部的1.5 kΩ上拉電阻連到D+線上,實現(xiàn)全速USB設(shè)備的配置。這樣,就可以響應(yīng)主機(jī)的枚舉過程了。
(2)USB模塊的中斷服務(wù)程序
USB控制器提供2個中斷信號給nRF24LU1+,分別為喚醒中斷請求USBWU信號和USB中斷請求USBIRU信號。USB中斷請求USBIRQ為nRF24Lu1+的一個中斷,而USB中斷請求下又有許多中斷,包括:12個塊端點中斷、幀開始中斷(sofir)、掛起中斷(suspir)、USB復(fù)位中斷(uresir)、建立令牌中斷(sutokir)、建立數(shù)據(jù)有效中斷(sudavir)。如果多個USB中斷同時發(fā)生,USB控制器將按優(yōu)先級次序響應(yīng)。激活的中斷在中斷向量寄存器ivec中得到,例如sofir中斷時,ivec寄存器的內(nèi)容為0x04。USB中斷請求USBIRQ的部分程序代碼如下:


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉