無(wú)線數(shù)據(jù)傳輸后端RFW-D100的原理與應(yīng)用
引言
短程rf通信是一種比較熱門(mén)的通信技術(shù),支持該通信技術(shù)的標(biāo)準(zhǔn)很多,如ieee802.11a、hiperlan2、ieee802.15.1(藍(lán)牙)、homerf和ieee802.11b(wi-fi)等,但總的來(lái)說(shuō),支持這些標(biāo)準(zhǔn)的器件不適合低端產(chǎn)品,功耗大,結(jié)構(gòu)復(fù)雜、價(jià)格高,以色列rf
waves公司面向低端市場(chǎng),推出的rfw102芯片組和rfw302芯片組,符合fcc(美國(guó)聯(lián)邦通信委員會(huì))和etsi(歐洲電信標(biāo)準(zhǔn)協(xié)會(huì))的技術(shù)規(guī)范,用于短程rf通信,取得了很好的效果,rf
waves公司還為這兩種芯片組提供了rfw-d100數(shù)字后端,筆者在以w78le516單片機(jī)、rfw102芯片組和rfw-d100數(shù)字后端為核心開(kāi)發(fā)產(chǎn)品時(shí),深感rfw-d100所起的巨大作用:降低了單片機(jī)程序的復(fù)雜性,節(jié)省了cpu能量和資源。
1 rfw-d100簡(jiǎn)介
rfw-d100是為rfw102/rfw302芯片組提供的一個(gè)數(shù)字后端,它為mcu提供了一個(gè)并行接口,使之連到rfw102。在rf應(yīng)用中,mcu負(fù)責(zé)mac層的協(xié)議。rfw-d100減少mcu處理mac層協(xié)議的實(shí)時(shí)要求,使mcu通過(guò)一個(gè)并行口連接到rfw102,類似于存儲(chǔ)器尋址,它將快速的串行輸入轉(zhuǎn)換成8位的字節(jié),使8位的mcu更容易處理。此外,rfw-d100僅使用一個(gè)低速率的振蕩器,通過(guò)1個(gè)16字節(jié)的fifo來(lái)緩沖輸入/輸出,使mcu與rfw-d100之間的尋址率更高,mcu不是每次中斷讀寫(xiě)1個(gè)字節(jié),而是每16個(gè)字節(jié),相比于每字節(jié)的輸入都引起一個(gè)中斷,這樣就明顯減少了mcu在讀輸入字節(jié)時(shí)的開(kāi)銷。當(dāng)使用fifo時(shí),mcu為所有fifo的字節(jié)所付出的開(kāi)銷與沒(méi)有用fifo時(shí)僅為1個(gè)字節(jié)付出的開(kāi)銷是一樣的。
2 rfw-d100的結(jié)構(gòu)、工作原理及功能
rfw-d100的結(jié)構(gòu)如圖1所示。
振蕩器模組是rfw-d100的時(shí)鐘源,可以不用,直接用一個(gè)外部振蕩器去驅(qū)動(dòng)rfw-d100,rfw-d100有三種模式:掉電模式、空閑模式和工作模式。前兩種模式可使芯片處于低功耗狀態(tài),節(jié)省系統(tǒng)能量。由于在進(jìn)入前兩種模式前,保存了所有寄存器中的值,所以系統(tǒng)喚醒時(shí)間短。rfw-d100有一個(gè)預(yù)相關(guān)器,在數(shù)據(jù)進(jìn)行收/發(fā)時(shí),rfw-d100首先檢測(cè)/發(fā)送一個(gè)預(yù)同步頭,目的是啟動(dòng)接收端的rfw102,以使接收端同步,rfw-d100為維持系統(tǒng)的靈敏性,在進(jìn)行數(shù)據(jù)收發(fā)時(shí),當(dāng)連"0"符號(hào)太多時(shí),在傳送端會(huì)在數(shù)據(jù)流中自動(dòng)加一個(gè)"1"符號(hào);而在接收端,rfw-d100會(huì)將這個(gè)"1"符號(hào)自動(dòng)拿走。rfw-d100能夠根據(jù)設(shè)置,自動(dòng)在要發(fā)送的每一信息包中加上附加的crc信息,在接收端也會(huì)自動(dòng)計(jì)算crc信息,進(jìn)行crc校驗(yàn),降低mcu的負(fù)擔(dān),提高數(shù)據(jù)的可靠性,當(dāng)有信息包要收發(fā)時(shí),wdt通信看門(mén)狗可以在任何時(shí)候,將mcu從省電模式下喚醒。rfw-d100設(shè)置了16字節(jié)的接收/發(fā)送緩沖區(qū),理論上能使mcu每128μs讀/寫(xiě)數(shù)據(jù),而不是串行情況下的1μs或在有串并轉(zhuǎn)換的情況下的8μs;rfw-d100的運(yùn)作以處理各種中斷事件為核心,開(kāi)發(fā)人員可以根據(jù)情況靈活地啟動(dòng)/關(guān)閉中斷,以適應(yīng)各種環(huán)境。rfw-d100提供了網(wǎng)絡(luò)id濾波器和節(jié)點(diǎn)id濾波器,根據(jù)網(wǎng)絡(luò)地址和節(jié)點(diǎn)地址過(guò)濾輸入信息,從而區(qū)別不同網(wǎng)絡(luò)和不同節(jié)點(diǎn)間的信息。rfw-d100中使用兩種技術(shù)以取得較強(qiáng)的載波偵聽(tīng)能力:(1)內(nèi)部比較器rssi(無(wú)線信號(hào)強(qiáng)度指示)使rfw-d100可以鑒別任何強(qiáng)度的,也可能阻塞其自身的傳送;(2)射頻波網(wǎng)絡(luò)偵聽(tīng)算法,使rfw-d100避免與其本身網(wǎng)絡(luò)或同一區(qū)域不同網(wǎng)絡(luò)站點(diǎn)的射頻波的沖突,rfw-d100的引腳功能如表1所列。
3 應(yīng)用
用rfw102芯片組和rfw-d100開(kāi)發(fā)一套點(diǎn)對(duì)多點(diǎn)的無(wú)線收發(fā)系統(tǒng),上位機(jī)采用w78le516,通過(guò)usb總線與pc相連,通過(guò)rfw-d100與rfw102芯片組連接進(jìn)行無(wú)線數(shù)據(jù)收發(fā),下位機(jī)采用msp430f133,通過(guò)rfw-d100與rfw102芯片組連接進(jìn)行無(wú)線數(shù)據(jù)收發(fā)。開(kāi)發(fā)過(guò)程發(fā)現(xiàn),目前與sfw-d100,rfw102芯片組相關(guān)的文獻(xiàn)中所提供的電路,基本上都是參照產(chǎn)品的數(shù)據(jù)手冊(cè),參考價(jià)值有限。這里,提供了一種上位機(jī)無(wú)線收發(fā)部分的硬件電路,如圖2所示。
在具體的開(kāi)發(fā)中,讀者可根據(jù)自己的mcu型號(hào),參考圖2,配置rfw-d100的外圍電阻電容,即可形成自己可運(yùn)行的電路,其中rfw-d100的26、29、30號(hào)引腳直接與rfw102芯片組相應(yīng)引腳相連。
在mcu的軟件編程中,開(kāi)發(fā)人員實(shí)際要做的是對(duì)rfw-d100的各種寄存器進(jìn)行正確的尋址、寫(xiě)入控制字、讀/寫(xiě)數(shù)據(jù)等,參考文獻(xiàn)[1]中有較詳細(xì)的描述,寄存器分配情況如表2所列。
這里,僅提出一點(diǎn)需要注意的地方,程序每次數(shù)據(jù)收發(fā),都要對(duì)相關(guān)的控制寄存器進(jìn)行重新寫(xiě)入,否則數(shù)據(jù)不能正常收發(fā)。如下面的程序段,是在發(fā)送數(shù)據(jù)的前對(duì)各控制寄存器寫(xiě)入的控制字,控制字的具體含義見(jiàn)參考文獻(xiàn)[2],其中write(…,…)自定義的宏,cs_pin即為圖2中mcu的p1.4腳。
4 結(jié)論
使用無(wú)線數(shù)據(jù)傳輸數(shù)據(jù)后端rfw-d100進(jìn)行產(chǎn)品開(kāi)發(fā),有以下優(yōu)點(diǎn):更短的開(kāi)發(fā)時(shí)間,更短的上市時(shí)間,為其他方面的應(yīng)用節(jié)省cpu能量和資源,是一個(gè)簡(jiǎn)單的、標(biāo)準(zhǔn)的,完整的解決方案,開(kāi)發(fā)人員僅需要做外圍元器件的調(diào)整工作。
評(píng)論