基于usb的通用無線傳輸接口設(shè)計

基于usb的通用無線傳輸接口設(shè)計

ID:8485609

大?。?71.50 KB

頁數(shù):8頁

時間:2018-03-29

基于usb的通用無線傳輸接口設(shè)計_第1頁
基于usb的通用無線傳輸接口設(shè)計_第2頁
基于usb的通用無線傳輸接口設(shè)計_第3頁
基于usb的通用無線傳輸接口設(shè)計_第4頁
基于usb的通用無線傳輸接口設(shè)計_第5頁
資源描述:

《基于usb的通用無線傳輸接口設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、基于USB的通用無線傳輸接口設(shè)計摘要:介紹一種基于Philips公司的32位ARM7T[)MI—s微處理器LPC2210的USB接口設(shè)計,并使用Nordic公司生產(chǎn)的單片射頻收發(fā)芯片nRF2401設(shè)計USB接口的無線通信模塊。闡述該系統(tǒng)的工作原理、硬件構(gòu)成及軟件設(shè)計方案。實現(xiàn)了基于USB接口的無線串行通信。關(guān)鍵詞:無線傳輸LPC2210USBnRF2401CY7C63231引言USB通用串行總線主要用于USB設(shè)備與主機(jī)之間的數(shù)據(jù)通信,特別為USB設(shè)備與USB主機(jī)之間大量的數(shù)據(jù)傳輸提供了高速、可靠的

2、傳輸協(xié)議。射頻通信以其優(yōu)點也應(yīng)用在越來越多的場合。本文所設(shè)計的USB無線串行接口電路由nRF2401單片射頻收發(fā)器、LPC2210微控制器和USB接口芯片組成。本系統(tǒng)充分利用USB口數(shù)據(jù)傳輸功能,設(shè)備連接方便,系統(tǒng)可用于進(jìn)行無線串行數(shù)據(jù)雙向傳輸,在儀器儀表、計算機(jī)遙測遙控系統(tǒng)、家庭網(wǎng)絡(luò)系統(tǒng)等中得到了應(yīng)用。1硬件設(shè)計整個硬件設(shè)計分為兩個部分:使用帶并行總線的USB接口器件PDIUSBD12設(shè)計LPC2200的USB接口,其電路圖如圖1所示;使用Cypress公司的USB外圍控制芯片CY7C63231

3、設(shè)計射頻芯片nRF2401的USB接口,其電路圖如圖2所示。兩個部分通過USB口相接,整個硬件設(shè)計系統(tǒng)框圖如圖3所示。圖1中,USB接口芯片采用的是Philips公司的并行USB接口芯片PDlUSBD12,符合通用串行總線(USB)1.1版本規(guī)范。這里以LPC2200微控制器與PDIUSBI)12構(gòu)成USB設(shè)備,PDIUSBD)12連接到LPC2200的硬件原理圖如圖1所示。PDIUSBD12使用LPC2200外部存儲控制的Bank2部分,數(shù)據(jù)地址為0x,命令地址為Ox。RST_USB、SUSP為

4、LPC2200的輸出引腳,PDIUSBD)12中斷信號為中斷輸入信號,且為外部中斷O。C1、C2和X1為PDIUSBD)12提供工作所需的時鐘輸入。發(fā)光二極管GoodLink在正常通信時閃爍。PDIUSBD12的AD0連接到LPC2200的A0,當(dāng)LPC2200在A0引腳輸出l時,表示輸出到PDIUSBD12數(shù)據(jù)總線DO~D7上的數(shù)據(jù)為命令字;當(dāng)A0引腳輸出0時,表示輸出到PDIUSBD)12數(shù)據(jù)總線DO~D7的數(shù)據(jù)為數(shù)據(jù)字。圖2中,CY7C63231是8位RISC微處理器,特別適用在USB嵌入式

5、方面,工作電壓為5V。nRF2401是單片射頻收發(fā)芯片,有四種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式。所有配置工作,工作模式選擇和收發(fā)數(shù)據(jù)都是通過CY7C63231的PO引腳控制完成的。用電壓調(diào)整芯片LP2980IM5—3.3產(chǎn)生nRF2401的工作電壓(3.3V),同時SN74LVC4245產(chǎn)生控制口3.3V和5V的電平轉(zhuǎn)換,使工作在不同電壓的這兩種芯片能正常的相連。2軟件設(shè)計2.1PDIUSBDl2驅(qū)動軟件構(gòu)架為了使驅(qū)動軟件可移植性強(qiáng)、易維護(hù),采用分層的方法編寫PDIUSBDl2的驅(qū)

6、動程序,圖4為USB驅(qū)動程序軟件分層結(jié)構(gòu)圖。USB驅(qū)動程序軟件包提供給用戶6個API函數(shù),這6個函數(shù)都在USB應(yīng)用層中定義,功能描述如表1所列。下面以接收和發(fā)送數(shù)據(jù)任務(wù)為例,演示了一個任務(wù)從端點2發(fā)送1024個字節(jié)。部分源代碼如下:#defineRW_NUMS1024//任務(wù)收發(fā)數(shù)據(jù)字節(jié)數(shù)voidTaskRecl(void*pdata){#ifOS_CRlTICAL_METHOD==3//為CPU狀態(tài)寄存器分配存儲空間OS_CPU_SRcpu_sr;#endifINT8UBuff[RW_NUMS]

7、;//接收及發(fā)送緩沖區(qū)INT8Uack=0x01;//應(yīng)答主機(jī)數(shù)值INT8Uerr;//函數(shù)返回值pdata=pdata;//避免編譯器警告for(;;){OSSemPend(TaskReel_Sere,0,&-err);//等待TaskStart的命令err=WritePortl(1,&ack,200);//應(yīng)答USB主機(jī)if(err==USB_NO_ERR){//應(yīng)答正確err=ReadPort2(RW_NUMS,Buff,200);//接收數(shù)據(jù)OSTimeDly(1);//延時一個時鐘周期i

8、f(err==USB_NO_ERR){//接收正確Buff[0]=OSPrioCur;//標(biāo)識該任務(wù)err=WritePort2(RW_NUMS,Buff,200);//發(fā)送數(shù)據(jù)}}}}2.2CY軟件設(shè)計USB外圍控制器CY7C63231控制nRF2401射頻芯片,同時與LPC2210微控制器的USB口相連,實現(xiàn)無線數(shù)據(jù)的接收和發(fā)送。下面以接收無線數(shù)據(jù)為例。主程序UsbTaskLoop,它是一個無限循環(huán),僅僅在中斷的時候跳出。程序檢測nRF2401的DRl和DR2引腳,當(dāng)DRl上的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。