nRF24LU1+的USB無(wú)線網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)資料下載
2021-04-07 |
pdf |
262.21KB |
次下載 |
2積分
資料介紹
1 系統(tǒng)設(shè)計(jì)系統(tǒng)總體框圖如圖1所示。系統(tǒng)工作原理:首先,將無(wú)線收發(fā)主機(jī)的USB插頭插入PC機(jī)的USB插座,實(shí)現(xiàn)PC機(jī)與無(wú)線收發(fā)主機(jī)的硬件連接;同理,實(shí)現(xiàn)無(wú)線收發(fā)從機(jī)與USB設(shè)備i(i=1,…,n)的硬件連接。無(wú)線收發(fā)主/從機(jī)可以根據(jù)現(xiàn)實(shí)情況采取自供電,或從與其所連的設(shè)備獲取供電。接著,PC機(jī)實(shí)現(xiàn)對(duì)無(wú)線收發(fā)主機(jī)的USB枚舉過(guò)程;同時(shí),無(wú)線收發(fā)從機(jī)的USB主控單元實(shí)現(xiàn)對(duì)USB設(shè)備的USB枚舉過(guò)程。枚舉結(jié)束后,建立無(wú)線網(wǎng)絡(luò)。無(wú)線收發(fā)主機(jī)和每個(gè)無(wú)線收發(fā)從機(jī)都設(shè)定一個(gè)唯一的地址,無(wú)線收發(fā)主機(jī)通過(guò)查詢方式與無(wú)線收發(fā)從機(jī)進(jìn)行通信。無(wú)線網(wǎng)絡(luò)建立后,通過(guò)無(wú)線收發(fā)主/從機(jī)就可以進(jìn)行USB數(shù)據(jù)流的無(wú)線通信了。2 硬件電路設(shè)計(jì)2.1 nRF24LU1+的芯片結(jié)構(gòu)及特點(diǎn)nRF24LU1+是Nordic半導(dǎo)體公司推出的一款將高性能的射頻收發(fā)器和單片USBdongle的功能結(jié)合起來(lái)的無(wú)線收發(fā)芯片。nRF24LU1+內(nèi)含1個(gè)增強(qiáng)型的8051MCU內(nèi)核、無(wú)線收發(fā)模塊、符合全速USB 2.0標(biāo)準(zhǔn)的器件控制器、2 KB的片內(nèi)SRAM、16 KB或32 KB的片內(nèi)Flash存儲(chǔ)器、6個(gè)通用的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)。無(wú)線收發(fā)器工作于全球開(kāi)放的2.400~2.483 5 GHz頻段,收發(fā)器的通信波特率可以通過(guò)軟件設(shè)置工作于2 50 kbps、1 Mbps、2 Mbps;使用Enhanced ShockedBust技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)包的自動(dòng)打包/解包和傳輸處理(應(yīng)答、重傳);使用MultiCeiver技術(shù)可同時(shí)支持6個(gè)無(wú)線裝置,頻段、輸出能量和其他射頻參數(shù)可通過(guò)射頻寄存器方便地進(jìn)行編程調(diào)節(jié);具有點(diǎn)對(duì)多點(diǎn)通信,并且采用AES加密技術(shù)實(shí)現(xiàn)更安全的數(shù)據(jù)傳輸;使用超低功耗(ULP)無(wú)線技術(shù),0 dBm輸出功率時(shí)典型峰值電流為11.1 mA;集成了1個(gè)穩(wěn)壓器,芯片可以直接由USB總線供電。2.2 ISP1161的芯片結(jié)構(gòu)及特點(diǎn)ISP1161是Philips公司的一款符合USB2.0總線協(xié)議的USB接口芯片。它既帶主機(jī)控制器(HC)又帶設(shè)備控制器(DC),支持全速/低速傳輸,16位數(shù)據(jù)總線,支持3.3 V/5 V雙供電方式。ISP1161為USB主機(jī)控制器時(shí),提供2個(gè)USB設(shè)備連接的向下端口。2.3 帶USB接口的無(wú)線收發(fā)主機(jī)無(wú)線收發(fā)主機(jī)電路如圖2所示。電路由nRF24LU1+、16 MHz的晶振,以及其他元器件等構(gòu)成。nRF24LU1+中的MCU負(fù)責(zé)控制其片內(nèi)的USB模塊和無(wú)線模塊,實(shí)現(xiàn)USB數(shù)據(jù)流到無(wú)線數(shù)據(jù)流的轉(zhuǎn)換。2.4 帶USB接口的無(wú)線收發(fā)從機(jī)無(wú)線收發(fā)從機(jī)與外部USB設(shè)備的連接電路如圖3所示。無(wú)線收發(fā)從機(jī)電路由Philips公司的ARM7處理器LPC2103和USB嵌入式主控制器ISP1161,以及nRF24LU1+和一些外圍器件構(gòu)成。LPC2103和ISP1161構(gòu)成USB的主機(jī)控制單元(HCU)。ISP1161作為主機(jī)控制器時(shí)有2個(gè)下行端口,分別連接nRF24LU1+的USB口和外部USB設(shè)備。nRF24LU1+負(fù)責(zé)無(wú)線數(shù)據(jù)流到USB數(shù)據(jù)流的傳輸。HCU負(fù)責(zé)來(lái)自nRP24LU1+的USB數(shù)據(jù)和外部LISB設(shè)備數(shù)據(jù)的傳輸。3 USB無(wú)線網(wǎng)絡(luò)系統(tǒng)的軟件實(shí)現(xiàn)3.1 nRF24LU1+的USB模塊固件程序設(shè)計(jì)USB設(shè)備的軟件開(kāi)發(fā)包括PC機(jī)端的USB設(shè)備驅(qū)動(dòng)程序和界面應(yīng)用程序,以及USB芯片端的芯片固件程序的開(kāi)發(fā)。芯片固件程序是指運(yùn)行在USB芯片內(nèi)部的程序代碼,它負(fù)責(zé)USB協(xié)議的處理和USB設(shè)備與主機(jī)的數(shù)據(jù)傳輸。芯片固件程序的開(kāi)發(fā)是重點(diǎn),也是難點(diǎn)。3.1.1 USB設(shè)備的枚舉過(guò)程從終端用戶看,USB系統(tǒng)就是外設(shè)通過(guò)一根USB電纜和PC機(jī)連接起來(lái)。USB在外設(shè)和PC機(jī)之間提供通信服務(wù),通常把外設(shè)稱為“USB設(shè)備”,把其所連接的PC機(jī)稱為“USB主機(jī)”。USB使用總線枚舉操作管理USB設(shè)備的連接和斷開(kāi)。以USB設(shè)備的連接為例說(shuō)明枚舉過(guò)程。步驟如下:①USB設(shè)備連接在主機(jī)或集線器的下行端口上,USB設(shè)備上電。②USB設(shè)備的復(fù)位。主機(jī)應(yīng)提供至少10 ms的復(fù)位恢復(fù)時(shí)間。復(fù)位完成后,USB設(shè)備進(jìn)入缺省狀態(tài),可使用缺省設(shè)備地址對(duì)管道0的控制事務(wù)作出響應(yīng)。③主機(jī)向USB設(shè)備發(fā)出Get Descriptor (Device)請(qǐng)求,以取得其缺省控制管道所支持的最大數(shù)據(jù)包長(zhǎng)度。④主機(jī)向USB設(shè)備發(fā)出SetAddress請(qǐng)求,為其分配一個(gè)唯一的設(shè)備地址。⑤主機(jī)使用新地址向USB設(shè)備發(fā)出GetDescriptor(Configuration)請(qǐng)求,并讀取其全部配置信息。該過(guò)程需要花費(fèi)幾ms。⑥主機(jī)根據(jù)設(shè)備的配置信息(如供應(yīng)商、產(chǎn)品ID等),為其選擇一個(gè)合適的設(shè)備驅(qū)動(dòng)程序。通常需要由開(kāi)發(fā)人員自己編寫(xiě),有時(shí)也可以使用設(shè)備類(lèi)或供應(yīng)商提供的通用驅(qū)動(dòng)程序。⑦加載了USB設(shè)備驅(qū)動(dòng)程序后,主機(jī)發(fā)出SetCon-figuration請(qǐng)求為該設(shè)備選擇一個(gè)合適的配置。配置成功后,枚舉結(jié)束,USB設(shè)備可以和主機(jī)進(jìn)行數(shù)據(jù)傳輸了。3.1.2 USB模塊固件程序設(shè)計(jì)nRF24LU1+的USB模塊由2個(gè)SFR寄存器和XDATA寄存器組來(lái)控制。USB固件程序由2部分組成:USB模塊的初始化程序和中斷服務(wù)程序。(1)USB模塊的初始化程序關(guān)閉USB中斷,調(diào)用端點(diǎn)初始化函數(shù)USB_endpoint_init(void)設(shè)置USB各個(gè)端點(diǎn)的傳輸方式、緩存區(qū)大小、中斷事件產(chǎn)生條件,調(diào)用USB服務(wù)函數(shù)USB_setvice(void)為中斷服務(wù)程序中調(diào)用做準(zhǔn)備;打開(kāi)USB中斷,調(diào)用函數(shù)USB_device_connect(void)使得內(nèi)部的1.5 kΩ上拉電阻連到D+線上,實(shí)現(xiàn)全速USB設(shè)備的配置。這樣,就可以響應(yīng)主機(jī)的枚舉過(guò)程了。(2)USB模塊的中斷服務(wù)程序USB控制器提供2個(gè)中斷信號(hào)給nRF24LU1+,分別為喚醒中斷請(qǐng)求USBWU信號(hào)和USB中斷請(qǐng)求USBIRU信號(hào)。USB中斷請(qǐng)求USBIRQ為nRF24Lu1+的一個(gè)中斷,而USB中斷請(qǐng)求下又有許多中斷,包括:12個(gè)塊端點(diǎn)中斷、幀開(kāi)始中斷(sofir)、掛起中斷(suspir)、USB復(fù)位中斷(uresir)、建立令牌中斷(sutokir)、建立數(shù)據(jù)有效中斷(sudavir)。如果多個(gè)USB中斷同時(shí)發(fā)生,USB控制器將按優(yōu)先級(jí)次序響應(yīng)。激活的中斷在中斷向量寄存器ivec中得到,例如sofir中斷時(shí),ivec寄存器的內(nèi)容為0x04。USB中斷請(qǐng)求USBIRQ的部分程序代碼如下:3.2 nRF24LU1+的無(wú)線模塊程序設(shè)計(jì)nRF24LU1+使用具有內(nèi)嵌的協(xié)議引擎(EnhancedShockBurst)2.4 GHz GFSK的RF收發(fā)器。EnhancedShockBurst具有自動(dòng)包處理的特性,這使得實(shí)現(xiàn)可靠的雙向數(shù)據(jù)鏈接變得容易。數(shù)據(jù)包的傳輸是在兩個(gè)收發(fā)器之間進(jìn)行的,其中一個(gè)作為主接收器(PRX),另一個(gè)作為主發(fā)送器(PTX)。每個(gè)數(shù)據(jù)包的傳輸都是由PTX發(fā)送數(shù)據(jù)包開(kāi)始,而以PTX接收到PRX的應(yīng)答包結(jié)束。在自動(dòng)包傳輸處理工作時(shí),nRF24LU1+提供了自動(dòng)應(yīng)答和重發(fā)數(shù)據(jù)的硬件機(jī)制,重發(fā)數(shù)據(jù)包的最大次數(shù)和第一次傳輸?shù)较乱淮沃貍髦g的延時(shí)均可編程設(shè)置。nRF24LU1+發(fā)送器在Enhanced ShockBurst情況下的工作流程如圖4所示。通過(guò)把RECON寄存器的rfce位置高使發(fā)送器進(jìn)入PTX模式。如果在TX的FIFO緩存區(qū)有數(shù)據(jù)包,則無(wú)線收發(fā)器進(jìn)入TX模式并發(fā)送這個(gè)數(shù)據(jù)包。如果自動(dòng)重新傳輸使能,狀態(tài)機(jī)檢查NO_ACK標(biāo)志位是否被置位。如果被置位,RF收發(fā)器進(jìn)入RX模式準(zhǔn)備接收應(yīng)答包。如果收到的應(yīng)答包為空,則只有TX_DS(傳輸數(shù)據(jù)發(fā)出)中斷請(qǐng)求發(fā)生。如果應(yīng)答包中包含載荷數(shù)據(jù),則在收發(fā)器返回standby-I模式之前,TX_DS和RX_DR(接收數(shù)據(jù)準(zhǔn)備)中斷請(qǐng)求同時(shí)發(fā)生。如果延時(shí)時(shí)間到了而收發(fā)器還沒(méi)有收到應(yīng)答包,則收發(fā)器返回到standby-II模式。在自動(dòng)重新傳輸時(shí)間沒(méi)到之前,一直保持在standby-II模式。如果重傳次數(shù)沒(méi)有達(dá)到設(shè)定值,則RF收發(fā)器進(jìn)入TX模式并再一次重傳最后一次的數(shù)據(jù)包;否則,會(huì)發(fā)生最大重傳MAX_RT中斷請(qǐng)求,并返回到standby-I模式。如果RECON寄存器的rfce位為高且TX FIFO(先入先出數(shù)據(jù)緩存區(qū))為空,則RF收發(fā)器進(jìn)入standby-I模式。由于nRF24LU1+的無(wú)線收發(fā)模塊有強(qiáng)大數(shù)據(jù)硬件收發(fā)機(jī)制,編寫(xiě)程序比較簡(jiǎn)單,只需在初始化程序中對(duì)相關(guān)寄存器進(jìn)行設(shè)置就可進(jìn)入數(shù)據(jù)的收發(fā)。發(fā)送數(shù)據(jù)時(shí),把待發(fā)送的數(shù)據(jù)放入發(fā)送FIFO后,收發(fā)器會(huì)按照設(shè)置進(jìn)行發(fā)送,發(fā)送的情況通過(guò)中斷來(lái)通知MCU,MCU根據(jù)具體的中斷請(qǐng)求執(zhí)行相應(yīng)的中斷服務(wù)程序。接收數(shù)據(jù)時(shí),收發(fā)器會(huì)不斷地搜尋有效地址,當(dāng)找到一個(gè)有效地址時(shí),會(huì)處理剩下的數(shù)據(jù)包并通過(guò)CRC驗(yàn)證數(shù)據(jù)包。如果這個(gè)包是有效的,包內(nèi)的載荷數(shù)據(jù)將被放入RX FIFO中。數(shù)據(jù)包的格式如下:無(wú)線通信程序由兩部分組成:無(wú)線通信模塊的初始化程序和中斷服務(wù)程序。初始化程序?qū)ぷ髂J健鬏斔俾?、無(wú)線通信的工作波段頻率、RF輸出功率、地址寄存器、數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度、CRC的校驗(yàn)長(zhǎng)度和RF中斷寄存器等進(jìn)行相應(yīng)的設(shè)置。無(wú)線通信模塊對(duì)nRF24LU1+只占一個(gè)中斷源RFIRQ,具體是何種中斷可通過(guò)查詢STATUS寄存器中的TX_DS、RX_DR、MAX_RT位來(lái)獲得。中斷服務(wù)程序分為發(fā)送中斷服務(wù)程序、接收中斷服務(wù)程序和最大重傳中斷服務(wù)程序。結(jié) 語(yǔ)本文提出一種運(yùn)用無(wú)線收發(fā)芯片nRF24LU1+組建的無(wú)線網(wǎng)絡(luò)系統(tǒng)。此網(wǎng)絡(luò)系統(tǒng)充分利用USB和無(wú)線收發(fā)模塊各自的優(yōu)點(diǎn)實(shí)現(xiàn)了快速、便捷的數(shù)據(jù)傳輸,具有集成度高、體積小、保密性強(qiáng)、功耗低的特點(diǎn)。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于ZigBee的智能家居無(wú)線網(wǎng)絡(luò)系統(tǒng)
- zigbee是什么意思?《ZigBee無(wú)線網(wǎng)絡(luò)技術(shù)入門(mén)與實(shí)戰(zhàn)》電子教材下載 76次下載
- 如何構(gòu)建低成本無(wú)線網(wǎng)絡(luò)及nRF與Zigbee對(duì)比 0次下載
- STM32L152和SI4432的無(wú)線網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì) 47次下載
- WCDMA無(wú)線網(wǎng)絡(luò)工程_部分1 5次下載
- 移動(dòng)通信無(wú)線網(wǎng)絡(luò)設(shè)計(jì)_部分1 3次下載
- 寬帶無(wú)線網(wǎng)絡(luò)系統(tǒng)級(jí)仿真分析 46次下載
- ZigBee技術(shù)的智能家居無(wú)線網(wǎng)絡(luò)系統(tǒng) 1663次下載
- WCDMA系統(tǒng)無(wú)線網(wǎng)絡(luò)規(guī)劃
- 802.11無(wú)線網(wǎng)絡(luò)標(biāo)準(zhǔn)詳解
- GPRS系統(tǒng)中的無(wú)線網(wǎng)絡(luò)
- WCDMA無(wú)線網(wǎng)絡(luò)規(guī)劃
- WCDMA無(wú)線網(wǎng)絡(luò)規(guī)劃流程
- TD-SCDMA無(wú)線網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)與優(yōu)化
- TD-SCDMA無(wú)線網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)與優(yōu)化
- 無(wú)線網(wǎng)絡(luò)協(xié)議的基本架構(gòu)解析 4069次閱讀
- 基于S3C2410處理器實(shí)現(xiàn)3G無(wú)線網(wǎng)卡接入無(wú)線網(wǎng)絡(luò)功能的設(shè)計(jì) 2610次閱讀
- 無(wú)線網(wǎng)絡(luò)接口卡收發(fā)器的設(shè)計(jì)與實(shí)現(xiàn)方案 2699次閱讀
- 基于無(wú)線收發(fā)芯片和USB接口芯片實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)化系統(tǒng)的設(shè)計(jì) 2186次閱讀
- 一文知道無(wú)線ap和無(wú)線網(wǎng)絡(luò)的區(qū)別 7305次閱讀
- 詳談設(shè)計(jì)與實(shí)現(xiàn)的各種無(wú)線網(wǎng)絡(luò)類(lèi)型 3021次閱讀
- 基于無(wú)線網(wǎng)絡(luò)的RFID怎樣去定位 1606次閱讀
- 基于nRF24E1的傳感器網(wǎng)絡(luò)系統(tǒng)構(gòu)建及TinyOS程序設(shè)計(jì) 2200次閱讀
- 基于Zigbee技術(shù)的家用無(wú)線網(wǎng)絡(luò)是如何實(shí)現(xiàn)的 2146次閱讀
- 常見(jiàn)無(wú)線網(wǎng)絡(luò)故障怎樣去解決 2230次閱讀
- 邦納VT1無(wú)線振動(dòng)溫度傳感器在無(wú)線網(wǎng)絡(luò)中的應(yīng)用解析 1737次閱讀
- 盤(pán)點(diǎn)10大無(wú)線網(wǎng)絡(luò)連接技術(shù) 2.2w次閱讀
- 無(wú)線網(wǎng)絡(luò)的AP的放置位置設(shè)計(jì) 1.5w次閱讀
- 無(wú)線網(wǎng)絡(luò)AI戰(zhàn)略應(yīng)該包含的六大技術(shù)要素解析 5658次閱讀
- 城市安防系統(tǒng)無(wú)線網(wǎng)絡(luò)化的實(shí)現(xiàn)方案 978次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1489次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多