<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è) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 由FWl22-M構成的短距離無(wú)線(xiàn)數據通信系統

由FWl22-M構成的短距離無(wú)線(xiàn)數據通信系統

作者: 時(shí)間:2007-09-21 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要 利用AT89LV52單片機作控制器,實(shí)現基于RFWaves公司的射頻芯片R;分析射頻芯片R及其與單片機的接口芯片RFW-D100的特點(diǎn);給出的硬件原理框圖廈軟件流程圖。對應用于該裝置的數據傳輸協(xié)議CSMA進(jìn)行分析,并且在對固件的編程配置中加以實(shí)現,
關(guān)鍵詞 R RFW-D100 AT89LV52 CSMA協(xié)議

目前,短程射頻通信技術(shù)是一種熱門(mén)技術(shù),已廣泛應用于實(shí)際中。主要有無(wú)線(xiàn)局域網(wǎng)(WLAN)、個(gè)人區域網(wǎng)絡(luò )(PAN)及無(wú)線(xiàn)消費類(lèi)產(chǎn)品(如中低速數據傳輸應用,有效范圍在30m以?xún)?。該通信技術(shù)的標準有ⅢEE802.11a、Hiperlan2、藍牙(TEEE802.15,1)、HomeRF及IEEE802.11b(WI-FI)等。支持這些標準的器件一般功耗都比較高,結構復雜,價(jià)格較高,因而不適合低端產(chǎn)品。RFWaves公司針對現有市場(chǎng)發(fā)展推出的面向低端的用于無(wú)線(xiàn)通信的射頻通信芯片組RFWl22-M,符合美國聯(lián)邦通信委員會(huì )(FCC)的技術(shù)規范。

本系統利用射頻芯片RFWl22-M及其與MCU的接口芯片RFW-D100,在單片機AT89LV52的控制下,實(shí)現了短距離的無(wú)線(xiàn)。

1 射頻芯片RFWl22-M及其接口芯片RFW-D100
RFWl22-M無(wú)線(xiàn)收發(fā)芯片是一種半雙工、使用直接序列擴頻(DSSS)技術(shù)的無(wú)線(xiàn)收發(fā)兩用集成電路,工作中心頻率為2.44 GHz(ISM頻段),采用ASK調制方式,工作電壓為2.4~3.6V。在空閑狀態(tài)下,幾乎不消耗功率(O.1μA@VCC=3V)。RFW122-M可以外接一個(gè)200Ω的差分阻抗滅線(xiàn)(印制版天線(xiàn))或帶有匹配電路的其他天線(xiàn),在誤碼率為lO-3的條件下,接收靈敏度為-77dBm。該模塊有3根數據控制線(xiàn),且其數據I/O口是一個(gè)串行的數字接口。它的喚醒時(shí)間為20μs,同步時(shí)間是1.2μs。最高數據傳輸速率為1 Mbps,此時(shí)工作電流為33mA。

為了降低MCU實(shí)時(shí)處理MAC協(xié)議的要求,RFWl22-M芯片組提供了RFWl22-M與MCU之間的接口芯片RFW-D100。該芯片在MCU和RFWl22-M之間提供了一個(gè)并行接口;同時(shí)提供了對CSMA協(xié)議的支持。RFW-D100采用了兩種技術(shù)來(lái)獲得比較好的載波偵聽(tīng)的能力:一種是RSSI(射頻信號強度檢測),能檢測到任何強度的無(wú)線(xiàn)傳輸,避免沖突;另一種是使用RF-Wayes網(wǎng)絡(luò )的載波偵聽(tīng)算法。采用這種技術(shù)可以避免與本網(wǎng)絡(luò )內的或其他網(wǎng)絡(luò )的RFWaves站點(diǎn)發(fā)生沖突。


(1)RSSI(射頻信號強度檢測)
RSSI機制用來(lái)比較某個(gè)非RFWaves站點(diǎn)傳輸的功率超過(guò)了一個(gè)確定的門(mén)限(用一個(gè)外部的電阻來(lái)設置這個(gè)數值,RFW-D100給出了該門(mén)限的參考電壓和計算公式),比較的結果放在寄存器SSR[7]-COMP_IN中。當MCU內有數據傳輸時(shí),就去讀取該寄存器,根據寄存器的狀態(tài)確定信道是否處于被占用的狀態(tài),從而確定數據是否被傳輸。

