當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]TinyOS移植技術(shù)分析及在CC2430平臺的應(yīng)用

摘要 簡述了無線傳感器網(wǎng)絡(luò)操作系統(tǒng)及傳感器節(jié)點的基本狀況,并從設(shè)計思路、體系結(jié)構(gòu)、運行原理及編譯過程等方面詳細分析了當(dāng)前主流的操作系統(tǒng)TinyOS的主要特點。在此基礎(chǔ)上,提出了TinyOS的移植方法以及具體實現(xiàn)過程。最后,將TjnyOS成功地移植于CC2430平臺。實驗結(jié)果表明,移植后的TinyOS可以穩(wěn)定地運行于CC2430平臺,并能可靠地實現(xiàn)傳感器之間的無線組網(wǎng)。
關(guān)鍵詞 無線傳感器網(wǎng)絡(luò);TinyOS;移植;CC2430

    無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由部署在監(jiān)測區(qū)域內(nèi)大量廉價微型傳感器節(jié)點組成,通過無線通信方式形成的一個網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作的感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者,被譽為21世紀最具影響技術(shù)之一。傳感器節(jié)點通常是一個微型的資源受限的嵌入式系統(tǒng),因此要求一個小型高效的操作系統(tǒng)管理組織硬件并完成軟件功能。
    由于無線傳感器網(wǎng)絡(luò)節(jié)點的資源十分有限,傳統(tǒng)的嵌入式操作系統(tǒng)難以正常有效地運行和工作,特別對能量和內(nèi)存的需求矛盾比較突出。因此,需要一種全新的嵌入式操作系統(tǒng)來滿足無線傳感器節(jié)點的基本需求。近年來,科研機構(gòu)不斷開發(fā)出具有多種功能的WSN操作系統(tǒng)。大多數(shù)操作系統(tǒng)都使用事件驅(qū)動的編程模型,典型的有TinyOS、Contiki、EYESOS、SOS等。
    TinyOS操作系統(tǒng)是美國加州大學(xué)伯克利分校的研究人員針對無線傳感器網(wǎng)絡(luò)設(shè)計的開源嵌入式操作系統(tǒng),是目前無線傳感器網(wǎng)絡(luò)采用的主流操作系統(tǒng)。TinyOS最初使用匯編和C語言編寫,但經(jīng)研究人員進一步的研究及使用后發(fā)現(xiàn),C語言并不能有效和方便地支持無線傳感器網(wǎng)絡(luò)應(yīng)用程序的開發(fā)。因而在經(jīng)過研究和設(shè)計,并在對C語言進行了一定擴展的基礎(chǔ)上,提出了支持組件化編程的nesC語言,該語言可以把組件化、模塊化思想和基于事件驅(qū)動的執(zhí)行模型結(jié)合起來,具有一些C語言無法比擬的優(yōu)點。nesC語言提出后,TinyOS操作系統(tǒng)和基于TinyOS操作系統(tǒng)的應(yīng)用程序全部使用nesC語言編寫。

1 TinyOS原理分析
1.1 簡介
    TinyOS是美國加州大學(xué)伯克利分校針對無線傳感器網(wǎng)絡(luò)開發(fā)的嵌入式操作系統(tǒng),核心程序很小,對硬件要求很低,它的事件驅(qū)動機制、主動消息機制、組件化結(jié)構(gòu)等特點使其在研究中得到廣泛應(yīng)用。目前,TinyOS支持的平臺主要集中在Atmel公司的AVR系列和TI公司的MsP430系列單片機。
