沈航,龐觀士,林詩美
(1.深圳研祥智能科技股份有限公司,廣東 深圳 518057;2.國家特種計算機工程技術(shù)研究中心,廣東 深圳,518107)
物聯(lián)網(wǎng)工控平臺現(xiàn)場級無線傳感器網(wǎng)絡(luò)節(jié)點的研究和設(shè)計
沈航1,2,龐觀士1,2,林詩美1,2
(1.深圳研祥智能科技股份有限公司,廣東 深圳 518057;2.國家特種計算機工程技術(shù)研究中心,廣東 深圳,518107)
本文在分析現(xiàn)有無線傳感器網(wǎng)絡(luò)節(jié)點存在能耗和計算能力的瓶頸的基礎(chǔ)上,對現(xiàn)場級無線傳感器網(wǎng)絡(luò)節(jié)點進行了硬件和軟件設(shè)計。硬件采用低功耗RISC微處理器,降低功耗提高處理能力;軟件層面引入輕量級微操作系統(tǒng)TinyOS,并對其進行改進,加入了延遲休眠策略,使其滿足硬實時要求,同時對無線射頻驅(qū)動和無線路由進行了特別設(shè)計。實踐證明,采用本文設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點,能夠節(jié)省無線傳感器網(wǎng)絡(luò)節(jié)點的能耗20%,延長無線傳感器網(wǎng)絡(luò)節(jié)點的生命周期3倍以上的時間。
物聯(lián)網(wǎng);工控平臺;無線傳感器網(wǎng)絡(luò)節(jié)點;TinyOS;低功耗
近幾年,隨著無線通信技術(shù)的發(fā)展,物聯(lián)網(wǎng)(The Internet of things,IOT)技術(shù)應(yīng)用于工控平臺已成為了一個技術(shù)熱點,同時也是未來數(shù)年內(nèi)工業(yè)自動化產(chǎn)品新的業(yè)務(wù)增長點。通過在工業(yè)現(xiàn)場監(jiān)控和診斷中引入無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)[1-2],能夠彌補以往有線網(wǎng)監(jiān)控和傳統(tǒng)監(jiān)控技術(shù)機動性差、線纜成本高以及線纜老化等不足。無線傳感器網(wǎng)絡(luò)節(jié)點的作用是把監(jiān)測點的物理量信號轉(zhuǎn)化為數(shù)字信號,然而無線傳感器網(wǎng)絡(luò)節(jié)點的能耗和低的計算能力是其使用的瓶頸,因此,需要對應(yīng)用于工控平臺的無線節(jié)點進行研究和設(shè)計,使其滿足物聯(lián)網(wǎng)現(xiàn)場的輕量級要求。
無線傳感器網(wǎng)絡(luò)節(jié)點[3]的硬件主要包括:微處理器模塊、無線通信模塊和電源模塊。作為各類傳感器節(jié)點必需的部分,微處理器模塊主要用于運行網(wǎng)絡(luò)協(xié)議以及對射頻芯片等外圍器件進行控制;無線通信模塊主要為各節(jié)點提供無線通信的能力,實現(xiàn)數(shù)字信號與無線電信號的轉(zhuǎn)換;電源模塊主要用于為整個系統(tǒng)提供和管理能源。其硬件組成如圖1所示:
圖1 無線傳感器網(wǎng)絡(luò)節(jié)點硬件組成Fig. 1 Wireless sensor network node hardware components
1.1 微處理器模塊
處理器選用ATMEL公司的AVR ATmega128單片機。它是一款采用低功耗CMOS工藝,精簡指令集RISC(Reduced Instruction Set CPU)結(jié)構(gòu)的單片機,相對于復(fù)雜指令系統(tǒng)CISC(Complex Instruction Set Computer)結(jié)構(gòu),具有指令數(shù)更精簡,CPU利用率更高、速度更快的優(yōu)點。
無線模塊采用Chipcon公司推出的符合IEEE 802.15.4標(biāo)準(zhǔn)的CC2420芯片,它工作于2.4GHz頻段的射頻芯片,主要針對于低功耗和低電壓的無線應(yīng)用。它包括一個數(shù)字直接序列擴頻基帶調(diào)制解調(diào)器,支持16個最大傳輸速率為250kbps的信道。并提供額外的硬件功能模塊以支持包處理,數(shù)據(jù)緩沖,數(shù)據(jù)加密,信道評估,鏈路質(zhì)量指示等功能。
1.3 電源管理模塊
電源管理芯片選用AS1117,它是一款低功耗低壓差線性穩(wěn)壓器,包括固定電壓輸出類型(1.8V,2.5V,2.85V,3.3V,5V等)和可調(diào)端輸出類型(1.25V~13.8V)。作為電池供電系統(tǒng)的理想選擇,它提供完善的過流保護和過熱保護功能(AS1117正常工作環(huán)境溫度范圍極寬,為-50℃~140℃),確保芯片和電源系統(tǒng)的穩(wěn)定性。同時在產(chǎn)品生產(chǎn)中應(yīng)用先進的修正技術(shù),確保輸出電壓和參考源精度在±1%的精度范圍內(nèi)。
無線傳感網(wǎng)絡(luò)中使用的是低功耗和低成本的設(shè)備,用于收集數(shù)據(jù),進行一些現(xiàn)場計算,以及通過無線信號把部分處理過的數(shù)據(jù)發(fā)送出去。無線傳感器網(wǎng)絡(luò)節(jié)點的能耗和低的計算能力是其使用的瓶頸,需要一種滿足其要求的輕量級微操作系統(tǒng),針對這些問題,現(xiàn)場級無線傳感器網(wǎng)絡(luò)節(jié)點軟件基于TinyOS[4]進行設(shè)計。
TinyOS是一款由加州大學(xué)伯克利分校聯(lián)合其他公司和組織開發(fā)的開源操作系統(tǒng),主要針對于無線傳感網(wǎng)絡(luò)嵌入式設(shè)備。無線傳感裝置存在著處理能力較弱和內(nèi)存小等先天上的劣勢,TinyOS采用基于組件的架構(gòu),使其在保持代碼規(guī)模較小的情況下,能夠針對不同的應(yīng)用快速創(chuàng)新和實現(xiàn)。它的組件庫中包括網(wǎng)絡(luò)協(xié)議、分布式服務(wù)、傳感器驅(qū)動和數(shù)據(jù)采集等接口,所有這些都可根據(jù)具體應(yīng)用來進一步實現(xiàn)。
2.1 無線傳感器網(wǎng)絡(luò)節(jié)點軟件體系結(jié)構(gòu)
無線傳感器網(wǎng)絡(luò)節(jié)點的軟件結(jié)構(gòu)[5]為基于TinyOS操作系統(tǒng)的層次結(jié)構(gòu),如圖2所示,主要可分為協(xié)議棧部分和硬件抽象層。
甲基硫菌靈和多菌靈的測定方法主要有高效液相色譜法(HPLC)[6-7]和超高效液相色譜串聯(lián)質(zhì)譜法(UPLC-MS-MS)[8-9]。張念潔等[6]應(yīng)用高效液相色譜檢測中藥材中多菌靈、甲基硫菌靈農(nóng)藥殘留量,結(jié)果精確性、穩(wěn)定性較好,檢出限0.01 mg/kg。李福琴等[8]應(yīng)用超高效液相色譜串聯(lián)質(zhì)譜法測試草莓中甲基硫菌靈、多菌靈,方法可行,靈敏度更高,定量限在2.1~14.1 μg/kg。筆者參照已有研究文獻,利用HPLC- MS/MS分析甲基硫菌靈在馬鈴薯和土壤中的降解動力學(xué)和殘留量,旨在為農(nóng)業(yè)合理用藥、確定休藥期、制定馬鈴薯中殘留限量提供可參考理論依據(jù)。
圖2 無線傳感器網(wǎng)絡(luò)節(jié)點軟件結(jié)構(gòu)Fig. 2 Wireless sensor network node software architecture
對于協(xié)議棧的物理層,主要完成激活和休眠射頻芯片、空閑信道評估、信道能量監(jiān)測和數(shù)據(jù)的收發(fā)等與硬件相關(guān)的工作,它需要能夠?qū)τ布M行操作的軟件接口。硬件抽象層的作用就是為協(xié)議棧部分提供與硬件操作相關(guān)的軟件接口,它對協(xié)議棧軟件部分隱藏了硬件操作的細節(jié),并對硬件功能進行了抽象。這樣,上層軟件不必因為硬件的不同而需要修改,可以增進上層軟件的可移植性。
2.2 TinyOS的應(yīng)用與改進
TinyOS能夠適用于節(jié)點眾多,并發(fā)操作頻繁發(fā)生的無線傳感器網(wǎng)絡(luò)應(yīng)用,它可以迅速地響應(yīng)外部事件并且執(zhí)行相應(yīng)的操作處理任務(wù)[4]。TinyOS的事件驅(qū)動機制可以使CPU在事件產(chǎn)生時迅速執(zhí)行相關(guān)任務(wù),并在處理完畢后進入休眠狀態(tài),從而有效提高了CPU的使用率,并且節(jié)省了能量。
在技術(shù)上,TinyOS使用了輕量級線程技術(shù)和基于FIFO的任務(wù)隊列調(diào)度方法。由于傳感器節(jié)點的硬件資源有限,而且短流程的并發(fā)任務(wù)可能頻繁地執(zhí)行,所以傳統(tǒng)的 進程或線程調(diào)度無法應(yīng)用于傳感器網(wǎng)絡(luò)的操作系統(tǒng)。輕量級線程技術(shù)和基于FIFO的任務(wù)隊列調(diào)度方法能夠使短流程的并發(fā)任務(wù)共享堆棧存儲空間,并且快速地進行切換,從而使TinyOS適用于并發(fā)任務(wù)頻繁發(fā)生的傳感器網(wǎng)絡(luò)應(yīng)用。當(dāng)任務(wù)隊列為空時,CPU進入睡眠狀態(tài),外圍器件處于工作狀態(tài),任何外部中斷都能喚醒CPU,這樣可以節(jié)省能量。
雖然TinyOS搭建了基于事件的基本調(diào)度框架,但是它只實現(xiàn)了軟實時,而無法滿足硬實時,而且TinyOS現(xiàn)有的FIFO調(diào)度算法未能區(qū)分關(guān)鍵任務(wù)和普通任務(wù)。本文改進了TinyOS的調(diào)度內(nèi)核,對不同等級的任務(wù)使用有區(qū)別的延遲休眠策略,一方面降低了節(jié)點能耗,延長了節(jié)點壽命,另一方面保證了關(guān)鍵任務(wù)比普通任務(wù)優(yōu)先執(zhí)行。節(jié)點能耗主要來源于無線模塊,因此休假延遲策略針對無線模塊進行。TinyOS內(nèi)核調(diào)度改進思想如圖3所示:
圖3 TinyOS內(nèi)核調(diào)度改進思想Fig. 3 TinyOS kernel scheduling improvement ideas
整個系統(tǒng)調(diào)度主要分三個階段,分別是任務(wù)產(chǎn)生階段、任務(wù)分析與排列階段和任務(wù)執(zhí)行階段。任務(wù)產(chǎn)生階段中,節(jié)點打開無線模塊進行信息收發(fā),結(jié)合運行的應(yīng)用程序和一些服務(wù)程序優(yōu)先運行數(shù)據(jù)發(fā)送任務(wù),之后將新的待解決的任務(wù)依次壓入任務(wù)隊列,無線模塊運作時能量消耗最多;進入任務(wù)分析與排序階段,系統(tǒng)關(guān)閉無線模塊,對任務(wù)進行依賴性分析和重要性分析,將任務(wù)有序地放入優(yōu)先隊列和普通隊列;在任務(wù)執(zhí)行階段,無線模塊依然關(guān)閉,系統(tǒng)先運行優(yōu)先隊列的任務(wù)再運行普通隊列的任務(wù),由于之前已經(jīng)按照依賴性進行排序,因此不會因為任務(wù)的亂序執(zhí)行導(dǎo)致系統(tǒng)的崩潰。整個調(diào)度過程中,只有第一階段無線模塊處于打開狀態(tài),節(jié)點能耗將大大減少。
2.3 無線射頻驅(qū)動
本文所設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點,使用了CC2420射頻芯片實現(xiàn)了節(jié)點間的無線通信,同時,由于射頻芯片是無線網(wǎng)絡(luò)節(jié)點中最耗能的部分。所以,它的驅(qū)動程序設(shè)計的好壞不僅直接關(guān)系到整個無線網(wǎng)絡(luò)節(jié)點通信能力的好壞,而且還會關(guān)系到節(jié)點生命周期的長短。
無線射頻驅(qū)動需要向上層應(yīng)用程序提供5個函數(shù),分別是初始化函數(shù)、芯片命令選通函數(shù)、芯片設(shè)置函數(shù)、數(shù)據(jù)發(fā)送函數(shù)和數(shù)據(jù)接收函數(shù)。其軟件模塊如圖4所示:
圖4 射頻芯片驅(qū)動程序結(jié)構(gòu)示意圖
其中函數(shù)StdControl.init用于對射頻芯片進Fig. 4 Schematic diagram of RF chip driver行初始化;函數(shù)HALCC2420.cmd用于對射頻芯片的命令控制;函數(shù)HALCC2420.write用于設(shè)置射頻芯片的配置寄存器;函數(shù)HALCC2420FIFO.writeTXFIFO和HPLCC2420FIFO.readRXFIFO分別用于數(shù)據(jù)的發(fā)送和接收。
2.4 無線路由
在傳感節(jié)點[6]EEPROM存儲的數(shù)據(jù)中,最主要、所占空間也最大的是路由表和鄰居表。路由表主要保存目標(biāo)地址以及對應(yīng)的下一跳地址等信息;鄰居表中主要保存64位擴展地址、網(wǎng)絡(luò)地址、鏈路質(zhì)量(LQI)和相互間關(guān)系等信息。由于路由表和鄰居表除了在單位大小上的差別外,其他操作并無太大的區(qū)別,所以這里只以路由表為例說明。
對于上層軟件,需要向它提供五個函數(shù)接口,分別是路由表初始化函數(shù)、增加路由表項函數(shù)、修改路由表項函數(shù)、查找路由表項函數(shù)和刪除路由表項函數(shù),其程序結(jié)構(gòu)如圖5所示:
圖5 路由表驅(qū)動程序結(jié)構(gòu)示意圖Fig. 5 Schematic diagram of the driver structure of routing table
其中函數(shù)StdControl.init用于對路由表進行初始化;函數(shù) eeprom_RouteTable.add為增加路由表項操作;函數(shù)eeprom_RouteTable.search用于查找路由表項操作;函數(shù) eeprom_RouteTable. modify用于修改路由表項操作;函數(shù) eeprom_ RouteTable.del用于刪除路由表項操作。
增加路由表項函數(shù)首先從索引表中檢查是否還有空余空間,然后再獲得地址,把數(shù)據(jù)寫入EEPROM。查找路由表函數(shù)是用于通過目標(biāo)地址查找下一跳的地址,先通過索引表檢查是否有此表項,然后獲取地址進行查詢。修改路由表項函數(shù)是首先查詢路由表中是否有目標(biāo)表項,有的話進行修改,如果沒有就把此項增加到路由表中。刪除路由表項函數(shù)是用于刪除目標(biāo)表項。這些函數(shù)程序流程圖如圖6所示。
本文針對現(xiàn)場級無線網(wǎng)絡(luò)節(jié)點的硬件和軟件進行了分析、研究和設(shè)計,硬件層面實現(xiàn)相對容易,軟件層面,在TinyOS的基礎(chǔ)上,引入延遲休假策略,同時對無線射頻驅(qū)動和無線路由進行了優(yōu)化設(shè)計,減少了無線傳感器網(wǎng)絡(luò)節(jié)點之間數(shù)據(jù)交換的次數(shù),節(jié)省了無線傳感器網(wǎng)絡(luò)節(jié)點的能量消耗,延長了無線傳感器網(wǎng)絡(luò)節(jié)點的生命周期。本文設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點已經(jīng)應(yīng)用于供水領(lǐng)域工業(yè)現(xiàn)場診斷與管理中,實驗證明,采用本文設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點,能夠節(jié)省無線傳感器網(wǎng)絡(luò)節(jié)點的能量消耗20%,延長無線傳感器網(wǎng)絡(luò)節(jié)點的生命周期3倍以上的時間。
圖6 路由表相關(guān)操作函數(shù)程序流程圖Fig. 6 The program flow chart of the routing tables related operations
[1] 李濤. 基于無線傳感器網(wǎng)絡(luò)的室內(nèi)燈光控制系統(tǒng)[J]. 新型工業(yè)化,2011,1(9):16-21.
LI Tao. Indoor Light Control System Based on Wireless Sensor Networks [J]. The journal of new industrialization,2011,1(9):16-21.
[2] 于晶,蔣挺. 無線傳感器網(wǎng)絡(luò)移動錨節(jié)點定位技術(shù)綜述[J]. 新型工業(yè)化,2011,1(12):7-1.
YU Jing,JIANG Ting. A Survey of Mobile Anchor Node Localization in Wireless Sensor Network[J]. The journal of new industrialization,2011,1(12):7-1.
[3] 趙洪磊,王英龍,張先毅. 無線傳感器網(wǎng)絡(luò)熱點問題的研究[J]. 信息技術(shù)與信息化,2008 (2):51-54.
ZHAO Hong-lei,WANG Ying-long,ZHANG Xian-yi. Research Summary of Wireless Sensor Networks[J] Information Technology and Informatization,2008 (2):51-54.
[4] 程龍,楊波. 無線傳感器網(wǎng)絡(luò)操作系統(tǒng) TinyOS 的移植[J]. 計算機科學(xué),2011,38(B10):323-325.
CHENG Long,YANG Bo. Transplantation of Embedded Operating System Tinyos for Wireless Sensor Network Nodes[J]. Computer Science,2011,38(B10):323-325.
[5] 楊俊剛,史浩山,段愛媛. 無線傳感器網(wǎng)絡(luò)節(jié)點軟件設(shè)計及實現(xiàn)[J]. 計算機測量與控制,2009,17(11):2306-2308,2336.
YANG Jun-gang,SHI Hao-shan,DUAN Ai-yuan. Design and Implementation for Node Software of the Wireless Sensor Networks[J]. Computer Measurement & Control,2009,17(11):2306-2308,2336.
[6] 盧 旭,程良倫. 物聯(lián)網(wǎng)中無線傳感節(jié)點跨層數(shù)據(jù)收集協(xié)議[J]. 計算機工程,2013,39(5):110-113.
LU Xu,CHENG Liang-lun. Cross-layer Data Gathering Protocol for Wireless Sensing Node in Internet of Thing[J]. Computer Engineering,2013,39(5):110-113.
Study and Design on IOT Industrial Platform at the Field Level Wireless Sensor Network Nodes
SHEN Hang1,2, PANG Guan-shi1,2, LIN Shi-mei1,2
(1.EVOC Intelligent technology co., LTD, Shenzhen, Guangdong 518057, China; 2.National Special Computer Engineering Technology Research Center, Shenzhen, Guangdong 518057, China)
This paper analyzes the existing wireless sensor network nodes energy consumption and computing capabilities exist bottlenecks, based on the level of on-site wireless sensor network node hardware and software design. The hardware uses low-power RISC microprocessors to reduce /lower power consumption and increase processing capacity. The software introduces lightweight micro-level operating system TinyOS, and a delayed sleep policy was added to meet hard real-time requirements. While a special design was also conducted on the wireless radio-frequency drive and wireless router. As a result, wireless sensor network node can save 20% of energy consumption and prolong the life of the wireless sensor network node cycle three times longer using our design of wireless sensor network nodes.
IOT; Industrial platform; WSN nodes; TinyOS; Low power consumption
沈航,龐觀士,林詩美.物聯(lián)網(wǎng)工控平臺現(xiàn)場級無線傳感器網(wǎng)絡(luò)節(jié)點的研究和設(shè)計[J]. 新型工業(yè)化,2016,6(10):94-98.
10.19335/j.cnki.2095-6649.2016.10.015
: SHEN Hang, PANG Guan-shi, LIN Shi-mei. Study and Design on IOT Industrial Platform at the Field Level Wireless Sensor Network Nodes[J]. The Journal of New Industrialization, 2016, 6(10): 97-98.
沈航(1983-),男,工程師,主要研究方向:物聯(lián)網(wǎng),智能信息等;龐觀士(1963-),男,碩士,高級工程師,主要研究方向:計算機,電子設(shè)備,物聯(lián)網(wǎng)等;林詩美(1975-),女,江西人,電子專業(yè),本科,研究方向:電子信息,可靠性分析,計算機