<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 總線(xiàn)分析儀在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的CAN總線(xiàn)互聯(lián)開(kāi)發(fā)中的應用

總線(xiàn)分析儀在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的CAN總線(xiàn)互聯(lián)開(kāi)發(fā)中的應用

作者: 時(shí)間:2014-03-04 來(lái)源:網(wǎng)絡(luò ) 收藏
1 引言

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

  2 電路設計

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

  3 無(wú)線(xiàn)傳感器節點(diǎn)

  3.1 節點(diǎn)硬件結構

  圖2所示為節點(diǎn)的硬件,包括傳感器模塊、微處理器模塊和無(wú)線(xiàn)通信模塊等三個(gè)功能部分。GAINTS系列節點(diǎn)使用AT-MEGA128單片機作為控制器和處理核心,無(wú)線(xiàn)通信模塊核心采用工作在433

  MHz的單芯片低電壓CC1000收發(fā)器,該射頻芯片具有工作電壓低(2.1~3.6V均可工作)、能耗低、體積小等非常適合于集成的特點(diǎn)。它采用FSK調制方式,外部采用SPI的接口,可以和微控制器直接相聯(lián)。CC1000使用頻率為14.745

  MHz的晶振作為驅動(dòng),在該驅動(dòng)下面CC1000可以提供的最大數據傳輸率為19.2KB/s,也就是說(shuō)每ms不到3個(gè)字節,這個(gè)數據對MAC層的協(xié)議是很有用的,在設置ACK等待時(shí)間和RTS-CTS等待時(shí)間的時(shí)候需要考慮這些參數。

  3.2 通信協(xié)議設計

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>