1.2 TinyOS的體系結(jié)構(gòu)
    TinyOS體現(xiàn)結(jié)構(gòu)如圖1所示,其核心部分為TinyOS的硬件抽象3層結(jié)構(gòu)。TinyOS的硬件抽象層使系統(tǒng)的軟件和硬件完全獨立,從而使系統(tǒng)的設(shè)備驅(qū)動程序與硬件無關(guān),大大提高了系統(tǒng)的可移植性。TinyOS具有3層硬件抽象結(jié)構(gòu),并明確規(guī)定了每一層的功能,每一層都依賴于下一層提供的接口,這使得TinyOS的移植比較方便。


    最底層是硬件描述層(Hardware Presentation Layer,HPL),該層提供硬件層和軟件層的直接接口,通過調(diào)用函數(shù)的方法來屏蔽復(fù)雜的硬件層,不僅實現(xiàn)了硬件層和軟件層的內(nèi)部通信,而且為系統(tǒng)其他部分提供了使用的接口。
    中間層是硬件適用層(Hardware AdaptationLayer,HAL),位于HPL上層,該層對硬件層的定時器、模數(shù)轉(zhuǎn)換器、存儲器等模塊原型進行較高層的抽象,可以更直接更方便地為上層軟件層提供可定制的操作接口。
    最頂層是硬件獨立層(Hardware Independent Layer,HIL),位于HAL上層,該層提供抽象的獨立硬件層接口,通過隱藏硬件層來簡化上層應(yīng)用軟件的編寫,其功能類似于Windows操作系統(tǒng)下的API。
    TinyOS的3層硬件抽象結(jié)構(gòu)有很大的靈活性,具體的應(yīng)用程序可以將HAL和HIL組件結(jié)合使用,以提高代碼執(zhí)行效率和系統(tǒng)的可移植性。[!--empirenews.page--]
1.3 TinyOS的運行機制
   
在TinyOS的總體框架中,物理層硬件層為框架的最底層,在該層中,傳感器、射頻收發(fā)器以及時鐘等硬件均能觸發(fā)事件(event)發(fā)生,交由上層組件處理;軟件層中相對下層的組件也能出發(fā)事件并交由上層處理,而上層會發(fā)出命令(command)交下層處理。為協(xié)調(diào)各組件間任務(wù)的有序處理,需要操作系統(tǒng)采取一定的調(diào)度模式。
    TinyOS采用的是事件驅(qū)動的兩級調(diào)度:任務(wù)(task)和硬件事件處理句柄(Hardware Event Handlers)。TinyOS使用兩種機制支持任務(wù),task和post。task聲明必須為無參數(shù)的函數(shù)聲明,執(zhí)行中的任務(wù)都具有原子操作性,任務(wù)完成前彼此之間不能被搶占。硬件事件處理句柄被執(zhí)行去響應(yīng)硬件中斷,可以搶占任務(wù)的運行和其他硬件事件處理句柄。TinyOS的任務(wù)調(diào)度隊列只采用最簡單的FIFO算法,內(nèi)核使用一個循環(huán)隊列來管理任務(wù)列表,默認任務(wù)列表大小為8。這個任務(wù)隊列實際上是一個函數(shù)指針的數(shù)組,提交一個任務(wù)即是向隊列里插入一個函數(shù)指針。任務(wù)提交(post)到FIFO隊列中等待,當(dāng)任務(wù)隊列頭索引號等于尾索引號時,表明任務(wù)隊列為空,系統(tǒng)進入休眠狀態(tài)并等待,直到新的事件發(fā)生。如果新事件向隊列中提交了任務(wù),則處理器返回執(zhí)行狀態(tài),TinyOS規(guī)定當(dāng)且僅當(dāng)任務(wù)已經(jīng)推入隊列且沒有被執(zhí)行時post表達式才返回fail,否則將繼續(xù)休眠。當(dāng)被事件觸發(fā)后,TinyOS將中發(fā)出信號的事件關(guān)聯(lián)的所有任務(wù)將被迅速處理,當(dāng)這個時間和所有任務(wù)被處理完成后,未被使用的CPU將再次被置于睡眠狀態(tài)而不是積極尋找下一個活躍事件,從而大幅降低了功耗。

2 TinyOS的編譯過程分析
    TinyOS的編譯系統(tǒng)采用GNU Make,首先將TinyOS應(yīng)用程序預(yù)編譯,形成一個“*.C”文件,然后將這個文件傳遞給與硬件平臺相對應(yīng)的編譯器。TinyOS的編譯系統(tǒng)放于support/make文件夾中,包含各個平臺的配置文件“*.target”和在這個平臺上建立應(yīng)用程序的“*.rul es”文件。所以TinyOS的編譯系統(tǒng)可以分為兩個部分:使用nesC編譯的公用部分和針對具體平臺的部分。目前TinyOS支持AVR的Mica系列節(jié)點,還有基于MSP430芯片的Telos系列及基于PXA27芯片的Imote,而對于CC2430目前還在開發(fā)中。假設(shè)目標平臺是MICA,其編譯過程如圖2所示。


    具體進行編譯操作時,編譯文件根據(jù)“TOSMAKE_PATH”變量中所列的路徑搜索“*.target”文件。“*.target”文件通常設(shè)置一些平臺相關(guān)變量和提供編譯平臺的名稱,并通過調(diào)用“TOSMake_include_platform”指向具體的“*.rules”文件。“*.rules”文件由平臺所配備的微處理器決定,因此通常幾個平臺共用一個“*.rules”文件。如果以命令行的形式給定一個虛擬平臺,編譯系統(tǒng)會自動尋找“*.ex tra”文件。

