1 引言
裝甲車輛狀態(tài)信息采集系統(tǒng)的信息采集單元通常采用CAN總線連接,某些情況下,車輛上裝和下裝之間的旋轉(zhuǎn)連接器由于沒有連線空間,需要無線通信模塊為上裝和下裝的CAN總線提供一個透明的無線通道。本文基于無線傳感器網(wǎng)絡給出一種無線通道的設計,主要包括CAN總線無線接入控制模塊電路設計以及無線傳感器節(jié)點的通信協(xié)議設計等內(nèi)容。
2 電路設計
以無線傳感器網(wǎng)絡為基礎的CAN總線擴展系統(tǒng)總體結(jié)構(gòu)如圖1所示,其主要由兩塊CAN總線無線接入控制模塊構(gòu)成,每個模塊的組成及各部分的作用是:無線傳感器節(jié)點的微控制器及存儲器模塊,接收對端無線接人控制模塊傳來的數(shù)據(jù)并存儲,然后將數(shù)據(jù)交CAN控制器待發(fā),同時接收CAN控制器傳來的數(shù)據(jù)并通過傳感器網(wǎng)絡將數(shù)據(jù)發(fā)送到對端無線接入控制模塊;CAN控制器采用SJA1000,運行CAN協(xié)議,為傳感器網(wǎng)絡結(jié)點提供CAN總線服務;收發(fā)器采用TJA1050作為CAN控制器與物理媒體的物理接口,為CAN控制器提供比特流服務。
3 無線傳感器節(jié)點
3.1 無線傳感器網(wǎng)絡節(jié)點硬件結(jié)構(gòu)
圖2所示為無線傳感器網(wǎng)絡節(jié)點的硬件,包括傳感器模塊、微處理器模塊和無線通信模塊等三個功能部分。GAINTS系列節(jié)點使用AT-MEGA128單片機作為控制器和處理核心,無線通信模塊核心采用工作在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é)議是很有用的,在設置ACK等待時間和RTS-CTS等待時間的時候需要考慮這些參數(shù)。
3.2 通信協(xié)議設計
本文基于TinyOS底層通信接口進行通信協(xié)議設計。對TinyOS編程采用的是nesC語言,這是一種類似C的語言,是對C的擴展,也是結(jié)構(gòu)化的語言,是基于組件式的編程,模塊化的設計。nesC組件有兩種:Module(模塊)和Configuration(連接配置文件)。Module在模塊中主要實現(xiàn)代碼的編制,可以使用和提供接口,在它的實現(xiàn)部分必須對提供接口里的command和使用接口里的event進行實現(xiàn)。
TinyOS是基于一種組件架構(gòu)方式的開源的嵌入式操作系統(tǒng),一個應用程序可以通過連接配置文件(a wiring specification)將各種組件連接起來,以完成它所需要的功能。TinyOS的應用程序都是基于事件驅(qū)動模式的,采用事件觸發(fā)去喚醒傳感器工作。tasks一般用在對于時間要求不是很高的應用中,且tasks之間是平等的,即在執(zhí)行時是按先后順序,一般為了減少tasks的運行時間,要求每一個task都很短小,能夠使系統(tǒng)的負擔較輕;events一般用在對于時間要求很嚴格的應用中,而且它可以優(yōu)先于tasks和其他events執(zhí)行,可以被一個操作完成或是來自外部環(huán)境的事件觸發(fā),在TinyOS中一般由硬件中斷處理來驅(qū)動事件。在TinyOS中由于tasks之間不能互相占先執(zhí)行,所以TinyOS沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般都是將對這個操作的需求及其完成分開來實現(xiàn),以便獲得較高的執(zhí)行效率。由于在Tiny-OS中沒有進程管理的概念,它對任務是按簡單的FIFO隊列進行處理的,對資源采取預先分配,且這個隊列里最多只能有7個未解決的任務。我們設計時,主要處理三類事件,即串口接收數(shù)據(jù)事件、無線接收數(shù)據(jù)事件和定時器事件。
①串口接收數(shù)據(jù)事件。每次節(jié)點從串口接收到一個字節(jié)的數(shù)據(jù)將觸發(fā)該事件。對于信息采集任務來說,其信息是定時采集的。同時,CAN總線的速率遠遠大于無線傳輸?shù)乃俾?。因此,在?jié)點開辟了一段較大的緩存區(qū),對CAN總線傳過來的數(shù)據(jù)進行緩存。該緩存區(qū)的大小取決于無線傳輸?shù)乃俾室约癈AN總線在一個定時采集周期的數(shù)據(jù)量大小。假設無線傳輸?shù)乃俾蕿閂、緩存區(qū)大小為Mem、采集周期為T、每個采集周期的數(shù)據(jù)量為Data,注意V為傳輸有效數(shù)據(jù)的速率,即要去掉協(xié)議開銷以及管理和控制開銷,則至少滿足V×T≥Data,Mem≥Data。為提高無線傳輸?shù)男?,不是每次從串口接受到一個字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達到無線傳輸一個數(shù)據(jù)包的大小時,啟動任務一UARTRcvdTask。這種采用任務的方式進行實際的無線數(shù)據(jù)傳輸可以避免阻塞其他event事件。
②無線接受數(shù)據(jù)事件。每次節(jié)點從無線接口接受到一個數(shù)據(jù)包將觸發(fā)該事件。事件處理程序主要從協(xié)議數(shù)據(jù)包中獲取傳輸數(shù)據(jù),并且緩存于接受緩存區(qū),具體地怎么處理無線接受的數(shù)據(jù)的工作,通過啟動任務——RadioRcvdTask來完成,以避免阻塞其他event事件。
?、鄱〞r器事件。該事件定時觸發(fā)。該事件處理程序主要定時判斷串口接受數(shù)據(jù)緩存區(qū)是否有數(shù)據(jù),如果有的話,則啟動任務——UARTRcvdTask,以避免到串口收到的數(shù)據(jù)不足一個協(xié)議數(shù)據(jù)包時,會長期滯留在串口接受數(shù)據(jù)緩存區(qū)中。
4 性能分析和實驗
整個系統(tǒng)的性能主要取決于無線傳輸?shù)乃俾?。無線CC1000使用頻率為14.745 MHz的晶振作為驅(qū)動,在該驅(qū)動下面CC1000可以提供的最大數(shù)據(jù)傳輸率為19.2 KB/s??紤]無線傳輸協(xié)議消耗,無線傳輸數(shù)據(jù)報的格式如下:
其中TOSH_DATA_LENGTH=29,故協(xié)議的理論有效數(shù)據(jù)比率約為70%。同時,為提高無線傳輸?shù)男?,不是每次從串口接受到一個字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達到無線傳輸一個數(shù)據(jù)包的大小時,才啟動發(fā)送任務,故無線有效傳輸速率約為13.4 KB/s,,對于本系統(tǒng)應用來說,CAN總線的采樣周期為10 s,每次采樣數(shù)據(jù)為1 K數(shù)據(jù)。雖然,CAN總線速率相對來說較高,但是通過緩存完全可以滿足需求。 在性能測試中,該系統(tǒng)持續(xù)運行20多個小時,收發(fā)均無問題。
5 結(jié) 論
本文基于無線傳感器網(wǎng)絡給出一種連接CAN總線的無線通道設計,主要包括CAN總線無線接入控制模塊電路設計以及無線傳感器節(jié)點的通信協(xié)議設計等內(nèi)容。目前,該系統(tǒng)已經(jīng)實現(xiàn),實際使用效果良好。本文內(nèi)容對于一般的信息采集無線傳輸系統(tǒng)設計具有較好的借鑒意義。
參考資料:
基于無線局域網(wǎng)WLAN的CAN總線分析儀——黑鳥
Kvaser BlackBird Semipro
Kvaser BlackBird Semipro
基于無線局域網(wǎng)WLAN的CAN總線分析儀——黑鳥
Kvaser BlackBird Semipro是一款基于無線局域網(wǎng)(WLAN)技術(shù)的高性能的CAN總線分析儀。通過利用無線局域網(wǎng)技術(shù)(WLAN),可以實現(xiàn)高速的CAN總線通訊(802.11b/g),同時提高了CAN總線的靈活性和CAN總線網(wǎng)絡的可覆蓋范圍。
Kvaser BlackBird Semipro利用強大和通用的無線局域網(wǎng)技術(shù)來解決以往CAN總線繁重的線纜負擔。同時Kvaser BlackBird Semipro提供了靈活的通信模式,包括兩種運行模式:Infrastructure 模式和Ad-hoc 模式 。
運行模式
Infrastructure 模式:用于一個網(wǎng)絡或多個網(wǎng)絡節(jié)點之間的通訊。
Ad-hoc模式:用于電腦與Kvaser BlackBird Semipro 的直接通訊。
應用領域
Kvaser BlackBird Semipro用于以下的無線通訊領域:診斷、檢測和汽車測試、生產(chǎn)與制造線各個工作 站點之間的通訊以及用于其他需要移動性高和靈活性強的領域。
運行環(huán)境
IP67——為實際的工業(yè)現(xiàn)場而設計
整合天線
適合緊湊的、輕巧的和便攜的設備上使用
運行溫度:-30℃~+85℃
WLAN 接口
符合無線局域網(wǎng)的標準:802.11b/g
兩種不同的運行模式:Infrastructure和Ad-hoc
首選編碼
用TCP/IP協(xié)議實現(xiàn)因特網(wǎng)內(nèi)部數(shù)據(jù)傳輸
可在電腦上實現(xiàn)簡單和快速的內(nèi)部配置
USB接口
提供一個無線局域網(wǎng)接口和一個USB接口到CAN總線內(nèi)部連接(兩個接口在同一設備)
設計為USB2.0,同時可適用于USB1.1
CAN 接口
內(nèi)嵌一個D-SUB的CAN總線連接器
支持CAN2.0A和CAN2.0B
每秒鐘處理15,000個信息幀
帶用于保護硬件的電隔離的CAN總線驅(qū)動平臺
支持數(shù)據(jù)幀和遠程幀
通過CAN總線提供電源
適應于所有的CAN總線的高層協(xié)議,包括J1939和CANopen
應用支持
AFT MARC I
ATI Apollo
ATI CANlab
Ficosa CANica
Kvaser Canking
National Instruments Diadem
National Instruments Diadem
VAT2000
Warwick X-Analyser
Xtm
產(chǎn)品版本
Kvaser BlackBird Semipro HS
Kvaser BlackBird Semipro HS/HS
Kvaser BlackBird Semipro 3xHS
應用界面
支持Windows Vista/XP/2000系統(tǒng)
用Kvaser CANlib API 數(shù)據(jù)庫可以滿足客戶二次開發(fā)
在使用Kvaser CANlib API方面,具有與Leaf、USBcan和其他Kvaser硬件相一致
Kvaser BlackBird Semipro | |
WLAN 版本 | 802.11 b/g |
Infrastructure 模式 | 是 |
Ad-h(huán)oc模式 | 是 |
加密 | WPA2/WPA/WEP128/WEP64 |
使用 | 公共/個人 |
USB 版本 | 2.0&1.1 |
CAN接口 | DSUB |
CAN總線通道 | 1/2/3 |
ISO 11898-2 | 是 |
電隔離 | 是 |
工作溫度范圍 | -30℃~+85℃ |
支持的位速率達到1Mbit/s | 是 |
錯誤計數(shù)器讀取 | 是 |
監(jiān)測錯誤幀 | 是 |
產(chǎn)生錯誤幀 | 是 |
時鐘精確度 | 25μs |
沉默模式 | 是 |
工作電壓 | CAN總線(6-40V DC) |
消耗功率 | 1500mV |
LED顯示 | 7 |
地址:
廣州市花都區(qū)清塘路綠地國際空港中心6地塊7棟229-230(營銷部);
廣州市花都區(qū)花東鎮(zhèn)花安中路3號碧桂園空港廣場4棟3樓(財務和物流部);
電話:400-108-7698; 13922153995;020-86372297