(2)內部/外部RFWayes網(wǎng)絡(luò )的載波監聽(tīng)的算法
該機制主要用來(lái)監測相似的RFWaves網(wǎng)絡(luò )。RFWD100利用載波偵聽(tīng)算法監聽(tīng)足否有外部相似的RFWaves網(wǎng)絡(luò )正在傳輸數據。如果外部的RFWaves網(wǎng)絡(luò )正在進(jìn)行數據的傳輸,則內部的標志位將被置1,表示信道處于被占用的狀態(tài);如果信道由被占用的狀態(tài)轉為空閑的狀態(tài),將產(chǎn)生一個(gè)中斷來(lái)通知MCU,此時(shí)MCU可以進(jìn)行數據的傳輸。

2 硬件設計
系統的微處理器采用Atmel公司的AT89LV52。它是一款基于51系列的低功耗微處理器,支持匯編和C語(yǔ)言,開(kāi)發(fā)環(huán)境采用Keil公司Keil C51(51單片機的匯編和C語(yǔ)言的開(kāi)發(fā)工具);支持匯編、C語(yǔ)言以及混合編程,同時(shí)具備功能強大的軟件仿真和硬件仿真。系統包含兩個(gè)MCU與RFWl22-M及RFW-D100的連接關(guān)系如圖2所示。

3 通信協(xié)議及軟件流程
系統所采用的數據鏈路層的協(xié)議是載波偵聽(tīng)多路訪(fǎng)問(wèn)協(xié)議(CSMA)。局域網(wǎng)一般采用共同介質(zhì)的方法,為此當多個(gè)站點(diǎn)要同時(shí)訪(fǎng)問(wèn)介質(zhì)時(shí),就要進(jìn)行控制。CSMA就是常用的一種方式。當網(wǎng)中站臺要發(fā)送數據時(shí),先檢測是否有別的站臺占用了傳輸媒體。具體做法是:先進(jìn)行載波偵聽(tīng),如果發(fā)現介質(zhì)(媒體)空閑,則立刻發(fā)送數據;否則,就根據不同的策略退避重發(fā)。

由于該系統工作在2.44GHz的ISM頻段,該頻段存在較大干擾,所以設計數據包結構時(shí)最重要的原則是,以盡量短的時(shí)間占用信道.以降低潛在沖突的概率。在傳輸中,包重疊的概率是與每個(gè)發(fā)送節點(diǎn)占用共享信道的時(shí)間成正比的。因此,若以高比特率傳輸數據包,會(huì )提高數據半雙工的通信終端,來(lái)自高層的數據由串口發(fā)往MCU,MCU再將數據發(fā)往RFW-D100。RFW-D100將數據打包以后送往RFWl22-M進(jìn)行調制,再通過(guò)天線(xiàn)發(fā)送出去。系統框圖如圖1所示。

被正確接收的概率。RFW-DlOO最高的空中數據傳輸速率為1Mbps,它可以被配置為各種傳輸速率。在RFW-D100的數據手冊中,降低數據速率并不能降低誤碼率,因此為了縮短數據包在空中傳輸的時(shí)間,降低數據碰撞的概率,在協(xié)議中建議以最高的速率傳輸數據。若把數據分成小包,則每個(gè)小包被正確接收的概率又會(huì )增加。這樣,當干擾出現時(shí),只有一小部分會(huì )丟失,而且協(xié)議有能力來(lái)定位在特定包中損壞的數據。因此可以得出這樣的結論:以高的數據速率發(fā)送短的數據包,將增強協(xié)議處理?yè)p壞數據的能力。

3.1 數據包格式
數據包格式如圖3所示。

①PREAMBLE:RFW-D100發(fā)送PREAMBLE的目的是使接收機和發(fā)送機同步。20位長(cháng),高4位為1111,其他16位可以配置。發(fā)送順序為從高到低。
②NET_FIRST:1字節,網(wǎng)絡(luò )地址字節。
③NET_SEC:1字節,網(wǎng)絡(luò )地址字節。
④DST_ID:1字節,數據包所發(fā)往的目的節點(diǎn)地址。
⑤SRC_ID:1字節,發(fā)數據包的源站地址。
⑥SEQUENCE:l字節。這個(gè)段包括兩個(gè)值:高4位表示數據序號,低4位表示數據包的類(lèi)型。低4位代表的含義:0000b為握手數據包,0001b為握手應答包,0010b為數據包,0011h為數據包的應答包,0100b為拆鏈包,OlOlb為拆鏈的響應包。
⑦SIZE:l字節。這個(gè)段說(shuō)明包的大小。當設定數據包為固定大小時(shí),SIZE沒(méi)有意義。
⑧PAYLOAD:1字節。來(lái)自上層軟件層的數據。
⑨CRC:1字節。RFW-D100在發(fā)送端給每個(gè)包增加CRC信息,使得接收機對接收的數據進(jìn)行檢測。