3 TinyOS操作系統(tǒng)在CC2430上的移植
3.1 CC2430的特點
   
CC2430單片機是TI公司生產(chǎn)的一款專用于IEEE 802.15.4和ZigBee協(xié)議通信的片上系統(tǒng)解決方案。它延用了以往CC2420芯片的架構(gòu),在單個芯片上整合了ZigBee射頻前端、內(nèi)存和微控制器。它使用1個8位MCU(8051),具有128 kB可編程閃存和8 kB的RAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、幾個定時器(Timer)、AES128協(xié)同處理器、看門狗定時器(Watchdog Timer)、32 kHz晶振的休眠模式定時器、通電復(fù)位電路(Pow er on Reset)、掉電檢測電路(Brownout Detection),以及21個可編程I/O引腳。CC2430芯片采0.18 μmCMOS工藝生產(chǎn);在接收和發(fā)射模式下,電流損耗分別低于27 mA或25 mA。CC2430非常適合那些要求能耗非常低的應(yīng)用,因為它具有休眠模式以及轉(zhuǎn)換到主動模式的超短時間的特性。而無線傳感器網(wǎng)絡(luò)研究的一個核心問題就是節(jié)能,因為傳感器節(jié)點經(jīng)常需要布置在環(huán)境惡劣的無人區(qū),所以能耗問題就成為一個關(guān)鍵問題。由于CC2430的低能耗特性,使其經(jīng)常作為傳感器節(jié)點的硬件平臺。
3.2 移植過程分析
    TinyOS核心代碼經(jīng)nesC預(yù)編譯后形成的C文件可以被GCC理解編譯。而GCC適用的平臺包括telos系列,mica系列和intelmote2系列。但是一些平臺如Motorola HCS08,Intel MCS51則不適用于GCC編譯。所以將TinyOS移植到CC2430上的關(guān)鍵問題是,如何使GCC支持MCS-51系列的交叉編譯及支持CC2430硬件組件的編寫。
    在Windows和Linux兩大主要平臺上有許多8051編譯器,其中使用最廣泛并且經(jīng)常進行更新的有2種:KEIL和Small Device C Complier(SDCC)。由于SDCC是一個新興的開源項目,因此在移植過程中經(jīng)常會出現(xiàn)許多問題,使一些模塊無法正常工作。而且在調(diào)試中,SDCC只是簡單地駐留在0地址,當(dāng)單步執(zhí)行代碼時也沒有任何調(diào)試信息。相比于SDCC,KEIL提供了一套良好的開發(fā)調(diào)試環(huán)境,因此,最終選用KEIL開發(fā)工具進行TinyOS的移植工作。
    具體流程如下:
    (1)根據(jù)TinyOS上層組件接口的要求,用nesC語言編寫硬件表達層和硬件抽象層文件。
    (2)使用TinyOS的NCC編譯器將編寫的應(yīng)用程序編譯成app.preMangle.c文件。
    (3)將app.preMangle.c文件通過perl語言編寫的腳本將其原語法轉(zhuǎn)換為CC2430開發(fā)環(huán)境Keil支持的語法,生成app.c。
    (4)利用KEIL開發(fā)工具將app.c編譯、連接,生成app.hex,再通過SmartRF04 Flash Programmer下載到目標板。
3.3 TinyOS在CC2430上的移植過程
3.3.1 組件編寫
   
