基于無線傳感器網絡節(jié)點的串行通信技術
在發(fā)送數據時, 數據通過串口USART 進入CC2430 的DATA 內存區(qū)。為了提高傳輸速度, 使用DMA 傳輸方式將內存區(qū)中的數據送達射頻模塊的TXFIFO 中, 數據進入射頻模塊后, 經過一系列的硬件處理, 最后通過天線發(fā)射無線信號。接收數據是發(fā)送數據的逆過程。射頻模塊從天線接收到無線信號, 通過一系列的硬件處理, 將信號轉換為數據, 存放在RXFIFO中, 再通過DMA 方式送入DATA 內存區(qū)中, 最后通過USART 串口將接收到的數據送出。數據在無線模塊的傳輸路徑如圖2 所示。
不難看出, 整個數據傳輸過程大部分在CC2430 的內部完成。這得益于CC2430 具有極高的集成度, 是一款片上系統(tǒng), 能夠提供較高的系統(tǒng)穩(wěn)定性和可靠性。
圖2 數據在無線模塊中的傳輸路徑
ZigBee 模塊接收到的數據幀作為網絡層的負荷, 通過ZigBee 網絡發(fā)送給目標節(jié)點。網絡層幀格式如下所示:
該幀的第1 個字符表示幀類型( frame. type) : 0x00為命令幀; 0x01 為數據幀; 0x02 為確認幀; 0x03 為錯誤幀; 0x04~ 0xFF 保留。第2 個字符表示包序列號( se2quernce number ) 。第3 個字符表示數據傳送的目標節(jié)點( destination address) 。第4 個字符表示數據的源節(jié)點( source address) 。第5 個字符表示數據的長度( datalength) 。后續(xù)是數據負荷( data payload) , 長度為datalength。最后一個字符是校驗和( check sum) , 其值根據下式算得。
整個數據幀的長度是data length+ 6, 作為MAC層負荷, 它必須小于104 B。無線模塊網絡層接收到數據幀后, 檢查該數據幀的目標地址與該節(jié)點地址是否相同。若不相同, 則說明該數據是給異地節(jié)點的, 無線模塊將通過ZigBee 網絡轉發(fā)給目標節(jié)點; 若相同, 則根據接受到的數據重新計算校驗和; 如果得到的校驗和與傳送過來的相同, 則回復確認幀, 同時將數據輸出; 反之通知發(fā)送方傳輸失敗。
3 硬件設計
前面介紹了系統(tǒng)整體和軟件設計方面的方案, 下面提供一種系統(tǒng)硬件組成的設計方案。無線模塊電路圖如圖3 所示。
圖3 無線模塊電路圖
電路系統(tǒng)主要由電源、復位電路、串口連接電路和無線收發(fā)電路組成??蓪崿F(xiàn)串口數據的無線收發(fā), 即發(fā)送數據時, 計算機通過MAX485 將RS 485 的標準電平轉換為T TL 電平, 再通過CC2430 無線發(fā)送。接收數據則是CC2430 先接收到數據信號, 然后經MAX 485將TT L 電平轉換為RS 485 的標準電平, 再通過RS2485 向上位機輸入數據。由于CC2430 具有低功耗的特性, 因此選用2 節(jié)干電池為模塊供電。另外, 還選用了AH805 升壓穩(wěn)壓器, 可將3 V 電壓升高至5 V, 故電源部分可提供3 V 或5 V 2 種電壓。其中, 3 V 電壓為CC2430 供電; 5 V 電壓為MAX485 和復位電路供電。若將系統(tǒng)用于PC 機間的通信時, 可以通過引入RS 2322485 轉換器來實現(xiàn)RS 232 標準電平到RS 485標準電平的轉換, 以兼容PC 機RS 232 串口。
評論