国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)

2019-11-05 02:57:29
字體:
供稿:網(wǎng)友

    作者:電子科技大學(xué) 王旭 滿亞勤 朱立東 吳詩其

    利用AT89LV52單片機作控制器,實現(xiàn)基于RFWaves公司的射頻芯片RFW122-M的短距離無線數(shù)據(jù)通信系統(tǒng);分析射頻芯片RFW122-M及其與單片機的接口芯片RFW-D100的特點;給出系統(tǒng)的硬件原理框圖及軟件流程圖。

    對應(yīng)用于該裝置的無線數(shù)據(jù)傳輸協(xié)議CSMA進行分析,并且在對固件的編程配置中加以實現(xiàn)。

    要害詞無線數(shù)據(jù)通信系統(tǒng)RFW122-MRFW-D100 AT89LV52 CSMA協(xié)議

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

    本系統(tǒng)利用射頻芯片RFW122-M及其與MCU的接口芯片RFW-D100,在單片機AT89LV52的控制下,實現(xiàn)了短距離的無線數(shù)據(jù)通信。

    1  射頻芯片RFW122-M及其接口芯片RFW-D100

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

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

    (1)RSSI(射頻信號強度檢測)

    RSSI機制用來比較某個非RFWaves站點傳輸?shù)墓β食^了一個確定的門限(用一個外部的電阻來設(shè)置這個數(shù)值,RFW-D100給出了該門限的參考電壓和計算公式),比較的結(jié)果放在寄存器SSR[7]-COMP_IN中。當MCU內(nèi)有數(shù)據(jù)傳輸時,就去讀取該寄存器,根據(jù)寄存器的狀態(tài)確定信道是否處于被占用的狀態(tài),從而確定數(shù)據(jù)是否被傳輸。

    (2)內(nèi)部/外部RFWaves網(wǎng)絡(luò)的載波監(jiān)聽的算法

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

    2  硬件設(shè)計

    系統(tǒng)的微處理器采用Atmel公司的AT89LV52。它是一款基于51系列的低功耗微處理器,支持匯編和C語言,開發(fā)環(huán)境采用Keil公司KeilC51(51單片機的匯編和C語言的開發(fā)工具);支持匯編、C語言以及混合編程,同時具備功能強大的軟件仿真和硬件仿真。系統(tǒng)包含兩個半雙工的通信終端,來自高層的數(shù)據(jù)由串口發(fā)往MCU,MCU再將數(shù)據(jù)發(fā)往RFW-D100。RFW-D100將數(shù)據(jù)打包以后送往RFW122-M進行調(diào)制,再通過天線發(fā)送出去。系統(tǒng)框圖如圖1所示。

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖一)

    圖1  系統(tǒng)框圖

    MCU與RFW122-M及RFW-D100的連接關(guān)系如圖2所示。

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖二)

    圖2  MCU與RFW122-M及RFW-D100的連接關(guān)系


    3  通信協(xié)議及軟件流程

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

    由于該系統(tǒng)工作在2.44GHz的ISM頻段,該頻段存在較大干擾,所以設(shè)計數(shù)據(jù)包結(jié)構(gòu)時最重要的原則是,以盡量短的時間占用信道,以降低潛在沖突的概率。在傳輸中,包重疊的概率是與每個發(fā)送節(jié)點占用共享信道的時間成正比的。因此,若以高比特率傳輸數(shù)據(jù)包,會提高數(shù)據(jù)被正確接收的概率。RFW-D100最高的空中數(shù)據(jù)傳輸速率為1Mbps,它可以被配置為各種傳輸速率。在RFW-D100的數(shù)據(jù)手冊中,降低數(shù)據(jù)速率并不能降低誤碼率,因此為了縮短數(shù)據(jù)包在空中傳輸?shù)臅r間,降低數(shù)據(jù)碰撞的概率,在協(xié)議中建議以最高的速率傳輸數(shù)據(jù)。若把數(shù)據(jù)分成小包,則每個小包被正確接收的概率又會增加。這樣,當干擾出現(xiàn)時,只有一小部分會丟失,而且協(xié)議有能力來定位在特定包中損壞的數(shù)據(jù)。因此可以得出這樣的結(jié)論:以高的數(shù)據(jù)速率發(fā)送短的數(shù)據(jù)包,將增強協(xié)議處理損壞數(shù)據(jù)的能力。

    3.1數(shù)據(jù)包格式

    數(shù)據(jù)包格式如圖3所示。

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖三)

    圖3  數(shù)據(jù)包格式

    ①PREAMBLE:RFWD100發(fā)送PREAMBLE的目的是使接收機和發(fā)送機同步。20 位長,高4位為1111,其他16位可以配置。發(fā)送順序為從高到低。

    ②NET_FIRST:1字節(jié),網(wǎng)絡(luò)地址字節(jié)。

    ③NET_SEC:1字節(jié),網(wǎng)絡(luò)地址字節(jié)。

    ④DST_ID:1字節(jié),數(shù)據(jù)包所發(fā)往的目的節(jié)點地址。

    ⑤SRC_ID:1字節(jié),發(fā)數(shù)據(jù)包的源站地址。

    ⑥SEQUENCE:1字節(jié)。這個段包括兩個值:高4位表示數(shù)據(jù)序號,低4位表示數(shù)據(jù)包的類型。低4位代表的含義:0000b為握手數(shù)據(jù)包,0001b為握手應(yīng)答包,0010b為數(shù)據(jù)包,0011b為數(shù)據(jù)包的應(yīng)答包,0100b為拆鏈包,0101b為拆鏈的響應(yīng)包。

    ⑦SIZE:1字節(jié)。這個段說明包的大小。當設(shè)定數(shù)據(jù)包為固定大小時,SIZE沒有意義。

    ⑧PAYLOAD:1字節(jié)。來自上層軟件層的數(shù)據(jù)。

    ⑨CRC:1字節(jié)。RFWD100在發(fā)送端給每個包增加CRC信息,使得接收機對接收的數(shù)據(jù)進行檢測。

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

    3.2系統(tǒng)狀態(tài)轉(zhuǎn)移圖

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

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖四)      

    圖4  系統(tǒng)狀態(tài)轉(zhuǎn)移圖

    空閑態(tài):假如沒有串口中斷或外部的握手信號中斷,則系統(tǒng)將一直處于空閑狀態(tài)。

    握手態(tài):假如串口中斷發(fā)生,則表明有上層的數(shù)據(jù)包需要傳輸,系統(tǒng)進入握手的狀態(tài)。

    傳輸態(tài):系統(tǒng)把從串口收到的數(shù)據(jù)通過無線信道發(fā)送出去。

    接收態(tài):系統(tǒng)處理接收到的數(shù)據(jù)包,發(fā)往串口,并對從串口到來的數(shù)據(jù)包做丟棄處理。

    3.34個狀態(tài)的處理流程

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

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖五)        

    圖5  空閑態(tài)流程

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖六)

    圖6  握手態(tài)流程

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖七)

    圖7  發(fā)送態(tài)流程

