<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>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于TinyOS的嵌入式無(wú)線(xiàn)傳感器網(wǎng)絡(luò )設計

基于TinyOS的嵌入式無(wú)線(xiàn)傳感器網(wǎng)絡(luò )設計

作者: 時(shí)間:2009-08-26 來(lái)源:網(wǎng)絡(luò ) 收藏

2.3 通信模塊
收發(fā)模塊主要完成節點(diǎn)之間、節點(diǎn)與網(wǎng)關(guān)之間的數據交換功能,這里采用Nordic公司的nRF24E1芯片。nRF24E1內部集成了2.4 GHz的nRF2401收發(fā)器,其增強型8051內核和9輸入的10位A/D轉換器無(wú)線(xiàn)收發(fā)模塊能夠實(shí)現點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)的無(wú)線(xiàn)通信,具有體積小,功耗低和外圍電路簡(jiǎn)單等特點(diǎn)。對于無(wú)線(xiàn)中的一些只實(shí)現數據采集和傳送功能的節點(diǎn)可以由nRF24E1內嵌的8051單片機進(jìn)行控制處理,所以可直接采用nRF24E1和傳感器模塊構成傳感器節點(diǎn)。然而,對于數據處理要求高,功能復雜,計算量大,要為通信協(xié)議、功能協(xié)調、應用處理等提供硬件支持的節點(diǎn)(如網(wǎng)關(guān)節點(diǎn)),則采用MSP430作為處理器,nRF24E1作為無(wú)線(xiàn)通信模塊,其連接圖如圖3所示。

本文引用地址:http://dyxdggzs.com/article/163620.htm

通過(guò)配置特殊寄存器,可使nRF24E1工作在ShockBurst無(wú)線(xiàn)方式。數據低速輸入高速發(fā)送,功耗極低,并可通過(guò)軟件控制開(kāi)關(guān)進(jìn)一步降低能耗。用 MSP430的P1口控制nRF24E1,通過(guò)配置CE,PWR,CS三個(gè)控制管腳,使芯片工作在不同的模式。當nRF24E1工作在發(fā)送方式時(shí),接口引腳為CE,CLK1和DATA;當CPU請求發(fā)送數據時(shí),置CE為高電平。此時(shí),將接收機地址和有效載荷數據送入nRF24E1,置CE為低電平,激活 ShockBurst發(fā)射;當nRF24E1工作在接收方式時(shí),接口引腳為CE,DR1,CLK1和DATA。在正確設置射頻包輸入載荷的地址和大小后,置CE為高電平。此后,nRF24E1監測信息輸入,若收到有效數據包,則給處理器一個(gè)中斷,并置DR1為高電平,使處理器將有效載荷數據取走,待系統收到全部數據后再置DR1為低。此時(shí),如果CE保持高電平,則等待新的數據包;若CE置低電平,則開(kāi)始其他工作流程。
2.4 電源模塊
傳感器能量有限,目前主要解決節約電能的方法是采用休眠機制,即節點(diǎn)在沒(méi)有事件發(fā)生時(shí)盡快進(jìn)入休眠狀態(tài);而在有事件發(fā)生時(shí)及時(shí)自動(dòng)醒來(lái),并喚醒鄰居節點(diǎn),形成數據轉發(fā)的拓撲結構。在光線(xiàn)充足的地方采用太陽(yáng)能電池代替化學(xué)電池,使節點(diǎn)有更長(cháng)的工作時(shí)間。

3 操作系統的與實(shí)現
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是由大量節點(diǎn)組成的網(wǎng)絡(luò )系統,每個(gè)節點(diǎn)可看作一個(gè)微型的平臺?,F有的操作系統大多是實(shí)時(shí)操作系統,很少考慮能源供應,而且占用空間很大。由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)處理能力、電源及存儲能力有限,采用 嵌入式系統,并引入輕線(xiàn)程、主動(dòng)消息、事件驅動(dòng)和組件化編程。是一種專(zhuān)門(mén)為嵌入式操作系統組件的操作系統,由nesC 語(yǔ)言實(shí)現,主要應用于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )。根據嵌入應用可以輕易增減控制執行的功能,而且編譯器可避免數據競爭的現象,可節省硬件資源,并能執行多個(gè)快速響應的控制操作。
3.1 組件
TinyOS操作系統一般由Main組件(初始化硬件并執行調度程序)、應用組件(實(shí)現具體應用功能)、系統組件(為應用層組件提供服務(wù))、HPL(硬件描述層)構成。這種體系結構使得TinyOS非常方便用戶(hù)使用,增加了操作系統的移植性和軟件的復用性。
3.2 接口
這里的接口是一個(gè)雙向通道,它具有的功能和事件通知能力是雙向的,向調用者提供命令和實(shí)現命令者進(jìn)行事件通告。代碼如下:


TinyOS應用程序還要使用testSM,GenericComm等組件實(shí)現無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的邏輯功能。test5M提供接口的命令,并實(shí)現對調用接口事件的響應;GenericComm通過(guò)調用其他組件實(shí)現從消息包到主動(dòng)消息、位級數據傳送到無(wú)線(xiàn)電收發(fā)模塊的功能。為了能將TinyOS移植到節點(diǎn)平臺上,需要根據節點(diǎn)平臺修改TinyOS中的初始化代碼,編寫(xiě)自己的BSP程序,達到移植操作系統的目的。
GenericComm提供了256個(gè)消息收發(fā)接口,采用CSMA/AD的MAC協(xié)議,消息到達組件test5M中,receive事件就會(huì )立刻調用。因此在這個(gè)事件中實(shí)現不同消息的轉換,從而實(shí)現通信雙方的握手:


4 結 語(yǔ)
在分析無(wú)線(xiàn)傳感器網(wǎng)絡(luò )體系結構的基礎上,設計以超低功耗單片機MSP430為核心,并結合了無(wú)線(xiàn)收發(fā)模塊nRF24E1的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)。軟件開(kāi)發(fā)平臺采用TinyOS操作系統,從硬件、軟件等方面對無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的節點(diǎn)進(jìn)行了設計。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(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>