由于TinyOS的組件模式是基于不同抽象層組件的系統(tǒng),當(dāng)移植到新的平臺時,可以通過添加新的底層硬件的抽象并使用已有的上層組件。為實現(xiàn)CC2430的基本功能,需要對各功能模塊進行移植,文中移植的功能包括Timer定時器,UART通信,AD采樣,射頻通信等。具體模塊移植方法如下:
    (1)通用I/O口。首先要對CC2430的各個接口進行定義,CC2430共有21個可編程的I/O接口,通過設(shè)置一組寄存器來控制來控制這些接口作為通用I/O口或者是用作外部電路。在HplCC2430GeneralIOC文件及相關(guān)頭文件中對各個引腳進行定義。由于需要用到CC2430的UART功能,ADC功能,射頻功能以及Timer定時器功能,所以需要對相應(yīng)的寄存器定義。
    (2)UART通信。由于需要向上位機發(fā)送數(shù)據(jù),所以需要使用CC2430的UART通信功能。CC2430有兩個UART接口,分別為UART0和UART1。分別對應(yīng)CC2430兩個I/O接口。選用的UART1,RX和TX對應(yīng)P0_4接口和P0_5接口,通過SerialByteComm接口實現(xiàn)該功能。在HalCC2430SimpleUartP文件中實現(xiàn)SerialByteComm接口,該接口有兩個命令:get和put,分別用來對U1BUF寄存器進行讀寫。在HplCC2430SimpleUartP文件中對CC24 30芯片串口通信所需要的配置的寄存器各位的值以及波特率等硬件信息進行設(shè)置。
    在PlatformSerialC文件中對這些接口進行一個封裝,并對SerialByteComm接口的put操作作一個判斷,如果UART1的8位寄存器U1CSR的最低位為0,說明串口處于空閑狀態(tài),這是向串口發(fā)送數(shù)據(jù),否則串口處于繁忙狀態(tài),不進行任何操作。
    通過這3層組件對SerialByteComm接口的抽象,實現(xiàn)向串口發(fā)送數(shù)據(jù)的功能。
    (3)數(shù)模轉(zhuǎn)換。通過傳感器感器采集到的模擬信號,需要通過AD轉(zhuǎn)換為數(shù)字信號后才能進行下一步的處理。CC2430的ADC有最高14 bit的轉(zhuǎn)換精度,可以采用內(nèi)部電壓或者外部電壓。ADCL和ADCH兩個8位寄存器存放采樣到的數(shù)據(jù),其中ADCL的有效位是2到7位,所以有效數(shù)據(jù)是14 bit。通過對READ接口的抽象實現(xiàn)該組件。在adc.h頭文件中配置CC2430的寄存器ADCCON1、ADCCON2、ADCCON3,可以設(shè)置轉(zhuǎn)換精度以及采樣到的數(shù)據(jù)傳輸?shù)叫酒墓苣_地址。
    可以看到這里定義一組宏,對應(yīng)了寄存器需要的值。這里使用CC2430芯片的單次采樣,由于節(jié)點使用了外部傳感器這里將ADC的參考電壓設(shè)為外部電壓,精度設(shè)為14 bit,將P0_4引腳的電壓值數(shù)模轉(zhuǎn)換后傳入芯片處理器。
    (4)定時器。CC2430有一個16位定時器Timer1和兩個8位定時器Timer3和Timer4,以及一個MAC定時器Timer2。這里完成了Timer1的移植。在HplCC2430Timer1P文件中定制相關(guān)配置,通過HplCC2430Timer16接口實現(xiàn)基本的計時功能。
    (5)射頻模塊。傳感器節(jié)點采集到數(shù)據(jù)后需要通過無線射頻的方式發(fā)送出去,這就需要使用CC2430的射頻功能。TinyOS通過SimpleMac接口實現(xiàn)該功能,SimpleMac接口可以實現(xiàn)簡單的數(shù)據(jù)收發(fā)功能。SimpleMac接口非常適合802.15.4協(xié)議,缺點是不支持數(shù)據(jù)重傳和路由功能。在文件HPLCC2430RadioP文件及相關(guān)中對CC2430的的寄存器進行讀寫,HALCC2430RadioP組建對它進行進一步的抽象。
3.3.2 編譯過程修改
   
為使TinyOS的編譯系統(tǒng)能夠找到目標平臺CC2430,我們需要修改它的編譯環(huán)境。基于TinyOS開源代碼的約定,除核心程序外的其余項目開發(fā)放在contrib文件中。因此將代碼放于cygwin/opt/tinyos-2.x-contrib/ncepu中。這里需要在此文件夾中添加CC2430的編譯路徑以及具體的編譯方法。[!--empirenews.page--]
    (1)在ncepu文件夾下增加環(huán)境定制文件“env”,定制編譯路徑,使編譯系統(tǒng)能夠?qū)ふ业骄幾g平臺。修改后的編譯工具鏈如圖3所示。程序的編譯結(jié)果如圖4所示。


    (2)在ncepu/support/make文件下增加“cc2430em.target”文件。
    將編譯好的app.hex下載到CC2430上,程序即可運行。

