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