當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本系統(tǒng)利用射頻芯片RFW122-M及其與MCU的接口芯片RFW-D100,在單片機(jī)AT89LV52的控制下,實(shí)現(xiàn)了短距離的無(wú)線數(shù)據(jù)通信。

摘要 利用AT89LV52單片機(jī)作控制器,實(shí)現(xiàn)基于RFWaves公司的射頻芯片RFW122-M的短距離無(wú)線數(shù)據(jù)通信系統(tǒng);分析射頻芯片RFW122-M及其與單片機(jī)的接口芯片RFW-D100的特點(diǎn);給出系統(tǒng)的硬件原理框圖及軟件流程圖。對(duì)應(yīng)用于該裝置的無(wú)線數(shù)據(jù)傳輸協(xié)議CSMA進(jìn)行分析,并且在對(duì)固件的編程配置中加以實(shí)現(xiàn)。
關(guān)鍵詞 無(wú)線數(shù)據(jù)通信系統(tǒng) RFW122-M RFW-D100 AT89LV52 CSMA協(xié)議

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

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

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

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

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

(1)  RSSI(射頻信號(hào)強(qiáng)度檢測(cè))

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

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

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

2  硬件設(shè)計(jì)

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

圖1  系統(tǒng)框圖

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

                 

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

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

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

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

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

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

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

  ①  PREAMBLE:RFWD100 發(fā)送PREAMBLE 的目的是使接收機(jī)和發(fā)送機(jī)同步。20 位長(zhǎng),高4位為1111,其他16位可以配置。發(fā)送順序?yàn)閺母叩降汀?BR>  ②  NET_FIRST:1字節(jié),網(wǎng)絡(luò)地址字節(jié)。
 ?、?nbsp; NET_SEC:1字節(jié),網(wǎng)絡(luò)地址字節(jié)。
 ?、?nbsp; DST_ID:1字節(jié),數(shù)據(jù)包所發(fā)往的目的節(jié)點(diǎn)地址。
 ?、?nbsp; SRC_ID:1字節(jié),發(fā)數(shù)據(jù)包的源站地址。
 ?、?nbsp; SEQUENCE:1字節(jié)。這個(gè)段包括兩個(gè)值:高4位表示數(shù)據(jù)序號(hào),低4位表示數(shù)據(jù)包的類型。低4位代表的含義:0000b為握手?jǐn)?shù)據(jù)包, 0001b為握手應(yīng)答包,0010b為數(shù)據(jù)包,0011b為數(shù)據(jù)包的應(yīng)答包,0100b為拆鏈包,0101b為拆鏈的響應(yīng)包。
 ?、?nbsp; SIZE:1字節(jié)。這個(gè)段說(shuō)明包的大小。當(dāng)設(shè)定數(shù)據(jù)包為固定大小時(shí),SIZE沒(méi)有意義。
  ⑧  PAYLOAD:1字節(jié)。來(lái)自上層軟件層的數(shù)據(jù)。
 ?、?nbsp; CRC:1字節(jié)。RFWD100 在發(fā)送端給每個(gè)包增加CRC 信息,使得接收機(jī)對(duì)接收的數(shù)據(jù)進(jìn)行檢測(cè)。

  在本系統(tǒng)的協(xié)議設(shè)計(jì)過(guò)程中,采用小數(shù)據(jù)包的傳輸模式,從串口中收到的數(shù)據(jù)個(gè)數(shù)(以字節(jié)為單位)等于10時(shí),將這些數(shù)據(jù)打包發(fā)送出去。如果收到的數(shù)據(jù)個(gè)數(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個(gè)狀態(tài),分別是空閑態(tài)、握手態(tài)、傳輸態(tài)和接收態(tài)。
                  

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

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

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

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

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

3.3  4個(gè)狀態(tài)的處理流程

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

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

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

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

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

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

  圖6中各個(gè)標(biāo)志位的意義如下:

  New_flag串口中有新數(shù)據(jù)到來(lái)(串口中有數(shù)據(jù)到來(lái),將New_flag置1,在串口中斷中設(shè)置此標(biāo)志位)。
  Checkact_suc_flag收到握手應(yīng)答包的標(biāo)志。收到握手應(yīng)答數(shù)據(jù)包后將此標(biāo)志位置1。
  Tx_size系統(tǒng)接收到的來(lái)自串口的字節(jié)個(gè)數(shù)。
  Tx_end_flag串口中的數(shù)據(jù)發(fā)送完畢。由定時(shí)器1控制,定時(shí)一段時(shí)間。如果在這段時(shí)間內(nèi)沒(méi)有新的數(shù)據(jù)到來(lái),則認(rèn)為串口數(shù)據(jù)的這次發(fā)送完畢。每次收到新的串口數(shù)據(jù)時(shí)重置定時(shí)器,定時(shí)的時(shí)間大于1字節(jié)數(shù)據(jù)傳輸?shù)臅r(shí)間。
  Checkact _send_flag由定時(shí)器0控制,在定時(shí)的時(shí)間內(nèi)如果沒(méi)有收到握手應(yīng)答包,則定時(shí)器0溢出,Checkact _send_flag被置1,重發(fā)握手包。

  圖7中各個(gè)標(biāo)志位的意義如下:

  New_flag串口中有新的數(shù)據(jù)到來(lái)。若串口有數(shù)據(jù)到來(lái),則將New_flag置1,在串口中斷中設(shè)置此標(biāo)志位。
  Pk_sended_nack一個(gè)數(shù)據(jù)包已經(jīng)發(fā)送出去但還沒(méi)有收到確認(rèn)包時(shí)將此位置1,為0時(shí)表示系統(tǒng)可以發(fā)送數(shù)據(jù)包。
  Ack_flag為1表示發(fā)出的數(shù)據(jù)包收到了確認(rèn)。
  Tx_end_flag從串口發(fā)來(lái)的數(shù)據(jù)已經(jīng)停止了發(fā)送。
  Exceed_timing_flag在發(fā)送完每一個(gè)數(shù)據(jù)包的同時(shí)打開定時(shí)器0,從定時(shí)器0打開到定時(shí)器0溢出的這段時(shí)間內(nèi),如果沒(méi)有收到確認(rèn)包,則認(rèn)為數(shù)據(jù)包發(fā)送失敗,將Exceed_timing_flag置1;如果在這段時(shí)間內(nèi)收到確認(rèn)的數(shù)據(jù)包,則將定時(shí)器0關(guān)閉。
  Tx_size系統(tǒng)接收到的來(lái)自串口的字節(jié)個(gè)數(shù)。

  圖8中各個(gè)標(biāo)志位的意義如下:

  Lock_flag本節(jié)點(diǎn)收到了其他節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包。
  Tx_to_s_flag在接收狀態(tài),如果MCU中的緩沖區(qū)內(nèi)仍有數(shù)據(jù),且Tx_to_s_flag=1,則可向串口發(fā)送1字節(jié)數(shù)據(jù)。當(dāng)MCU的TI中斷發(fā)生時(shí),將此標(biāo)志位置1。