由RFW122-M構(gòu)成的短距離無線數(shù)據(jù)通信系統(tǒng)(圖八)

    圖8  接收態(tài)流程


    系統(tǒng)接收串口數(shù)據(jù)的緩沖池的大小為15字節(jié)。

    圖6中各個標志位的意義如下:

    New_flag串口中有新數(shù)據(jù)到來(串口中有數(shù)據(jù)到來,將New_flag置1,在串口中斷中設(shè)置此標志位)。

    Checkact_sUC_flag收到握手應(yīng)答包的標志。收到握手應(yīng)答數(shù)據(jù)包后將此標志位置1。

    Tx_size系統(tǒng)接收到的來自串口的字節(jié)個數(shù)。

    Tx_end_flag串口中的數(shù)據(jù)發(fā)送完畢。由定時器1控制,定時一段時間。假如在這段時間內(nèi)沒有新的數(shù)據(jù)到來,則認為串口數(shù)據(jù)的這次發(fā)送完畢。每次收到新的串口數(shù)據(jù)時重置定時器,定時的時間大于1字節(jié)數(shù)據(jù)傳輸?shù)臅r間。

    Checkact_send_flag由定時器0控制,在定時的時間內(nèi)假如沒有收到握手應(yīng)答包,則定時器0溢出,Checkact_send_flag被置1,重發(fā)握手包。

    圖7中各個標志位的意義如下:

    New_flag串口中有新的數(shù)據(jù)到來。若串口有數(shù)據(jù)到來,則將New_flag置1,在串口中斷中設(shè)置此標志位。

    Pk_sended_nack一個數(shù)據(jù)包已經(jīng)發(fā)送出去但還沒有收到確認包時將此位置1,為0時表示系統(tǒng)可以發(fā)送數(shù)據(jù)包。

    Ack_flag為1表示發(fā)出的數(shù)據(jù)包收到了確認。

    Tx_end_flag從串口發(fā)來的數(shù)據(jù)已經(jīng)停止了發(fā)送。

    Exceed_timing_flag在發(fā)送完每一個數(shù)據(jù)包的同時打開定時器0,從定時器0打開到定時器0溢出的這段時間內(nèi),假如沒有收到確認包,則認為數(shù)據(jù)包發(fā)送失敗,將Exceed_timing_flag置1;假如在這段時間內(nèi)收到確認的數(shù)據(jù)包,則將定時器0關(guān)閉。

    Tx_size系統(tǒng)接收到的來自串口的字節(jié)個數(shù)。

    圖8中各個標志位的意義如下:

    Lock_flag本節(jié)點收到了其他節(jié)點發(fā)來的數(shù)據(jù)包。

    Tx_to_s_flag在接收狀態(tài),假如MCU中的緩沖區(qū)內(nèi)仍有數(shù)據(jù),且Tx_to_s_flag=1,則可向串口發(fā)送1字節(jié)數(shù)據(jù)。當MCU的TI中斷發(fā)生時,將此標志位置1。

    4接口芯片RFW_D100的固件編程

    對RFWD100進行固件的編程是通過對RFWD100內(nèi)的非凡功能寄存器的編程實現(xiàn)的。

    SCR2=0x1c配置前的操作;

    BLR=0x06配置數(shù)據(jù)的空中碼速為1Mbps;

    PPR=0xca配置數(shù)據(jù)包的格式;

    LCR=0x45配置數(shù)據(jù)包非凡字節(jié)的位置;

    NIR=0xbb網(wǎng)絡(luò)識別地址;

    BIR=0xee節(jié)點識別地址;

    SCR1=0x20打開RSSI;

    SCR3=0x03

    SCR4=0x03

    IER=0x13中斷使能;

    SCR2=0x02系統(tǒng)處于數(shù)據(jù)包的搜索狀態(tài)。

    結(jié)語

    本設(shè)計以射頻芯片RFW122M及其接口芯片RFED100為核心,采用單片機AT89LV52作微處理器,實現(xiàn)了一個短距離無線數(shù)據(jù)傳輸系統(tǒng)。今后的工作是完善和改進該協(xié)議,進一步提高無線數(shù)據(jù)的傳輸效率。

    參考文獻

    [1]黃智偉.無線數(shù)字收發(fā)電路設(shè)計——電路原理與應(yīng)用實例.北京:電子工業(yè)出版社,2003.

    [2]鄭少仁,王海濤,趙志峰,等.AdHoc 網(wǎng)絡(luò)技術(shù). 北京:人民郵電出版社,2005.

    [3]張全寶,李峻.RFW102無線收發(fā)芯片組的原理與應(yīng)用.國外電子元器件, 2004(1).

    [4]陳媛媛,楊凱,胡文東.基于RFW102芯片組的短距無線數(shù)據(jù)傳輸系統(tǒng)的實現(xiàn).現(xiàn)代電子技術(shù),2005(24).

    [5]VishayRFWavesLtd. RFW122M ISM Transceiver Module, Preliminary Datasheet. 200505.

    [6]VishayRFWavesLtd. RFWDD100: Standard Interface to The RFW100 Series. Datasheet. July 200207.



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 望都县| 中卫市| 阳山县| 赤城县| 乌兰察布市| 那曲县| 永春县| 黑河市| 湛江市| 正定县| 佳木斯市| 吉首市| 灵山县| 界首市| 姚安县| 遵义县| 广汉市| 扶沟县| 运城市| 镇巴县| 大安市| 阿坝县| 闽清县| 璧山县| 阿拉善左旗| 阿鲁科尔沁旗| 哈密市| 无极县| 塘沽区| 固阳县| 汤原县| 凌海市| 贺兰县| 班戈县| 邛崃市| 滦平县| 安龙县| 玛纳斯县| 南木林县| 将乐县| 祁阳县|