無線傳感器網(wǎng)絡(luò)的CAN總線互聯(lián)
發(fā)布時間:2008/8/16 0:00:00 訪問次數(shù):548
1 引言
裝甲車輛狀態(tài)信息采集系統(tǒng)的信息采集單元通常采用can總線連接,某些情況下,車輛上裝和下裝之間的旋轉(zhuǎn)連接器由于沒有連線空間,需要無線通信模塊為上裝和下裝的can總線提供一個透明的無線通道。
本文基于無線傳感器網(wǎng)絡(luò)給出一種無線通道的設(shè)計,主要包括can總線無線接入控制模塊電路設(shè)計以及無線傳感器節(jié)點的通信協(xié)議設(shè)計等內(nèi)容。
2 電路設(shè)計
以無線傳感器網(wǎng)絡(luò)為基礎(chǔ)的can總線擴展系統(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,運行can協(xié)議,為傳感器網(wǎng)絡(luò)結(jié)點提供can總線服務(wù);收發(fā)器采用tja1050作為can控制器與物理媒體的物理接口,為can控制器提供比特流服務(wù)。
3 無線傳感器節(jié)點
3.1 無線傳感器網(wǎng)絡(luò)節(jié)點硬件結(jié)構(gòu)
為無線傳感器網(wǎng)絡(luò)節(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é)議是很有用的,在設(shè)置ack等待時間和rts-cts等待時間的時候需要考慮這些參數(shù)。
2 通信協(xié)議設(shè)計
本文基于tinyos底層通信接口進行通信協(xié)議設(shè)計。對tinyos編程采用的是nesc語言,這是一種類似c的語言,是對c的擴展,也是結(jié)構(gòu)化的語言,是基于組件式的編程,模塊化的設(shè)計。nesc組件有兩種:module(模塊)和configuration(連接配置文件)。module在模塊中主要實現(xiàn)代碼的編制,可以使用和提供接口,在它的實現(xiàn)部分必須對提供接口里的command和使用接口里的event進行實現(xiàn)。
tinyos是基于一種組件架構(gòu)方式的開源的嵌入式操作系統(tǒng),一個應(yīng)用程序可以通過連接配置文件(a wiring specification)將各種組件連接起來,以完成它所需要的功能。tinyos的應(yīng)用程序都是基于事件驅(qū)動模式的,采用事件觸發(fā)去喚醒傳感器工作。tasks一般用在對于時間要求不是很高的應(yīng)用中,且tasks之間是平等的,即在執(zhí)行時是按先后順序,一般為了減少tasks的運行時間,要求每一個task都很短小,能夠使系統(tǒng)的負擔(dān)較輕;events一般用在對于時間要求很嚴格的應(yīng)用中,而且它可以優(yōu)先于tasks和其他events執(zhí)行,可以被一個操作完成或是來自外部環(huán)境的事件觸發(fā),在tinyos中一般由硬件中斷處理來驅(qū)動事件。
在tinyos中由于tasks之間不能互相占先執(zhí)行,所以tinyos沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般都是將對這個操作的需求及其完成分開來實現(xiàn),以便獲得較高的執(zhí)行效率。由于在tiny-os中沒有進程管理的概念,它對任務(wù)是按簡單的fifo隊列進行處理的,對資源采取預(yù)先分配,且這個隊列里最多只能有7個未解決的任務(wù)。我們設(shè)計時,主要處理三類事件,即串口接收數(shù)據(jù)事件、無線接收數(shù)據(jù)事件和定時器事件。
、俅诮邮諗(shù)據(jù)事件。每次節(jié)點從串口接收到一個字節(jié)的數(shù)據(jù)將觸發(fā)該事件。對于信息采集任務(wù)來說,其信息是定時采集的。同時,can總線的速率遠遠大于無線傳輸?shù)乃俾。因此,在?jié)點開辟了一段較大的緩存區(qū),對can總線傳過來的數(shù)據(jù)進行緩存。該緩存區(qū)的大小取決于無線傳輸?shù)乃俾室约癱an總線在一個定時采集周期的數(shù)據(jù)量大小。假設(shè)無線傳輸?shù)乃俾蕿関、緩存區(qū)大小為mem、采集周期為t、每個采集周期的數(shù)據(jù)量為data,注意v為傳輸有效數(shù)據(jù)的速率,即要去掉協(xié)議開銷以及管理和控制開銷,則至少滿足v×t≥data,mem≥data。為提高無線傳輸?shù)男,不是每次從串口接受到一個字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達到無線傳輸一個數(shù)據(jù)包的大小時,啟動任務(wù)一uartrcvdtask。這種采用任務(wù)的方式進行實際的無線數(shù)據(jù)傳輸可以避免阻塞其他event事件。
②無線接受數(shù)據(jù)事件。每次節(jié)點從無線接口接受到一個數(shù)據(jù)包將觸發(fā)該事件。事件處理程序主要從協(xié)議數(shù)據(jù)包中獲取傳輸數(shù)據(jù),并且緩存于接受緩存區(qū),具體地怎么處理無線接受的數(shù)據(jù)的工作,通過啟動任務(wù)——radiorcvdtask來完成,以避免阻塞其他event事件。
③定時器事件。該事件定時觸發(fā)。該事件處理程序主要定時判斷串口接受數(shù)據(jù)緩存區(qū)是否有數(shù)據(jù),如果有的話,則啟動任務(wù)——uartrcvdtask,以避免到串口收到的數(shù)據(jù)不足一個協(xié)議數(shù)據(jù)包時,會長期滯留在串口接受數(shù)據(jù)
1 引言
裝甲車輛狀態(tài)信息采集系統(tǒng)的信息采集單元通常采用can總線連接,某些情況下,車輛上裝和下裝之間的旋轉(zhuǎn)連接器由于沒有連線空間,需要無線通信模塊為上裝和下裝的can總線提供一個透明的無線通道。
本文基于無線傳感器網(wǎng)絡(luò)給出一種無線通道的設(shè)計,主要包括can總線無線接入控制模塊電路設(shè)計以及無線傳感器節(jié)點的通信協(xié)議設(shè)計等內(nèi)容。
2 電路設(shè)計
以無線傳感器網(wǎng)絡(luò)為基礎(chǔ)的can總線擴展系統(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,運行can協(xié)議,為傳感器網(wǎng)絡(luò)結(jié)點提供can總線服務(wù);收發(fā)器采用tja1050作為can控制器與物理媒體的物理接口,為can控制器提供比特流服務(wù)。
3 無線傳感器節(jié)點
3.1 無線傳感器網(wǎng)絡(luò)節(jié)點硬件結(jié)構(gòu)
為無線傳感器網(wǎng)絡(luò)節(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é)議是很有用的,在設(shè)置ack等待時間和rts-cts等待時間的時候需要考慮這些參數(shù)。
2 通信協(xié)議設(shè)計
本文基于tinyos底層通信接口進行通信協(xié)議設(shè)計。對tinyos編程采用的是nesc語言,這是一種類似c的語言,是對c的擴展,也是結(jié)構(gòu)化的語言,是基于組件式的編程,模塊化的設(shè)計。nesc組件有兩種:module(模塊)和configuration(連接配置文件)。module在模塊中主要實現(xiàn)代碼的編制,可以使用和提供接口,在它的實現(xiàn)部分必須對提供接口里的command和使用接口里的event進行實現(xiàn)。
tinyos是基于一種組件架構(gòu)方式的開源的嵌入式操作系統(tǒng),一個應(yīng)用程序可以通過連接配置文件(a wiring specification)將各種組件連接起來,以完成它所需要的功能。tinyos的應(yīng)用程序都是基于事件驅(qū)動模式的,采用事件觸發(fā)去喚醒傳感器工作。tasks一般用在對于時間要求不是很高的應(yīng)用中,且tasks之間是平等的,即在執(zhí)行時是按先后順序,一般為了減少tasks的運行時間,要求每一個task都很短小,能夠使系統(tǒng)的負擔(dān)較輕;events一般用在對于時間要求很嚴格的應(yīng)用中,而且它可以優(yōu)先于tasks和其他events執(zhí)行,可以被一個操作完成或是來自外部環(huán)境的事件觸發(fā),在tinyos中一般由硬件中斷處理來驅(qū)動事件。
在tinyos中由于tasks之間不能互相占先執(zhí)行,所以tinyos沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般都是將對這個操作的需求及其完成分開來實現(xiàn),以便獲得較高的執(zhí)行效率。由于在tiny-os中沒有進程管理的概念,它對任務(wù)是按簡單的fifo隊列進行處理的,對資源采取預(yù)先分配,且這個隊列里最多只能有7個未解決的任務(wù)。我們設(shè)計時,主要處理三類事件,即串口接收數(shù)據(jù)事件、無線接收數(shù)據(jù)事件和定時器事件。
、俅诮邮諗(shù)據(jù)事件。每次節(jié)點從串口接收到一個字節(jié)的數(shù)據(jù)將觸發(fā)該事件。對于信息采集任務(wù)來說,其信息是定時采集的。同時,can總線的速率遠遠大于無線傳輸?shù)乃俾。因此,在?jié)點開辟了一段較大的緩存區(qū),對can總線傳過來的數(shù)據(jù)進行緩存。該緩存區(qū)的大小取決于無線傳輸?shù)乃俾室约癱an總線在一個定時采集周期的數(shù)據(jù)量大小。假設(shè)無線傳輸?shù)乃俾蕿関、緩存區(qū)大小為mem、采集周期為t、每個采集周期的數(shù)據(jù)量為data,注意v為傳輸有效數(shù)據(jù)的速率,即要去掉協(xié)議開銷以及管理和控制開銷,則至少滿足v×t≥data,mem≥data。為提高無線傳輸?shù)男,不是每次從串口接受到一個字節(jié)就從無線接口發(fā)走,而是每次緩存的字節(jié)數(shù)達到無線傳輸一個數(shù)據(jù)包的大小時,啟動任務(wù)一uartrcvdtask。這種采用任務(wù)的方式進行實際的無線數(shù)據(jù)傳輸可以避免阻塞其他event事件。
、跓o線接受數(shù)據(jù)事件。每次節(jié)點從無線接口接受到一個數(shù)據(jù)包將觸發(fā)該事件。事件處理程序主要從協(xié)議數(shù)據(jù)包中獲取傳輸數(shù)據(jù),并且緩存于接受緩存區(qū),具體地怎么處理無線接受的數(shù)據(jù)的工作,通過啟動任務(wù)——radiorcvdtask來完成,以避免阻塞其他event事件。
、鄱〞r器事件。該事件定時觸發(fā)。該事件處理程序主要定時判斷串口接受數(shù)據(jù)緩存區(qū)是否有數(shù)據(jù),如果有的話,則啟動任務(wù)——uartrcvdtask,以避免到串口收到的數(shù)據(jù)不足一個協(xié)議數(shù)據(jù)包時,會長期滯留在串口接受數(shù)據(jù)
熱門點擊
- 教你做2SD315AI的驅(qū)動電路設(shè)計
- 1-Wire總線與DS18B20應(yīng)用仿真
- 在嵌入式系統(tǒng)中應(yīng)用NAND Flash閃存作
- Molex推出新系列2.00mm間距SMT線
- 韋爾推出用于超高速接口的靜電保護芯片ESDA
- 基于μPD780822型單片機的客車CAN總
- 基于USB的ARINC429總線接口模塊設(shè)計
- 賽普拉斯2Mb/8Mb nvSRAM無需電池
- ST7267單片機與SIM卡的接口設(shè)計
- 基于鐵電存儲器FM25640在電表數(shù)據(jù)存儲中
推薦技術(shù)資料
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究