在本系統的協(xié)議設計過(guò)程中,采用小數據包的傳輸模式,從串口中收到的數據個(gè)數(以字節為單位)等于10時(shí),將這些數據打包發(fā)送出去。如果收到的數據個(gè)數小于10,并且串口數據的發(fā)送已經(jīng)結束,則系統也將這些數據打包并發(fā)送出去。

3.2 系統狀態(tài)轉移圖
系統的狀態(tài)轉移如圖4所示,包含4個(gè)狀態(tài),分別是空閑態(tài)、握手態(tài)、傳輸態(tài)和接收態(tài)。

空閑態(tài):如果沒(méi)有串口中斷或外部的握手信號中斷,則系統將一直處于空閑狀態(tài)。
握手態(tài):如果串口中斷發(fā)生,則表明有上層的數據包需要傳輸,系統進(jìn)入握手的狀態(tài)。
傳輸態(tài):系統把從串口收到的數據通過(guò)無(wú)線(xiàn)信道發(fā)送出去。
接收態(tài):系統處理接收到的數據包,發(fā)往串口,并對從串口到來(lái)的數據包做丟棄處理。

3.3 4 個(gè)狀態(tài)的處理流程
系統4個(gè)狀態(tài)的處理流程如圖5~圖8所示。

系統接收串口數據的緩沖池的大小為15字節。
圖6中各個(gè)標志位的意義如下:

New_flag 串口中有新數據到來(lái)(串口中有數據到來(lái),將New_flag置1,在串口中斷中設置此標志位)。
Checkact_suc_flag收到握手應答包的標志。收到握手應答數據包后將此標志位置1。
Tx_size系統接收到的來(lái)自串口的字節個(gè)數。
Tx_end_flag 串口中的數據發(fā)送完畢。由定時(shí)器1控制,定時(shí)一段時(shí)間。如果在這段時(shí)間內沒(méi)有新的數據到來(lái),則認為串口數據的這次發(fā)送完牛。每次收到新的串口數據時(shí)重置定時(shí)器,定時(shí)的時(shí)間大于1字節數據傳輸的時(shí)間。
Checkact_send_flag由定時(shí)器 0控制,在定時(shí)的時(shí)間內如果沒(méi)有收到握手應答包,則定時(shí)器0溢出,Check-act_send_flag被置1,重發(fā)握手包。
圖7中各個(gè)標志位的意義如下:
New_flag串口中有新的數據到來(lái)。若串口有數據到來(lái),則將New_flag置1,在串口中斷中設置此標志位。
Pk_sended_nack一個(gè)數據包已經(jīng)發(fā)送出去但還沒(méi)有收到確認包時(shí)將此位置1,為0時(shí)表示系統可以發(fā)送數據包。
Ack_flag為1表示發(fā)出的數據包收到了確認。
Tx_end_flag從串口發(fā)來(lái)的數據已經(jīng)停止了發(fā)送。
Exceed_timing_flag在發(fā)送完每一個(gè)數據包的同時(shí)打開(kāi)定時(shí)器0,從定時(shí)器0打開(kāi)到定時(shí)器0溢出的這段時(shí)間內,如果沒(méi)有收到確認包,則認為數據包發(fā)送失敗,將Exceed_timing_flag置l;如果在這段時(shí)間內收到確認的數據包,則將定時(shí)器O關(guān)閉。
Tx_size系統接收到的來(lái)自串口的字節個(gè)數。
圖8中各個(gè)標志位的意義如下:
Lock_flag本節點(diǎn)收到了其他節點(diǎn)發(fā)來(lái)的數據包。
Tx_t0_s_flag在接收狀態(tài).如果MCU中的緩沖區內仍有數據,且Tx_to_s_flag=l,則可向串口發(fā)送1字節數據。當MCU的TI中斷發(fā)生時(shí),將此標志位置1。

4 接口芯片RFW_D100的固件編程
對RFW_D100進(jìn)行固件的編程是通過(guò)對RFW_D100內的特殊功能寄存器的編程實(shí)現的。



結語(yǔ)
本設計以射頻芯片RFWl22-M及其接口芯片RFE-D100為核心,采用單片機AT89LV52作微處理器,實(shí)現了一個(gè)短距離無(wú)線(xiàn)數據傳輸系統。今后的工作是完善和改進(jìn)該協(xié)議,進(jìn)一步提高無(wú)線(xiàn)數據的傳輸效率。



評論


相關(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>