基于USB的通用無線傳輸接口設(shè)計
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):609
    
    
    來源:單片機及嵌入式系統(tǒng)應(yīng)用 作者:武漢理工大學(xué) 任暉
     摘 要:介紹一種基于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)鍵詞:無線傳輸 lpc2210 usb nrf2401 cy7c63231
    
    引 言
    usb通用串行總線主要用于usb設(shè)備與主機之間的數(shù)據(jù)通信,特別為usb設(shè)備與usb主機之間大量的數(shù)據(jù)傳輸提供了高速、可靠的傳輸協(xié)議。射頻通信以其優(yōu)點也應(yīng)用在越來越多的場合。本文所設(shè)計的usb無線串行接口電路由nrf2401單片射頻收發(fā)器、lpc2210微控制器和usb接口芯片組成。本系統(tǒng)充分利用usb口數(shù)據(jù)傳輸功能,設(shè)備連接方便,系統(tǒng)可用于進(jìn)行無線串行數(shù)據(jù)雙向傳輸,在儀器儀表、計算機遙測遙控系統(tǒng)、家庭網(wǎng)絡(luò)系統(tǒng)等中得到了應(yīng)用。
    
    1 硬件設(shè)計
    整個硬件設(shè)計分為兩個部分:使用帶并行總線的usb接口器件pdiusbd12設(shè)計lpc2200的usb接口,其電路圖如圖1所示;使用cypress公司的usb外圍控制芯片cy7c63231設(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ù)地址為0x82000000,命令地址為ox82000001。rst_usb、susp為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 v。nrf2401是單片射頻收發(fā)芯片,有四種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機模式。所有配置工作,工作模式選擇和收發(fā)數(shù)據(jù)都是通過cy7c63231的po引腳控制完成的。用電壓調(diào)整芯片lp2980im5—3.3產(chǎn)生nrf2401的工作電壓(3.3 v),同時sn74lvc4245產(chǎn)生控制口3.3 v和5 v的電平轉(zhuǎn)換,使工作在不同電壓的這兩種芯片能正常的相連。
    
    2 軟件設(shè)計
    2.1 pdiusbdl2驅(qū)動軟件構(gòu)架
    為了使驅(qū)動軟件可移植性強、易維護(hù),采用分層的方法編寫pdiusbdl2的驅(qū)動程序,圖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é)。部分源代碼如下:
    #define rw_nums 1024 //任務(wù)收發(fā)數(shù)據(jù)字節(jié)數(shù)
    void taskrecl(void*pdata)
    {#if os_crltical_method==3
    //為cpu狀態(tài)寄存器分配存儲空間
    os_cpu_sr cpu_sr;
    #endif
    int8u buff[rw_nums]; //接收及發(fā)送緩沖區(qū)
    int8u ack=0x01; //應(yīng)答主機數(shù)值
    int8u err; //函數(shù)返回值
    pdata=pdata; //避免編譯器警告
    for(;;){
    ossempend(taskreel_sere,0,&-err);//等待ta
    
    
    來源:單片機及嵌入式系統(tǒng)應(yīng)用 作者:武漢理工大學(xué) 任暉
     摘 要:介紹一種基于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)鍵詞:無線傳輸 lpc2210 usb nrf2401 cy7c63231
    
    引 言
    usb通用串行總線主要用于usb設(shè)備與主機之間的數(shù)據(jù)通信,特別為usb設(shè)備與usb主機之間大量的數(shù)據(jù)傳輸提供了高速、可靠的傳輸協(xié)議。射頻通信以其優(yōu)點也應(yīng)用在越來越多的場合。本文所設(shè)計的usb無線串行接口電路由nrf2401單片射頻收發(fā)器、lpc2210微控制器和usb接口芯片組成。本系統(tǒng)充分利用usb口數(shù)據(jù)傳輸功能,設(shè)備連接方便,系統(tǒng)可用于進(jìn)行無線串行數(shù)據(jù)雙向傳輸,在儀器儀表、計算機遙測遙控系統(tǒng)、家庭網(wǎng)絡(luò)系統(tǒng)等中得到了應(yīng)用。
    
    1 硬件設(shè)計
    整個硬件設(shè)計分為兩個部分:使用帶并行總線的usb接口器件pdiusbd12設(shè)計lpc2200的usb接口,其電路圖如圖1所示;使用cypress公司的usb外圍控制芯片cy7c63231設(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ù)地址為0x82000000,命令地址為ox82000001。rst_usb、susp為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 v。nrf2401是單片射頻收發(fā)芯片,有四種工作模式:收發(fā)模式、配置模式、空閑模式和關(guān)機模式。所有配置工作,工作模式選擇和收發(fā)數(shù)據(jù)都是通過cy7c63231的po引腳控制完成的。用電壓調(diào)整芯片lp2980im5—3.3產(chǎn)生nrf2401的工作電壓(3.3 v),同時sn74lvc4245產(chǎn)生控制口3.3 v和5 v的電平轉(zhuǎn)換,使工作在不同電壓的這兩種芯片能正常的相連。
    
    2 軟件設(shè)計
    2.1 pdiusbdl2驅(qū)動軟件構(gòu)架
    為了使驅(qū)動軟件可移植性強、易維護(hù),采用分層的方法編寫pdiusbdl2的驅(qū)動程序,圖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é)。部分源代碼如下:
    #define rw_nums 1024 //任務(wù)收發(fā)數(shù)據(jù)字節(jié)數(shù)
    void taskrecl(void*pdata)
    {#if os_crltical_method==3
    //為cpu狀態(tài)寄存器分配存儲空間
    os_cpu_sr cpu_sr;
    #endif
    int8u buff[rw_nums]; //接收及發(fā)送緩沖區(qū)
    int8u ack=0x01; //應(yīng)答主機數(shù)值
    int8u err; //函數(shù)返回值
    pdata=pdata; //避免編譯器警告
    for(;;){
    ossempend(taskreel_sere,0,&-err);//等待ta
熱門點擊
- 通用串行總線(USB)原理及接口設(shè)計
- 零延時RS一485接口電路的設(shè)計與應(yīng)用
- USB-GPIB控制器的硬件電路設(shè)計
- 32段LCD驅(qū)動器AY0438及其與單片機的
- DVB-C視頻傳輸接口ASI的實現(xiàn)
- 數(shù)字傳感器MPXY8020A與MSP430的
- 利用FPGA平臺解決接口的總線速度瓶頸
- 藍(lán)牙模塊和OMAP5910的接口技術(shù)
- 智能儀表的CAN接口設(shè)計
- 基于12C總線接口的智能溫度傳感器TMPl0
推薦技術(shù)資料
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究