4 基于CC2430的無線傳感器網(wǎng)絡(luò)
   
為檢驗TinyOS在CCC2430上的運行效果,設(shè)計了一個簡單無線傳感器數(shù)據(jù)采集網(wǎng)絡(luò)。傳感器節(jié)點的檢測功能較為簡單,僅完成環(huán)境的亮度測量。
4.1 無線傳感器節(jié)點
   
節(jié)點的硬件框圖如圖5所示。節(jié)點上的亮度傳感器為光敏電阻,環(huán)境亮度通過該器件以及信號調(diào)理電路轉(zhuǎn)換為電壓信號,該信號被傳輸?shù)紺C2430的A/D轉(zhuǎn)換器輸入端,經(jīng)A/D轉(zhuǎn)換變?yōu)閿?shù)字信號,該數(shù)字信號即為采集的亮度數(shù)據(jù)。


    傳感器節(jié)點的軟件流程如圖6所示。其大體工作過程為:接通電源后,節(jié)點自動尋找通信范圍的協(xié)調(diào)器,如果找到就建立網(wǎng)絡(luò)連接,當(dāng)按鈕按下時觸發(fā)ADC采樣,傳感器節(jié)點開始采集數(shù)據(jù)并向協(xié)調(diào)器發(fā)送數(shù)據(jù)。當(dāng)節(jié)點接受到關(guān)閉信號時,進入休眠狀態(tài)并停止向協(xié)調(diào)器發(fā)送數(shù)據(jù)。

[!--empirenews.page--]
4.2 無線傳感器網(wǎng)絡(luò)中協(xié)調(diào)器的設(shè)計
   
協(xié)調(diào)器負責(zé)無線傳感器網(wǎng)絡(luò)的組網(wǎng)、路由以及數(shù)據(jù)收集等功能。同時,協(xié)調(diào)器也是網(wǎng)路與PC機之間連接的一個橋梁,通過協(xié)調(diào)器可以監(jiān)控節(jié)點探測到的數(shù)據(jù)并可以對傳感器節(jié)點進行控制。
    協(xié)調(diào)器設(shè)備打開后,會自動接收通信范圍內(nèi)的節(jié)點信號,這個信號包括節(jié)點采集到的數(shù)據(jù)以及節(jié)點本身的地址。當(dāng)協(xié)調(diào)器接收到信號時,對該信號進行判斷,如果該信號已經(jīng)存在于網(wǎng)絡(luò)列表,則直接接收節(jié)點的數(shù)據(jù)。如果這個信號不存在于網(wǎng)絡(luò)列表當(dāng)中,則將該節(jié)點加入網(wǎng)絡(luò)列表。然后將網(wǎng)絡(luò)列表中的節(jié)點發(fā)送來的數(shù)據(jù)都通過串口傳輸至PC機。當(dāng)協(xié)調(diào)器接收到PC發(fā)送的指令后,根據(jù)指令內(nèi)容將指令信號發(fā)送給相應(yīng)的傳感器節(jié)點。由此,通過協(xié)調(diào)器可以實現(xiàn)PC機對傳感器節(jié)點的監(jiān)控和操作。軟件的設(shè)計流程如圖7所示。


    各節(jié)點發(fā)送到協(xié)調(diào)器的測量數(shù)據(jù)為一個16位的正整數(shù)值,協(xié)調(diào)器每接收到一個測量數(shù)據(jù),即通過RS232接口電路將該數(shù)據(jù)傳輸至PC機,協(xié)調(diào)器的硬件框圖如圖8所示。
4.3 節(jié)點與協(xié)調(diào)器之間的通信協(xié)議
   
