無線傳感器網絡的CAN總線互聯
1 引言
裝甲車輛狀態信息采集系統的信息采集單元通常采用CAN總線連接,某些情況下,車輛上裝和下裝之間的旋轉連接器由于沒有連線空間,需要無線通信模塊為上裝和下裝的CAN總線提供一個透明的無線通道。本文基于無線傳感器網絡給出一種無線通道的設計,主要包括CAN總線無線接入控制模塊電路設計以及無線傳感器節點的通信協議設計等內容。
2 電路設計
以無線傳感器網絡為基礎的CAN總線擴展系統總體結構如圖1所示,其主要由兩塊CAN總線無線接入控制模塊構成,每個模塊的組成及各部分的作用是:無線傳感器節點的微控制器及存儲器模塊,接收對端無線接人控制模塊傳來的數據并存儲,然后將數據交CAN控制器待發,同時接收CAN控制器傳來的數據并通過傳感器網絡將數據發送到對端無線接入控制模塊;CAN控制器采用SJA1000,運行CAN協議,為傳感器網絡結點提供CAN總線服務;收發器采用TJA1050作為CAN控制器與物理媒體的物理接口,為CAN控制器提供比特流服務。
3 無線傳感器節點
3.1 無線傳感器網絡節點硬件結構
圖2所示為無線傳感器網絡節點的硬件,包括傳感器模塊、微處理器模塊和無線通信模塊等三個功能部分。GAINTS系列節點使用AT-MEGA128單片機作為控制器和處理核心,無線通信模塊核心采用工作在433 MHz的單芯片低電壓CC1000收發器,該射頻芯片具有工作電壓低(2.1~3.6V均可工作)、能耗低、體積小等非常適合于集成的特點。它采用FSK調制方式,外部采用SPI的接口,可以和微控制器直接相聯。CC1000使用頻率為14.745 MHz的晶振作為驅動,在該驅動下面CC1000可以提供的最大數據傳輸率為19.2KB/s,也就是說每ms不到3個字節,這個數據對MAC層的協議是很有用的,在設置ACK等待時間和RTS-CTS等待時間的時候需要考慮這些參數。
3.2 通信協議設計
本文基于TinyOS底層通信接口進行通信協議設計。對TinyOS編程采用的是nesC語言,這是一種類似C的語言,是對C的擴展,也是結構化的語言,是基于組件式的編程,模塊化的設計。nesC組件有兩種:Module(模塊)和Configuration(連接配置文件)。Module在模塊中主要實現代碼的編制,可以使用和提供接口,在它的實現部分必須對提供接口里的command和使用接口里的event進行實現。
評論