楊濤
摘要:針對傳統(tǒng)網(wǎng)關(guān)節(jié)點功耗大的缺點,該文設(shè)計了一種低耗能的網(wǎng)關(guān)節(jié)點。該網(wǎng)關(guān)節(jié)點的硬件平臺主要由S3C2440A微處理器, K9F1208存儲器芯片以及作為通信模塊的DM9000A以太網(wǎng)芯片和CC2420無線射頻芯片構(gòu)成。同時,在硬件的基礎(chǔ)上該文移植了嵌入式Linux作為實時操作系統(tǒng),并將電能數(shù)據(jù)管理(PDM)模塊添加到該操作系統(tǒng)中,根據(jù)系統(tǒng)各部件的工作狀態(tài)對系統(tǒng)操作模式進行實時控制。通過實驗表明,該網(wǎng)關(guān)節(jié)點相對于傳統(tǒng)的網(wǎng)關(guān)節(jié)點而言,消耗相同的電能其工作時間比傳統(tǒng)的延長了50%,大大降低了網(wǎng)關(guān)節(jié)點的功耗,節(jié)能效果顯著。
關(guān)鍵詞:低耗能; 嵌入式Linux; 電能數(shù)據(jù)管理; 網(wǎng)關(guān)節(jié)點
中圖分類號:TP393.02 文獻標識碼:A 文章編號:1009-3044(2015)07-0082-03
Abstract: For the shortcomings of traditional gateway node large power consumption, a low energy gateway node is designed. In the design, the gateway node hardware platform which contains the S3C2440A as the core, adopts K9F1208 chip memory, as well as the DM9000A Ethernet and the CC2420 RF chip as communication module. Meanwhile, on the basis of the hardware, in this paper, embedded Linux as the real-time operating system is transplanted, and an electric energy data management (PDM) module is added to the operating system, it controls the system operating mode for real time according to the working status of the various components in the system..The experimental results show that the gateway node in this paper compare with the traditional gateway node, the working time is extended by 50% in the same power consumption, it greatly reduces the gateway node power consumption, and energy saving effect is remarkable.
Key words: low energy; embedded Linux; power data management (PDM); gateway node
隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,基于嵌入式的網(wǎng)絡(luò)結(jié)構(gòu)逐漸成為人們組網(wǎng)的發(fā)展方向[1]。網(wǎng)關(guān)作為網(wǎng)間協(xié)議變換器,它連接兩個或兩個以上相互分離的網(wǎng)絡(luò),完成網(wǎng)絡(luò)間協(xié)議格式數(shù)據(jù)的轉(zhuǎn)換,并負責建立和管理內(nèi)部網(wǎng)絡(luò)以及實現(xiàn)與外部網(wǎng)絡(luò)的通信連接[2]。本文以網(wǎng)絡(luò)之間的通信為研究對象,充分考慮了能源成本及處理功率等影響因素,設(shè)計了一種節(jié)能高效的嵌入式網(wǎng)關(guān)節(jié)點,延長了通信網(wǎng)絡(luò)系統(tǒng)的工作時間。
1 網(wǎng)關(guān)節(jié)點的硬件設(shè)計
1.1 控制模塊
控制器作為嵌入式網(wǎng)關(guān)節(jié)點中控制子系統(tǒng)的關(guān)鍵硬件,它承擔著對網(wǎng)絡(luò)數(shù)據(jù)的處理、存儲、傳輸?shù)戎匾蝿?wù),因此,對它的選擇需要考慮眾多因素,不僅要求它具備一般傳感器節(jié)點的基本性能,還要求其滿足以太網(wǎng)系統(tǒng)需求,符合普適計算機系統(tǒng)的相應(yīng)特點。同時為了減少網(wǎng)關(guān)節(jié)點的能源消耗,在選擇控制器時還應(yīng)將其功率消耗作為重要條件予以考慮。綜合以上條件,本文設(shè)計的嵌入式網(wǎng)關(guān)采用以32位的RISC微處理器S3C2440A作為主控制器,該處理器集成了程序存儲器、DMA控制器、ADC轉(zhuǎn)換器、定時器、存儲管理器、中斷控制器、串行設(shè)備和其他外圍資源。
1.2 存儲單元
該網(wǎng)關(guān)節(jié)點的同步動態(tài)隨機存儲器(SDRAM)采用了兩塊HY57V561620T存儲器芯片,它們在時鐘的上升沿到來時不但能控制一個完整數(shù)據(jù)的同步,而且還使數(shù)據(jù)的收發(fā)同步得以實現(xiàn)。此外,所有的輸入和輸出電壓均與LVTTL標準兼容。
本文在設(shè)計網(wǎng)關(guān)節(jié)點的數(shù)據(jù)存儲器時選用了大容量存儲器芯片閃存,其目的是提升遠程用戶訪問和查詢數(shù)據(jù)的效率。當前,最常用的閃存主要有兩種: NOR型和NAND型閃存。NOR型與NAND型閃存的區(qū)別很大, NOR型閃存有獨立的地址線和數(shù)據(jù)線,但價格比較貴,容量比較小;而NAND型地址線和數(shù)據(jù)是共用的I/O線,成本要低一些,且容量比NOR型大得多。結(jié)合本網(wǎng)關(guān)節(jié)點使用閃存的目的及成本的考慮,本文將選用了NAND型閃存芯片K9F1208。
1.3 網(wǎng)絡(luò)通信模塊
1.3.1 以太網(wǎng)控制子系統(tǒng)
以太網(wǎng)控制子系統(tǒng)的主要職責是負責控制和處理來自以太網(wǎng)的數(shù)據(jù)信息,并將它們傳輸?shù)骄W(wǎng)絡(luò)控制模塊。當網(wǎng)絡(luò)控制模塊需要向以太網(wǎng)發(fā)送數(shù)據(jù)時,以太網(wǎng)控制子系統(tǒng)會根據(jù)TCP/IP協(xié)議格式對數(shù)據(jù)進行打包,并通過網(wǎng)絡(luò)接口發(fā)送出去。
DM9000A是一種高集成低成本的以太網(wǎng)控制芯片,它的以太網(wǎng)接口為10/100M,配置有TCP/IP加速器且具有自動混頻功能。同時,選用這種芯片可以達到節(jié)能的目的,它支持3.3V-5V的輸入電壓,內(nèi)置8/16位內(nèi)部數(shù)據(jù)訪問接口兼容多種處理器,而且可以根據(jù)其處理數(shù)據(jù)量的大小通過協(xié)商功能自動配置,使其容量獲得最佳利用。此外,該芯片還支持IEEE802.3X全雙工流量控制,同時通過RJ45接口完成數(shù)據(jù)的收發(fā)工作。圖1為RJ45接口電路示意圖。
1.3.2 射頻識別子系統(tǒng)
該子系統(tǒng)用來實現(xiàn)網(wǎng)關(guān)節(jié)點無線通信的功能,它主要的任務(wù)是對網(wǎng)絡(luò)無線信號進行接收、放大、變換和發(fā)送等[3]。 本設(shè)計采用了Chipcon公司推出的CC2420,它是與IEEE 802.15.4規(guī)范兼容的2.4GHz無線控制射頻芯片。該芯片與S3C2440A通過SPI總線連接,并利用FIFO、FIFOP、SFD、CCA四個引腳來顯示該芯片數(shù)據(jù)收發(fā)的狀態(tài)。I/O接口也是通過該設(shè)備芯片在微處理器的控制下借助時鐘的下降沿完成工作。為了提升CC2420射頻芯片的通信能力,使高頻的微波信號盡可能傳至負載點減少信號反射回源點的損失,減少能源功耗,在設(shè)計外圍電路時本文還對射頻輸入輸出電路的阻抗匹配問題進行了考慮。根據(jù)CC2420射頻芯片的相關(guān)數(shù)據(jù)參數(shù)獲知,其最佳的負載阻抗為95+j187Ω,為了減少線路阻抗,饋線部分設(shè)計為蛇形。此外,考慮到網(wǎng)關(guān)節(jié)點的天線應(yīng)具有簡單、低耗能、低成本的要求,本文設(shè)計采用了1/4波長的單極天線,但該類天線阻抗不平衡,為了使該系統(tǒng)具有良好的射頻性能,在設(shè)計時加入了不平衡/平衡阻抗轉(zhuǎn)換電路,即BALUN電路。
1.4 能源供應(yīng)模塊
本設(shè)計使用了尺寸為10mm×32mm的非晶硅薄膜太陽能光伏板外部環(huán)境中收集其他能量,并將它們轉(zhuǎn)換為電能,作為系統(tǒng)能源供給的另一途徑。,該板輸出電壓及最大輸出電流分別為5V和10mA。在陽光充足的強光下,該光伏板輸出的最大功率為0.38mW,即使在光照較弱的陰天,輸出的功率也能達到0.22mW左右。
2 軟件平臺設(shè)計
為了保證網(wǎng)關(guān)節(jié)點各獨立組件的穩(wěn)定協(xié)調(diào)工作,滿足實時性、兼容性、容錯性、魯棒性、裁剪性及擴展性等要求,本文采用了開放源代碼的Linux操作系統(tǒng)作為軟件平臺。軟件平臺的移植主要涉及到操作系統(tǒng)的裁剪與編譯、驅(qū)動程序的開發(fā)等等。
2.1 Linux 內(nèi)核移植
為了使Linux軟件平臺能更好的管理協(xié)調(diào)網(wǎng)關(guān)節(jié)點中的各硬件設(shè)備, Linux內(nèi)核在啟動時需要為其自動添加一種在Linux操作系統(tǒng)中用于管理網(wǎng)關(guān)節(jié)點硬件的設(shè)備文件系統(tǒng)—devfs,并同時為其設(shè)置目錄/dev,以保證網(wǎng)關(guān)節(jié)點系統(tǒng)啟動后能方便的對所屬硬件設(shè)備進行配置。
由于S3C22440微處理器內(nèi)核配置文件Smdk2440_defcomfig已經(jīng)在開發(fā)人員中共享,而且本文已將其包含到Linux內(nèi)核中,所以在配置Linux內(nèi)核文件時只需要根據(jù)網(wǎng)關(guān)節(jié)點的工作需求在Smdk2440_defcomfig的基礎(chǔ)上進行相關(guān)增添和刪除的配置。
Linux內(nèi)核的編譯需要在系統(tǒng)的根目錄下輸入命令“shell”來完成,編譯后所產(chǎn)生的二進制文件zImage的儲存目錄為/arch/arm/boot/zImage[4]。
2.2 網(wǎng)絡(luò)通信模塊的驅(qū)動設(shè)置
CC2420射頻芯片通過4根SPI總線完成對高速緩存數(shù)據(jù)及狀態(tài)寄存器的讀寫等工作,SPI是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序主要是在sck的控制下,兩個雙向移位寄存器進行數(shù)據(jù)交換。在本文的網(wǎng)關(guān)節(jié)點設(shè)計中,SPI主要負責MUC與CC2420射頻芯片之間的數(shù)據(jù)收發(fā),其驅(qū)動實現(xiàn)CC2420硬件的初始化、SPI的輸入輸出的控制及實現(xiàn)對數(shù)據(jù)報的收發(fā)等工作。
2.3基于PDM網(wǎng)關(guān)節(jié)點的低功耗設(shè)計
在本文中,微處理器S3C2440A擁有著普通模式、低速模式、空閑模式和斷電模式四種操作模式。相比較正常工作模式電能消耗最大,斷電模式電能消耗最小。此外,該微處理器還可以對其所屬的Flash定時器、UART、SPI及其他接口控制器模塊的工作狀態(tài)進行控制,當一些模塊沒有任務(wù)處于空閑狀態(tài)時,微處理器就可以將相應(yīng)模塊的接口關(guān)閉降低功耗[5]。因此,本文通過在嵌入式Linux操作系統(tǒng)中嵌入電能數(shù)據(jù)管理(PDM)軟件模塊的將S3C2440A處理器能源管理這一優(yōu)勢應(yīng)用到網(wǎng)關(guān)節(jié)點系統(tǒng)中,使該節(jié)點的資源使用能加有效。
對嵌入式Linux操作系統(tǒng)的內(nèi)核具體修改如下:
1)在嵌入式Linux內(nèi)核配置選項中,選用CONFIG_PM選項使該操作系統(tǒng)內(nèi)核具有基本的能源管理功能。
2)設(shè)置喚醒中斷源,以使得S3C2440A處理器能響應(yīng)中斷源。中斷源主要為來自外部的中斷源0~15以及RTC周期性中斷。
3)控制外圍設(shè)備的能源消耗。本文采用了 Linux platform driver 驅(qū)動管理和注冊機制,通過platform_device_register()函數(shù)和platform_device_register()函數(shù)完成對外圍設(shè)備及其驅(qū)動的系統(tǒng)注冊和綁定。設(shè)備驅(qū)動通常包含有設(shè)備的檢測、卸載、休眠、喚醒等基本操作,因此,對外圍設(shè)備的能源消耗控制就可以通過設(shè)置設(shè)備驅(qū)動程序中的休眠和喚醒子程序來實現(xiàn)。
4)建立用戶空間能源服務(wù)的finger守護進程
本文采用較先進的用戶空間finger守護進程—AMPD完成向系統(tǒng)能源的監(jiān)控。在用戶空間、內(nèi)核空間及內(nèi)核電源管理子系統(tǒng)中分別采用APM-S、APM_suspend及PM_suspend命令來實現(xiàn)。同時,APMD可以顯示系統(tǒng)電源電量和充電狀態(tài),并把該狀態(tài)記錄到系統(tǒng)日志中。當系統(tǒng)的空閑時間超過了預(yù)設(shè)時間間隔時,AMPD就會向系統(tǒng)發(fā)出apm –s的命令讓系統(tǒng)進入冬眠,并重置定時器。
3 實驗
為了驗證本文設(shè)計的網(wǎng)關(guān)節(jié)點耗能效果,在實驗中,本文分別將使用DPM網(wǎng)關(guān)節(jié)點和一般網(wǎng)關(guān)節(jié)點與六個基于CC2420射頻芯片的傳感器組成兩個星型網(wǎng)絡(luò)。同時,通過串口將兩個網(wǎng)關(guān)節(jié)點與計算機相連,并利用計算機中的電源電壓監(jiān)控器(SVS)對它們的電壓值進行實時獲取和存儲。兩個網(wǎng)關(guān)節(jié)點的電壓值統(tǒng)計如圖2、圖3所示。
通過比較以上兩個圖的實驗結(jié)果得知,一般網(wǎng)關(guān)節(jié)點使用24小時電壓就從3.5V降到2.5V;但對于本使用了DPM的網(wǎng)關(guān)節(jié)點而言,電壓從3.5V降到2.5V需使用50個小時。這就意味著使用了DPM的網(wǎng)關(guān)節(jié)點在系統(tǒng)沒有任務(wù)時,系統(tǒng)將會被關(guān)閉,通過DPM軟件模塊進入休眠狀態(tài)。這種工作方式比傳統(tǒng)網(wǎng)關(guān)節(jié)點省一半的能源,節(jié)能效果明顯。
4 結(jié)論
本文設(shè)計了一種低耗能的嵌入式網(wǎng)關(guān)節(jié)點系統(tǒng),它的硬件平臺主要由S3C2440A微處理器,K9F1208芯片存儲器以及作為通信模塊的DM9000A以太網(wǎng)芯片和CC2420無線射頻芯片組成,此外,為了保證網(wǎng)關(guān)節(jié)點的正常工作,它還包含了相關(guān)的外圍設(shè)備和接口電路。同時,為了克服傳統(tǒng)網(wǎng)關(guān)節(jié)點功耗大的缺點,本文還將PDM軟件設(shè)計模塊添加到嵌入式Linux操作系統(tǒng)中,有效的降低了網(wǎng)關(guān)節(jié)點的能源消耗。
參考文獻:
[1] 彭建,崔更申,陳約林.ZigBee無線網(wǎng)絡(luò)協(xié)議層在Linux系統(tǒng)中的構(gòu)建[J].傳感器與微系統(tǒng),2007,26(8):69-71.
[2] 胡或,楊琳.基于自定義家電管理協(xié)議的家庭Web網(wǎng)關(guān)實現(xiàn)[J].計算機工程,2012,35(5):271-274.
[3] 黃麗瑩.骨干無線網(wǎng)狀網(wǎng)的排隊延遲性能研究[J],計算機應(yīng)用,2013,29(8):2179-2182.
[4] 徐勇軍.低速無線個域網(wǎng)實驗教程[M].北京:北京理工版社,2008.
[5] DARIANIAN M,MICHAEL M P.Smart home mobile RFID—Interact—of-things systems and services[C].ICACTE 2008:International Conference on Advanced Computer Theory and Engineering Washington, DC:IEEE Press,2013:116-120.