<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于USB接口的無(wú)線(xiàn)數據傳輸系統的設計

基于USB接口的無(wú)線(xiàn)數據傳輸系統的設計

作者: 時(shí)間:2012-03-01 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

通信是信息的交換平臺,在人們的工作和日常生活中起著(zhù)重要的作用。傳統的通信技術(shù)是通過(guò)數據線(xiàn)和串口/并口將設備連接在一起,這樣就存在布線(xiàn)困難和其它不方便的因素。而且傳統的RS232串口通迅和并口通訊都存在傳輸速度低、接口的連接過(guò)于復雜等不足。本文所設計的基于利用了的高傳輸速率、即插即用等優(yōu)點(diǎn),并結合了傳輸技術(shù),實(shí)現了計算機之間的通訊,解決了傳統通信技術(shù)帶給我們的不便。


系統硬件設計

基于的無(wú)線(xiàn)數據總體方案如圖1所示,該系統由發(fā)射和接收兩部分組成。其中,發(fā)射(接收)系統由單片機控制射頻發(fā)射模塊和單片機控制USB芯片兩部分組成。系統的工作過(guò)程為:主機將數據通過(guò)USB接口傳給單片機,數據通過(guò)單片機的SPI口再傳給射頻發(fā)射模塊,最后由射頻發(fā)射模塊把數據發(fā)射出去。射頻接收端接收到符合的數據包后,通知單片機讀取數據,單片機將數據通過(guò)USB接口送給主機,這樣就完成了一包數據從發(fā)射端到接收端的傳輸。


單片機控制nRF2401

nRF2401芯片工作在全球開(kāi)放的2.4~2.5GHz ISM免申請頻段共125個(gè)頻點(diǎn),可滿(mǎn)足多頻點(diǎn)和跳頻的需要;最高速率可達1Mbps,低功耗;發(fā)射功率和頻道參數可通過(guò)軟件設置完成。nRF2401內置地址解碼器、FIFO(先入先出棧區)、解調處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器,晶體振蕩器等部分構成。nRF2401有兩種模式:Direct Mode(直接模式)和ShockBurst模式。ShockBurst技術(shù)采用芯片內部FIFO,數據以較低的速率存在FIFO中,再以很高的速率(1Mbps)將數據發(fā)射出去,因此它的功耗和成本都很低。nRF2401上的編程采用三線(xiàn)接口方式,單片機通過(guò)DATA,CLK1,CS三個(gè)引腳對nRF2401芯片進(jìn)行初始化設置和數據的輸入輸出,單片機還可以通過(guò)PWR_UP,CE,CS三個(gè)引腳對其進(jìn)行控制,使nRF2401進(jìn)入不同的工作模式。nRF2401的DATA引腳是數據引腳,SCK引腳是時(shí)鐘引腳,在時(shí)鐘信號的配合下,單片機通過(guò)DATA引腳從nRF2401中讀取數據或者把數據寫(xiě)入nRF2401。單片機與nRF2401連接如圖2所示。

首先對nRF2401進(jìn)行參數配置,CS=1,CE=0,PWR_UP=1。bit[119:0]有120位需要配置。這里需要注意的是nRF2401一包數據的最大長(cháng)度是256位(32Byte),數據段的位數=256-地址段的位數-CRC的位數。因此,要想在一包數據中傳輸盡可能多的數據段的位數,那么應該減少地址段的位數和CRC的位數。接下來(lái)進(jìn)入突發(fā)模式:CS=0,CE=1,PWR_UP=1。通過(guò)模擬SPI口把數據和接收方的地址寫(xiě)入nRF2401。注意該地址是接收方的地址。最后將CE置低,無(wú)線(xiàn)傳輸芯片把數據發(fā)射出去。

單片機對FT245BM的控制

FT245BM芯片是由FTDI(Future Technology Devices Intl Ltd)公司推出的第二代USB芯片,它的功能是實(shí)現USB接口與并行I/O接口之間數據的雙向傳輸。它由3.3V穩壓器,USB收發(fā)器,鎖相環(huán),串行接口引擎(SIE),FIFO控制器,USB協(xié)議引擎,FIFO接收緩沖區,發(fā)送緩沖區,以及6M振蕩器,8倍頻時(shí)鐘倍頻器等組成。一方面,當外部設備有數據要傳給主機時(shí),數據通過(guò)8位并行I/O接口傳給USB芯片內部的數據緩沖區,FT245BM再將8位并行數據轉化為串行數據,通過(guò)USB接口把數據發(fā)送給主機;另一方面,當主機有數據要給外部設備時(shí),先將串行數據通過(guò)USB接口存儲在USB芯片內部緩存區中,FT245BM再將串行數據轉化為8位并行數據,然后通過(guò)8位I/O接口把數據傳給外部設備。單片機與FT245BM的連接如圖3所示。


