黃志武+王曙霞
摘 要: 針對傳統(tǒng)傳感器節(jié)點(diǎn)嵌入方法存在成本較高的問題,提出一種基于S3C2410的高精度傳感器節(jié)點(diǎn)嵌入式設(shè)計(jì)方法,首先設(shè)計(jì)硬件平臺核心模塊以降低能耗,再對外擴(kuò)展功能安裝可編程放大器,滿足不同型號信號的放大需求。在此基礎(chǔ)上,結(jié)合硬件進(jìn)行模塊設(shè)計(jì),完成軟件的引擎RSSI定位,最終計(jì)算出目標(biāo)傳感器的節(jié)點(diǎn)坐標(biāo)。實(shí)驗(yàn)結(jié)果證明,所提設(shè)計(jì)方法能夠有效提升傳感器的網(wǎng)絡(luò)通信能力,延長傳感器節(jié)點(diǎn)的使用壽命。
關(guān)鍵詞: S3C2410; 傳感器節(jié)點(diǎn); 嵌入式設(shè)計(jì)方法; RSSI定位
中圖分類號: TN929?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)19?0033?04
Embedded design of high?precision sensor node based on S3C2410
HUANG Zhiwu, WANG Shuxia
(School of Computer and Information Science, Hubei Engineering University, Xiaogan 432000, China)
Abstract: The traditional sensor node embedded method has high cost, so an embedded design method of high?precision sensor node based on S3C2410 is put forward. The kernel module of hardware platform was designed to reduce the energy consumption, and the programmable amplifier was installed for the external extended function to meet the amplification demand of different types of signals. On this basis, the sensor module was designed with hardware to accomplish the positioning of engine RSSI in software, and calculate the coordinate of the target sensor node finally. The experimental results show that the proposed design method can improve the communication ability of the sensor network effectively, and prolong the service life of the sensor node.
Keywords: S3C2410; sensor node; embedded design method; RSSI positioning
0 引 言
隨著設(shè)備應(yīng)用的復(fù)雜化和多樣化,無線網(wǎng)絡(luò)傳感器的嵌入式操作系統(tǒng)成為主要支撐技術(shù)之一[1]。在無線傳網(wǎng)絡(luò)傳感器中,傳感器節(jié)點(diǎn)主要負(fù)責(zé)采集感知對象的信息[2?3],對信息進(jìn)行計(jì)算和存儲,以及傳感器節(jié)點(diǎn)之間的相互通信等,由此高精度傳感器節(jié)點(diǎn)的開發(fā)成為了主要研究對象。文獻(xiàn)[4?5]中設(shè)計(jì)的傳感器節(jié)點(diǎn)在電源儲存能量、快速通信能力以及計(jì)算和存儲能力等方面都十分有限,文獻(xiàn)[6]需要設(shè)計(jì)出符合硬件資源傳感器節(jié)點(diǎn)的操作系統(tǒng),才能實(shí)現(xiàn)對傳感器節(jié)點(diǎn)硬件資源的有效管理,其節(jié)點(diǎn)設(shè)計(jì)過程繁瑣。文獻(xiàn)[7]有效縮短了開發(fā)無線傳感器網(wǎng)絡(luò)的周期,但其存儲空間較小。文獻(xiàn)[8]提出一種面向無線網(wǎng)絡(luò)應(yīng)用的傳感器節(jié)點(diǎn),可以根據(jù)具體的應(yīng)用平臺對軟硬件進(jìn)行裁剪,能夠快速建立專用的傳感器節(jié)點(diǎn),但是該方法存在開發(fā)成本較高的問題。文獻(xiàn)[9]研究出一種實(shí)時(shí)傳感器操作系統(tǒng)。該系統(tǒng)主要應(yīng)用于8~64位單機(jī)不同類型的傳感器節(jié)點(diǎn)系統(tǒng)。系統(tǒng)的實(shí)時(shí)性和可靠性較高,但穩(wěn)定性較差,實(shí)際應(yīng)用性不高。文獻(xiàn)[10]通過分析節(jié)點(diǎn)誤差設(shè)計(jì)無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn),采用諧波分析法確定誤差的主要頻率次數(shù),有針對性的設(shè)計(jì)了無線傳感器網(wǎng)絡(luò)間隔特定角度的探測頭結(jié)構(gòu),探測頭值間采用的是數(shù)字相加的數(shù)據(jù)處理方式,其測量準(zhǔn)確度較低。
針對上述問題,結(jié)合傳感器節(jié)點(diǎn)自身的特點(diǎn),提出硬件設(shè)計(jì)結(jié)合軟件定位方法的高精度傳感器節(jié)點(diǎn)嵌入式設(shè)計(jì)。首先設(shè)計(jì)傳感器模塊并控制模塊能耗,在外部擴(kuò)展功能接口放置一個(gè)編程放大器,可滿足不同型號傳感器的信號放大需求,再利用軟件基于RSSI定位算法進(jìn)行嵌入式傳感器節(jié)點(diǎn)定位。通過該方法可以對S3C2410進(jìn)行高精度傳感器節(jié)點(diǎn)嵌入式設(shè)計(jì)。
1 S3C2410高精度傳感器節(jié)點(diǎn)嵌入式設(shè)計(jì)
1.1 嵌入式傳感器節(jié)點(diǎn)的硬件平臺設(shè)計(jì)
依據(jù)節(jié)點(diǎn)設(shè)計(jì)原則,將應(yīng)用傳感器節(jié)點(diǎn)硬件平臺分為如下四個(gè)模塊:
(1) 傳感器核心模塊。主要包括處理器和外存儲芯片,主要負(fù)責(zé)對傳感器數(shù)據(jù)進(jìn)行信息采集、處理以及儲存。
(2) 傳感器節(jié)點(diǎn)和外擴(kuò)展功能接口模塊。主要提供多種傳感器和模擬式傳感器通信接口,能方便傳感器節(jié)點(diǎn)以及其他功能擴(kuò)展。
(3) 傳感器通信模塊。主要包括無線網(wǎng)絡(luò)模塊和接口,由此完成數(shù)據(jù)的無線發(fā)送。
(4) 傳感器電源模塊,傳感器節(jié)點(diǎn)工作室提供電源,傳感器節(jié)點(diǎn)硬件結(jié)構(gòu)如圖1所示。
1.1.1 核心模塊設(shè)計(jì)
(1) 處理器
處理器是傳感器節(jié)點(diǎn)工作時(shí)的核心零部件,不僅能控制節(jié)點(diǎn),還是擴(kuò)展和實(shí)現(xiàn)各種功能的基礎(chǔ)。該節(jié)點(diǎn)設(shè)計(jì)應(yīng)用三星公司的S3C2410處理器。對于高性能以及低功耗應(yīng)用內(nèi)核,S3C2410頻率為64 MHz,具有較強(qiáng)的數(shù)據(jù)處理能力,它有豐富的外接口,內(nèi)含多個(gè)SPI接口和USB接口,方便傳感器節(jié)點(diǎn)擴(kuò)展功能;同時(shí),具有12位轉(zhuǎn)換器,不需要再外接轉(zhuǎn)換芯片,減小了外圍電路的復(fù)雜程度。此外,S3C2410具有多種低功耗模式,可利用實(shí)時(shí)時(shí)鐘進(jìn)行喚醒工作,有效降低了節(jié)點(diǎn)功耗。
(2) 傳感器無線收發(fā)模塊
傳感器無線收發(fā)模塊采用DIGI公司的XBee模塊,此模塊工作于ISM 2.6 GHz頻段,該數(shù)據(jù)傳輸速度高達(dá)260 KB/s,內(nèi)部存有兼容協(xié)議,能夠滿足低功耗和低成本的無線傳感器需求,傳感器通信距離遠(yuǎn),室外可達(dá)2 000 m,模塊合成度高,開發(fā)和使用都很便利。XBee模塊工作時(shí)的電壓為2.7~3.3 V,利用串口和S3C2410進(jìn)行通信,XBee模塊與處理器的接口如圖2所示。
為了降低傳感器節(jié)點(diǎn)的功耗,使用該模塊時(shí)需要注意兩個(gè)問題:一是在不受通信距離影響的情況下,盡可能降低發(fā)射功率;二是在發(fā)射完成后,把節(jié)能控制引腳和發(fā)送數(shù)據(jù)引腳設(shè)置為0,這樣能夠有效降低XBee模塊的功耗。
1.1.2 傳感器和外擴(kuò)展功能接口模塊
接口模塊主要對外接傳感器提供接口,此接口具有一個(gè)針對傳感器應(yīng)用的可編程放大器。目前還沒有準(zhǔn)確的通信總線應(yīng)用于這個(gè)模塊上,但調(diào)查結(jié)果顯示,SPI外圍接口和HC總線能廣泛應(yīng)用于大多數(shù)測量傳感器中,具有一定的實(shí)用性。因此,接口的引腳包括傳感器電源接口、傳感器節(jié)點(diǎn)數(shù)字接口、傳感器模擬接口、HC接口、SPI接口和模擬信號接口各一個(gè),其他為可配置的通用口,圖3為SPI和HC接口同傳感器連接的示意圖。
可編程放大器主要對模擬傳感器信號進(jìn)行放大,可以選擇可編程功能進(jìn)行倍數(shù)放大,能夠滿足不同信號的放大需求。該芯片采用韓國微芯公司生產(chǎn)的S3C2410芯片,有8個(gè)可選擇的增益能在多個(gè)通道之間進(jìn)行切換,該芯片具有足夠的靈活性,能夠簡化部分模擬電路,滿足嵌入式網(wǎng)絡(luò)傳感器節(jié)點(diǎn)的設(shè)計(jì)要求。
1.2 傳感器節(jié)點(diǎn)的定位方法
在無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)中,已知傳感器節(jié)點(diǎn)的周期性目標(biāo)節(jié)點(diǎn)發(fā)射信號,傳感器目標(biāo)節(jié)點(diǎn)依次對接收信號采樣后進(jìn)行存儲。S3C2410集成了硬件定位引擎,能夠?qū)崿F(xiàn)準(zhǔn)確定位,利用硬件對移動(dòng)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的坐標(biāo)進(jìn)行計(jì)算,因此降低了能耗。S3C2410嵌入的定位引擎采用基于RSSI(Received Signal Strength Indicator)的定位方法。等獲得足夠數(shù)量的傳感器節(jié)點(diǎn)信息后,通過該定位算法計(jì)算目標(biāo)傳感器節(jié)點(diǎn)中的坐標(biāo)。
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)依據(jù)其他傳感器網(wǎng)絡(luò)節(jié)點(diǎn)位置信息,利用式(1)得出傳感器節(jié)點(diǎn):
[Hopsize=(xi-xj)2+(yi-yj)2HopSij] (1)
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)將均勻分布在整個(gè)網(wǎng)絡(luò),未知的節(jié)點(diǎn)記錄第一個(gè)節(jié)點(diǎn),并向其他傳感器節(jié)點(diǎn)轉(zhuǎn)發(fā)。未知的節(jié)點(diǎn)接收到傳感器網(wǎng)絡(luò)節(jié)點(diǎn),依據(jù)記錄的節(jié)點(diǎn)信息,按式(2)得出未知節(jié)點(diǎn)到其他節(jié)點(diǎn)之間的距離:
[Li=Si×Hopsize] (2)
假設(shè)待定位節(jié)點(diǎn)與傳感器節(jié)點(diǎn)間的距離為[dij],那么每個(gè)傳感器節(jié)點(diǎn)之間的距離為待定位節(jié)點(diǎn)的距離向量,通過對節(jié)點(diǎn)進(jìn)行采集,構(gòu)造并求解最優(yōu)化節(jié)點(diǎn):
[Hopsize=min 12ω2+γ12i=1mξ2] (3)
當(dāng)前傳感器節(jié)點(diǎn)可以用許多函數(shù)求解,函數(shù)具有參數(shù)通用性強(qiáng)等優(yōu)點(diǎn),具體定義為:
[K(RM,RN)=exp-RM,RN2σ22] (4)
通過引入未知節(jié)點(diǎn)[a]和[b],將式(3)轉(zhuǎn)化為對偶問題,即:
[0I T1 Ω+γ-1Iba=0x] (5)
由此可得出[a]和[b],則傳感器節(jié)點(diǎn)的函數(shù)為:
[x=i=1maiK(RI,RJ)+b] (6)
每個(gè)傳感器節(jié)點(diǎn)的距離為[D,]構(gòu)成了距離向量,將其作為決策函數(shù)的輸入向量,可得未知節(jié)點(diǎn)[S]的坐標(biāo)值,已知[S]的坐標(biāo)值,則依據(jù)兩點(diǎn)之間的距離公式可得:
[(x-x1)2+(y-y1)2=d21(x-x2)2+(y-y2)2=d22 ?(x-xn)2+(y-yn)2=d2n] (7)
采用式(7)可將傳感器節(jié)點(diǎn)方程轉(zhuǎn)化為:
[2(x1-xn)x+2(y1-yn)y=x21-x2n+y21-y2n-d21+d2n2(x2-xn)x+2(y2-yn)y=x22-x2n+y22-y2n-d22+d2n] (8)
由式(8)可得線性傳感器節(jié)點(diǎn)的表達(dá)式為:
[AX=b]
其中:
[X=(x,y)τ]
[A=2(x1-xn) 2(y1-yn)2(x2-xn) 2(y2-yn)2(xn-1-xn) 2(yn-1-yn)] (9)
那么由未知傳感器節(jié)點(diǎn)[P(x,y)]的位置信息可得到解向量為[X=(ATA)-1ATb],由上述結(jié)論可知,該節(jié)點(diǎn)定位方法應(yīng)用于嵌入式S3C2410的高精度傳感器節(jié)點(diǎn)中可以取得明顯成果。
2 實(shí)驗(yàn)結(jié)果與分析
2.1 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能耗實(shí)驗(yàn)
實(shí)驗(yàn)設(shè)計(jì):電壓為2 V,無線射頻為2.403 GHz,射頻功率為0 dBm。表1為傳感器節(jié)點(diǎn)在穩(wěn)定情況下消耗電流的情況。
對比表1和表2測試實(shí)驗(yàn)得到的數(shù)據(jù)能夠看出,本文提出的傳感器節(jié)點(diǎn)的能耗和其他幾種典型的傳感器節(jié)點(diǎn)相比,能耗相對較低。
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能量主要消耗在無線網(wǎng)絡(luò)通信上。鑒于S3C2410的射頻功率是可以編程的,減小了傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的功率并降低了能耗。因而通過降低射頻功率,減少傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的傳輸次數(shù),縮短傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的通信距離,不但能降低單個(gè)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能耗,同時(shí)對于傳感器網(wǎng)絡(luò)節(jié)點(diǎn)來說,可以平衡傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能耗。在路由選擇控制中優(yōu)先使用能量剩余多的傳感器網(wǎng)絡(luò)節(jié)點(diǎn),延長了無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)壽命。
2.2 對RSSI算法進(jìn)行實(shí)驗(yàn)結(jié)果分析
RSSI值(信號強(qiáng)度)主要反映接收無線信號強(qiáng)度與距離的關(guān)系,由此可以測量傳感器之間的距離。因?yàn)镽SSI值容易受外界環(huán)境影響,不同環(huán)境的差別較大。如果想要正確的使用RSSI值,需要提前測出與RSSI值相關(guān)的參數(shù)。此外,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)會因其他原因退出無線網(wǎng)絡(luò),這時(shí)就能夠依據(jù)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的RSSI值了解現(xiàn)有被監(jiān)測區(qū)域的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)覆蓋的區(qū)域情況,便于安排新的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)加入到無線網(wǎng)絡(luò)中去,達(dá)到優(yōu)化無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)功能的目的。
實(shí)驗(yàn)環(huán)境:附近沒有障礙物的室外操場。
實(shí)驗(yàn)設(shè)計(jì):發(fā)射節(jié)點(diǎn)的射頻功率為0 dBm;隨時(shí)可以觀察到傳感器節(jié)點(diǎn)與發(fā)射節(jié)點(diǎn)間距離的變化,傳感器接收節(jié)點(diǎn)獲取的RSSI值也會隨之改變。圖4為傳感器接收節(jié)點(diǎn)獲取RSSI值的變化情況圖。圖5為傳感器接收節(jié)點(diǎn)的RSSI值與10lg[p]([p]代表發(fā)射功率)的關(guān)系。
從圖4能夠看出,隨著發(fā)射節(jié)點(diǎn)和接收節(jié)點(diǎn)之間的距離越遠(yuǎn),RSSI值就越小。從圖5能夠看出RSSI值和發(fā)射功率之間存在線性關(guān)系,信號強(qiáng)度與發(fā)射功率成正相關(guān)關(guān)系,隨著發(fā)射功率的增加,接收到的RSSI值(信號強(qiáng)度)也隨之增加,且使用本文設(shè)計(jì)的高精度傳感器嵌入式節(jié)點(diǎn),其實(shí)際測試得出的RSSI值與發(fā)射功率關(guān)系與理論變化曲線基本吻合,驗(yàn)證了本文設(shè)計(jì)嵌入式節(jié)點(diǎn)的有效性。
綜上所述,一般傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的通信距離為較大的網(wǎng)絡(luò)通信距離。在布置無線網(wǎng)絡(luò)傳感器時(shí)要注意測試較大的通信距離,不能盲目地去布置傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)??刂朴行У耐ㄐ啪嚯x對進(jìn)行S3C2410的高精度傳感器節(jié)點(diǎn)進(jìn)行嵌入式設(shè)計(jì)具有重要的意義。
3 結(jié) 論
本文研究了基于嵌入式傳感器節(jié)點(diǎn)芯片S3C2410的無線傳感器網(wǎng)絡(luò)的一些關(guān)鍵技術(shù),具有重要的實(shí)踐意義。本文分析了嵌入式操作系統(tǒng)在傳感器節(jié)點(diǎn)中設(shè)計(jì)的必要性,并提出如何對高精度傳感器節(jié)點(diǎn)進(jìn)行嵌入式設(shè)計(jì),以此對S3C2410高精度傳感器節(jié)點(diǎn)進(jìn)行定位實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的定位方法對S3C2410高精度傳感器節(jié)點(diǎn)的嵌入式設(shè)計(jì)具有重大意義。
參考文獻(xiàn)
[1] 趙丹,肖繼學(xué),劉一.智能傳感器技術(shù)綜述[J].傳感器與微系統(tǒng),2014,33(9):4?7.
[2] 梁琴琴,趙志耘,趙蘊(yùn)華.全球MEMS傳感器技術(shù)創(chuàng)新現(xiàn)狀與趨勢:基于2000?2014年專利分析[J].科技管理研究,2016,36(10):165?169.
[3] 陳尚,曹曉瑞,陳永強(qiáng),等.纖毛式MEMS傳感器技術(shù)研究[J].傳感器世界,2014,20(12):14?19.
[4] 王碩,趙藝杰,陸旸.食品安全檢測中分子印跡聚合物傳感器技術(shù)的研究現(xiàn)狀及展望[J].食品科學(xué)技術(shù)學(xué)報(bào),2015,33(4):1?5.
[5] 賈志峰,朱紅艷,王建瑩,等.基于介電法原理的傳感器技術(shù)在土壤水分監(jiān)測領(lǐng)域應(yīng)用探究[J].中國農(nóng)學(xué)通報(bào),2015,31(32):246?252.
[6] 易容,張海平.基于加速度計(jì)傳感器技術(shù)的老年人日常體力活動(dòng)與能量消耗的研究[J].中國老年學(xué),2016,36(4):918?919.
[7] 李慕峰,王煥娟,李云龍.傳感器技術(shù)在電網(wǎng)中的應(yīng)用評述[J].傳感器與微系統(tǒng),2014,33(9):8?10.
[8] 任蕾,林鑫偉.“傳感器技術(shù)”和“信號與系統(tǒng)”課程的交叉教學(xué)[J].電氣電子教學(xué)學(xué)報(bào),2016,38(2):18?20.
[9] 姜春艷,陳為.校企合作建設(shè)傳感器技術(shù)及應(yīng)用課程的研究與實(shí)踐[J].職業(yè)時(shí)空,2014,10(11):53?55.
[10] 李海俠.農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用現(xiàn)狀及相關(guān)傳感器技術(shù)概述[J].電子元件與材料,2014,33(2):88?89.