<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 無線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)

          無線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)

          作者: 時間:2011-08-23 來源:網(wǎng)絡(luò) 收藏

          1 引言
          裝甲車輛狀態(tài)信息采集系統(tǒng)的信息采集單元通常采用總線連接,某些情況下,車輛上裝和下裝之間的旋轉(zhuǎn)連接器由于沒有連線空間,需要通信模塊為上裝和下裝的總線提供一個透明的通道。本文基于網(wǎng)絡(luò)給出一種無線通道的設(shè)計,主要包括總線無線接入控制模塊電路設(shè)計以及無線節(jié)點的通信協(xié)議設(shè)計等內(nèi)容。

          2 電路設(shè)計

          以無線網(wǎng)絡(luò)為基礎(chǔ)的CAN總線擴(kuò)展系統(tǒng)總體結(jié)構(gòu)如圖1所示,其主要由兩塊CAN總線無線接入控制模塊構(gòu)成,每個模塊的組成及各部分的作用是:無線傳感器節(jié)點的微控制器及存儲器模塊,接收對端無線接人控制模塊傳來的數(shù)據(jù)并存儲,然后將數(shù)據(jù)交CAN控制器待發(fā),同時接收CAN控制器傳來的數(shù)據(jù)并通過傳感器網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到對端無線接入控制模塊;CAN控制器采用SJA1000,運(yùn)行CAN協(xié)議,為傳感器網(wǎng)絡(luò)結(jié)點提供CAN總線服務(wù);收發(fā)器采用TJA1050作為CAN控制器與物理媒體的物理接口,為CAN控制器提供比特流服務(wù)。



          3 無線傳感器節(jié)點

          3.1 無線傳感器網(wǎng)絡(luò)節(jié)點硬件結(jié)構(gòu)

          圖2所示為無線傳感器網(wǎng)絡(luò)節(jié)點的硬件,包括傳感器模塊、微處理器模塊和無線通信模塊等三個功能部分。GAINTS系列節(jié)點使用AT-MEGA128單片機(jī)作為控制器和處理核心,無線通信模塊核心采用工作在433 MHz的單芯片低電壓CC1000收發(fā)器,該射頻芯片具有工作電壓低(2.1~3.6V均可工作)、能耗低、體積小等非常適合于集成的特點。它采用FSK調(diào)制方式,外部采用SPI的接口,可以和微控制器直接相聯(lián)。CC1000使用頻率為14.745 MHz的晶振作為驅(qū)動,在該驅(qū)動下面CC1000可以提供的最大數(shù)據(jù)傳輸率為19.2KB/s,也就是說每ms不到3個字節(jié),這個數(shù)據(jù)對MAC層的協(xié)議是很有用的,在設(shè)置ACK等待時間和RTS-CTS等待時間的時候需要考慮這些參數(shù)。



          3.2 通信協(xié)議設(shè)計

          本文基于TinyOS底層通信接口進(jìn)行通信協(xié)議設(shè)計。對TinyOS編程采用的是nesC語言,這是一種類似C的語言,是對C的擴(kuò)展,也是結(jié)構(gòu)化的語言,是基于組件式的編程,模塊化的設(shè)計。nesC組件有兩種:Module(模塊)和Configuration(連接配置文件)。Module在模塊中主要實現(xiàn)代碼的編制,可以使用和提供接口,在它的實現(xiàn)部分必須對提供接口里的command和使用接口里的event進(jìn)行實現(xiàn)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 無線 傳感器 CAN

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();