單片機對FT245BM的控制是通過(guò)RXF#,RD#,TXE#,WR這四個(gè)讀寫(xiě)控制信號完成的。當RXF#為低時(shí),表示主機已經(jīng)將至少1字節的數據發(fā)送到USB的接收緩存區,單片機只需將RD#信號由低置高,就可以把D0-D7上的數據讀到單片機的寄存器中。當TXE#為低時(shí),表示單片機可以把1字節的數據寫(xiě)入USB,只需把WR信號由高變低,就可以將D0-D7上的數據寫(xiě)入USB的發(fā)送緩存區。注意,當TXE#為高時(shí)不可以將數據寫(xiě)入USB,這時(shí)USB的發(fā)送緩存區中正在處理上一次寫(xiě)入的數據或是發(fā)送緩存區已經(jīng)寫(xiě)滿(mǎn)。同樣,當RXF#為高時(shí),也不能從USB芯片中讀取數據。

電路設計可采用總線(xiàn)供電和自供電兩種供電方式,總線(xiàn)供電方式是指FT245BM設備的電源是通過(guò)計算機的USB接口供給的,電流要通過(guò)該口流入FT245BM設備。自供電方式是指FT245BM設備的電源由自己提供,而不通過(guò)主機供給。如果采用總線(xiàn)供電方式,在電源端采用一個(gè)磁珠,可以減少主機和設備的干擾。同時(shí),在電源端增加去耦和旁路電容,可以提高電路的抗干擾性。如果電路沒(méi)有外接一片EEPROM,FT245BM將采用默認的VID、PID、產(chǎn)品描述符和電源描述符。


軟件設計

發(fā)射端流程、接收端流程見(jiàn)圖4、圖5。

軟件設計

當 外設連接到主機上的USB接口時(shí),主機會(huì )檢測到新硬件,這時(shí)需安裝一個(gè)由FTDI公司免費提供的D2XX驅動(dòng)程序,在該驅動(dòng)程序中包含了一個(gè)動(dòng)態(tài)鏈接庫(DLL)。該DLL由四部分組成:Classic Interface Functions、EEPROM Interface、Extended API和FT-Win32 API。Classic Interface Functions中包括FT_Open、FT_Read、FT_Write、FT_Close、FT_SetTimeOuts等函數,其功能如表1所示。

調用FT_Open函數,打開(kāi)設備。如果函數的返回值與FT_OK的值相等 ,那么函數調用成功,即USB設備被打開(kāi)。調用FT_Read函數,從USB中讀取數據。在程序中應該設置一個(gè)字節型數組,用來(lái)存放從USB中讀取的1字節數據。調用之前需設置FT_SetTimeOuts函數的讀/寫(xiě)操作時(shí)間,如果實(shí)際的讀操作時(shí)間超過(guò)了所設置的時(shí)間,那么認為讀數失??;只有當規定讀入的字節數與實(shí)際讀入的字節數相等時(shí),讀操作 才算徹底完成。調用FT_Write函數,把數據寫(xiě)入USB中。在程序中應該設置一個(gè)字節型數組,用來(lái)存放要寫(xiě)入USB發(fā)送緩存器的數據,數組的長(cháng)度可以自行設定,但最好不要超過(guò)384個(gè)字節。只有當規定發(fā)送的字節數與實(shí)際發(fā)送的字節數相等時(shí),寫(xiě)數才算成功。調用FT_Close函數,關(guān)閉設備。如果函數的返回值與FT_OK的值相等 ,那么函數調用成功,即USB設備被關(guān)閉。


結論

本系統采用了nRF2401無(wú)線(xiàn)射頻芯片和USB接口芯片FT245BM,通過(guò)PIC單片機進(jìn)行控制,在主機端用VB編寫(xiě)了USB軟件,實(shí)現了兩臺計算機之間的無(wú)線(xiàn)數據傳輸,解決了傳統通信技術(shù)的不足,具有很好的應用前景。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>