小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術頻道

基于無線傳感器網絡的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進行實現。

  TinyOS是基于一種組件架構方式的開源的嵌入式操作系統,一個應用程序可以通過連接配置文件(a wiring specification)將各種組件連接起來,以完成它所需要的功能。TinyOS的應用程序都是基于事件驅動模式的,采用事件觸發去喚醒傳感器工作。tasks一般用在對于時間要求不是很高的應用中,且tasks之間是平等的,即在執行時是按先后順序,一般為了減少tasks的運行時間,要求每一個task都很短小,能夠使系統的負擔較輕;events一般用在對于時間要求很嚴格的應用中,而且它可以優先于tasks和其他events執行,可以被一個操作完成或是來自外部環境的事件觸發,在TinyOS中一般由硬件中斷處理來驅動事件。在TinyOS中由于tasks之間不能互相占先執行,所以TinyOS沒有提供任何阻塞操作,為了讓一個耗時較長的操作盡快完成,一般都是將對這個操作的需求及其完成分開來實現,以便獲得較高的執行效率。由于在Tiny-OS中沒有進程管理的概念,它對任務是按簡單的FIFO隊列進行處理的,對資源采取預先分配,且這個隊列里最多只能有7個未解決的任務。我們設計時,主要處理三類事件,即串口接收數據事件、無線接收數據事件和定時器事件。

  ①串口接收數據事件。每次節點從串口接收到一個字節的數據將觸發該事件。對于信息采集任務來說,其信息是定時采集的。同時,CAN總線的速率遠遠大于無線傳輸的速率。因此,在節點開辟了一段較大的緩存區,對CAN總線傳過來的數據進行緩存。該緩存區的大小取決于無線傳輸的速率以及CAN總線在一個定時采集周期的數據量大小。假設無線傳輸的速率為V、緩存區大小為Mem、采集周期為T、每個采集周期的數據量為Data,注意V為傳輸有效數據的速率,即要去掉協議開銷以及管理和控制開銷,則至少滿足V×T≥Data,Mem≥Data。為提高無線傳輸的效率,不是每次從串口接受到一個字節就從無線接口發走,而是每次緩存的字節數達到無線傳輸一個數據包的大小時,啟動任務一UARTRcvdTask。這種采用任務的方式進行實際的無線數據傳輸可以避免阻塞其他event事件。

  ②無線接受數據事件。每次節點從無線接口接受到一個數據包將觸發該事件。事件處理程序主要從協議數據包中獲取傳輸數據,并且緩存于接受緩存區,具體地怎么處理無線接受的數據的工作,通過啟動任務——RadioRcvdTask來完成,以避免阻塞其他event事件。

  ③定時器事件。該事件定時觸發。該事件處理程序主要定時判斷串口接受數據緩存區是否有數據,如果有的話,則啟動任務——UARTRcvdTask,以避免到串口收到的數據不足一個協議數據包時,會長期滯留在串口接受數據緩存區中。

  4 性能分析和實驗

  整個系統的性能主要取決于無線傳輸的速率。無線CC1000使用頻率為14.745 MHz的晶振作為驅動,在該驅動下面CC1000可以提供的最大數據傳輸率為19.2 KB/s。考慮無線傳輸協議消耗,無線傳輸數據報的格式如下:

  其中TOSH_DATA_LENGTH=29,故協議的理論有效數據比率約為70%。同時,為提高無線傳輸的效率,不是每次從串口接受到一個字節就從無線接口發走,而是每次緩存的字節數達到無線傳輸一個數據包的大小時,才啟動發送任務,故無線有效傳輸速率約為13.4 KB/s,,對于本系統應用來說,CAN總線的采樣周期為10 s,每次采樣數據為1 K數據。雖然,CAN總線速率相對來說較高,但是通過緩存完全可以滿足需求。在性能測試中,該系統持續運行20多個小時,收發均無問題。

  5 結 論

  本文基于無線傳感器網絡給出一種連接CAN總線的無線通道設計,主要包括CAN總線無線接入控制模塊電路設計以及無線傳感器節點的通信協議設計等內容。目前,該系統已經實現,實際使用效果良好。本文內容對于一般的信息采集無線傳輸系統設計具有較好的借鑒意義。


文章版權歸西部工控xbgk所有,未經許可不得轉載。

主站蜘蛛池模板: 中文字幕不卡在线播放 | 丰满少妇高潮惨叫久久久久 | 福利片免费观看 | 亚洲精品二三区 | 国产香蕉在线观看 | 日本亚洲精品 | 日韩高清成人 | 91精品久久久久久久久青青 | 国产精品美女一区二区三区 | 国产精品久久久久久久久久三级 | 国产国语av | 一区二区三区国产精品 | 国产福利视频在线 | 91n在线观看 | 日本一二三区免费 | 国产精彩视频 | 日韩小视频 | 免费在线性爱视频 | 成人在线视频网站 | 蜜臀av在线播放一区二区三区 | 国产精品成人3p一区二区三区 | 亚洲国产网站 | 成人免费视频网址 | 亚洲一区二区在线视频 | 欧美二三区 | 久久视频国产 | 精品一区二区三区国产 | 午夜av一区 | 中文字幕日本在线观看 | 日韩视频在线免费 | 亚洲色图偷拍自拍 | 日韩av免费在线 | 欧美综合在线播放 | 日韩av综合 | 国产一区二区电影 | 久久精品国产一区二区 | 天堂中文在线8 | 黄色特级一级片 | 国产免费视频在线 | 黄色三级视频 | 2019国产精品视频 |