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