4  接口芯片RFW_D100的固件編程

  對(duì)RFWD100進(jìn)行固件的編程是通過(guò)對(duì)RFWD100內(nèi)的特殊功能寄存器的編程實(shí)現(xiàn)的。

  SCR2=0x1c配置前的操作;
  BLR=0x06配置數(shù)據(jù)的空中碼速為1 Mbps;
  PPR=0xca配置數(shù)據(jù)包的格式;
  LCR=0x45配置數(shù)據(jù)包特殊字節(jié)的位置;
  NIR=0xbb網(wǎng)絡(luò)識(shí)別地址;
  BIR=0xee節(jié)點(diǎn)識(shí)別地址;
  SCR1=0x20打開RSSI;
  SCR3=0x03
  SCR4=0x03
  IER=0x13中斷使能;
  SCR2=0x02系統(tǒng)處于數(shù)據(jù)包的搜索狀態(tài)。

結(jié)語(yǔ)

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

參考文獻(xiàn)

[1] 黃智偉. 無(wú)線數(shù)字收發(fā)電路設(shè)計(jì)——電路原理與應(yīng)用實(shí)例. 北京:電子工業(yè)出版社,2003.
[2] 鄭少仁,王海濤,趙志峰,等. Ad Hoc 網(wǎng)絡(luò)技術(shù). 北京:人民郵電出版社,2005.
[3]  張全寶,李峻. RFW102無(wú)線收發(fā)芯片組的原理與應(yīng)用. 國(guó)外電子元器件, 2004(1).
[4]  陳媛媛,楊凱,胡文東.基于RFW102芯片組的短距無(wú)線數(shù)據(jù)傳輸系統(tǒng)的實(shí)現(xiàn). 現(xiàn)代電子技術(shù), 2005(24).
[5]  Vishay RFWaves Ltd. RFW122M ISM Transceiver Module, Preliminary Datasheet. 200505.
[6] Vishay RFWaves Ltd. RFWDD100: Standard Interface to The RFW100 Series. Datasheet. July 200207.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