節(jié)點使用無線射頻技術(shù)(RFID)與協(xié)調(diào)器進行通信。隨著技術(shù)的發(fā)展,RFID技術(shù)已經(jīng)成為人們?nèi)粘I钪幸粋€重要工具。但RFID技術(shù)也存在一些技術(shù)問題需要解決,其中標簽防碰撞問題(Anti—collision)是RFID技術(shù)的關(guān)鍵問題之一。當(dāng)多個節(jié)點同時向協(xié)調(diào)器發(fā)送信號時,要防止信號的碰撞。為解決這一問題,有空分多址、頻分多址、碼分多址和時分多址4種方法。文中選用基于CSMA/CA協(xié)議的無線射頻防碰撞算法。
    CSMA算法是傳統(tǒng)TDMA(Time Division Multiple Access,動態(tài)時分多址)的調(diào)度分配算法ALOHA的改進。傳統(tǒng)的ALOHA算法在標簽視圖發(fā)送數(shù)據(jù)是,并不考慮信道當(dāng)前的忙閑狀態(tài),完全隨機接入??梢钥吹?。這種算法有很大的盲目性,當(dāng)存在大量節(jié)點或信息量過大時,會使信道重疊現(xiàn)象加劇,數(shù)據(jù)碰撞頻繁出現(xiàn),傳輸性能嚴重下降。為解決這一問題,提出了在發(fā)送數(shù)據(jù)前,對信道進行偵聽,這就是廣泛使用的CSMA算法。CSMA算法的基本思路是:
    (1)標簽產(chǎn)生新的數(shù)據(jù),等待發(fā)送。
    (2)偵聽信道是否空閑,若空閑則發(fā)送數(shù)據(jù),發(fā)送完成后返回第一步;若信道正忙則產(chǎn)生一個隨機數(shù),進入延時操作。假定隨機數(shù)的取值范圍為min~max之間,初始化時,值為min,每次重傳,隨機數(shù)逐漸增大,當(dāng)達到max值時保持不變。沒成功傳輸之后,回復(fù)到初始值min。
    (3)延時操作結(jié)束后,返回步驟(2)。
    由于無線網(wǎng)絡(luò)的特殊性,很難確實地偵聽是否有碰撞發(fā)生,所以采用帶沖突避免的載波偵聽多路訪問即CSMA/CA算法。標簽發(fā)送數(shù)據(jù)前,先發(fā)送一段請求發(fā)送幀RTS(Request to Send)給目標端,等待目標端回應(yīng)的清除發(fā)送幀CTS(Clear to Send)后,才開始傳送。通過RTS與CTS的握手(handshake)避免發(fā)送數(shù)據(jù)時發(fā)生碰撞。
4.4 實驗與結(jié)果分析
   
協(xié)調(diào)器與節(jié)點上電后,即可實現(xiàn)自動組網(wǎng)。組網(wǎng)成功后,節(jié)點可將采樣到的數(shù)據(jù)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器接收信號,一方面會觸發(fā)自身的LED燈閃爍,同時通過RS232接口電路將采集到的數(shù)據(jù)通過串口發(fā)送給PC機。實驗結(jié)果如圖9所示。


    每個節(jié)點與協(xié)調(diào)器上均設(shè)置有控制按鈕,用于通信的驗證與控制。在節(jié)點上,每按一次按鈕采集一個數(shù)據(jù),同時將該數(shù)據(jù)發(fā)送到協(xié)調(diào)器。這些過程,通過實驗得到了有效的驗證。在PC機上,通過串口助手軟件來觀察接收的數(shù)據(jù)。其中,通信的波特率設(shè)置為9600bit·s-1,PC機屏幕上顯示信息如圖10所示。其中Device表示節(jié)點ID,最后的數(shù)值是經(jīng)過處理的節(jié)點的探測值。這里使用兩個節(jié)點均置于室內(nèi)環(huán)境,其中一個用不透光的黑膠帶遮蓋住傳感器的光敏元件??梢钥吹?,協(xié)調(diào)器共接收到了兩個節(jié)點的信號,兩個信號的值均比較平穩(wěn),其中一個節(jié)點的采樣值明顯大于另一個,與實際情況相符。實驗證明系統(tǒng)各項功能運行良好,網(wǎng)絡(luò)通信穩(wěn)定。



5 結(jié)束語
   
在對TinyOS操作系統(tǒng)詳細分析的基礎(chǔ)上,提出了TinyOS的移植方法以及具體實現(xiàn)過程,并將其移植于CC2430硬件平臺。其中移植的功能模塊包括UART通信、定時器和RF無線射頻通信等。實驗結(jié)果表明,移植后的TinyOS可以健壯地運行于CC2430平臺,并能可靠地實現(xiàn)傳感器之間的無線組網(wǎng)。該系統(tǒng)可作為一個原型,經(jīng)進一步性能完善或部分功能擴充即可實現(xiàn)實際應(yīng)用。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