尤義山, 曾 偉, 張金霞, 余 綜
(華北計算技術研究所,北京100083)
物聯網是在計算機互聯網的基礎上,利用無線射頻識別技術、無線數據通信等技術,構造一個覆蓋世界上萬事萬物的“InternetofThings”。在這個網絡中,物品(商品)能夠彼此進行“交流”,而無需人的干預。其實質是利用射頻自動識別技術,通過計算機互聯網實現物品(商品)的自動識別和信息的互聯與共享。傳感技術主要服務于數據采集系統。數據采集是指將溫度、壓力、流量、位移等模擬量采集轉換成數字量后,再由計算機進行存儲、處理、顯示或打印的過程。數據采集系統性能的好壞,主要取決于它的精度和速度。在保證精度的條件下,應有盡可能高的采樣速度,以滿足實時采集、實時處理和實時控制的要求。
傳感器及智能標簽的供電問題已成為制約其應用的一個瓶頸。能量收集技術是將環境中的能量,如機械振動、光能、溫度變化、電磁能量、化學能、風能、熱能等,進行收集并實現應用,以解決標簽或傳感器使用中的供電問題。本方案嘗試采用無線射頻能量收集技術實現能量收集,由于收集的能量密度低,相應的電源管理和低功耗技術對智能傳感標簽的供電問題也至關重要。
無線射頻識別技術(radio frequencyidentification,RFID)是一種非接觸的自動識別技術。RFID技術同條形碼等傳統的識別技術相比,具有抗干擾能力強、信息量大、非視覺范圍讀寫和壽命長等特點,被廣泛用于物流、供應鏈、動物和車輛識別、門禁系統等領域。RFID的系統結構示意圖如圖1所示。RFID系統由3部分組成,第一部分是標簽,它被固定在物體上,并由一個特殊的ID號(Identification)來標定其身份。第二部分是讀寫器,讀寫器向標簽發送命令,然后接收存儲在標簽中的數據。最后一部分是數據管理系統,它的功能是存儲信息和管理數據。數據管理系統能夠與固定在遠處的閱讀器進行通信,從而能夠在任意時間獲取標簽中的信息。
標簽可以分為無源標簽、半有源標簽、有源標簽和智能傳感標簽[1]。無源標簽具有被無線射頻識別技術識別的功能,半有源標簽相對于無源標簽增加了自動處理傳感數據的功能,有源標簽相對于半有源標簽增加了電源管理的功能,而智能傳感標簽相對于有源標簽增加了智能感知周圍環境的功能。

圖1 RFID系統結構
在某些應用場合當中,傳統的電子標簽已經不能滿足要求。例如,許多食品和藥品等的包裝必須在特定的溫度和低污染環境下存儲運輸,一般的標簽無法了解和監控商品保存的溫度和保質情況,而智能傳感標簽就可以在產品貯運過程中實時監控對溫度要求敏感、易腐爛的產品的溫度,警示廠商防止溫度變化對產品的影響。智能傳感標簽在商品生產、儲運、銷售的庫存管理等領域有廣闊的應用空間。
本文設計并實現了一種基于MSP430的智能傳感標簽模擬系統的設計方案。該智能傳感標簽符合ISO/IEC18000-6C[2]標準。系統含有溫度傳感器和加速傳感器以及存儲系統,可以定時的采集外部溫和加速度等數據,采集的數據可以存放在EEPROM里面,符合ISO/IEC18000-6C標準的讀寫器可以讀取傳感器采集到的數據。該系統還可以無線收集能量[3],收集的能量存儲到一個超級電容里,給系統供電。
硬件結構圖如圖2所示。系統采用MSP430系列低功耗單片機MSP430F2132作為微控制器,主要控制溫度傳感器、加速傳感器、EEPROM的讀寫、接收和發送數據、電源管理等。

圖2 智能傳感標簽硬件結構
MSP430F2132是一個16位的、低功耗的單片機[4]。當MSP430F2132的工作電壓為2.2V,主頻率為1MHz時,其工作電流是200uA,當單片機處于LPM3的低功耗模式時,其工作電流為0.7uA,因此選用MSP430F2132(以下簡稱MSP430)作為系統的微控制器。MSP430有3組I/O口,每組有8個I/O口引腳。MSP430的I/O口一般都是GPIO口和專用接口復用管腳。通過對 PXSEL寄存器的編程可以選定 I/O口引腳作為GPIO口或者是專用接口。MSP430的部分引腳功能定義見表1。
溫度傳感器和加速傳感器分別將外部溫度和加速度轉化為模擬電壓信號,然后通過MSP430內部的ADC再將模擬電壓信號轉化為數字信號,因此,溫度傳感器和加速傳感器的模擬信號輸入分別接MSP430的ADC輸入通道P3.7、P2.0、P2.1和 P2.2。由于溫度傳感器和加速傳感器的工作電流很小,MSP430的IO口電流足以支持其進行正常工作,因此設計系統時,將P1.0和P1.5分別作為溫度傳感器或者加速傳感器的供電接口。當P1.0和P1.5置高時,溫度傳感器和加速傳感器可以正常工作;當P1.0和P1.5置低時,溫度傳感器和加速傳感器關閉,從而實現利用IO口控制傳感器工作狀態,以達到以減小系統的功耗的目的。

表1 MSP430的部分引腳功能定義
MSP430通過內部IIC模塊讀寫EEPROM。P3.1和P3.2引腳作為MSP430內部I2C模塊的數據信號線和時鐘信號線,分別連接EEPROM的數據線和時鐘線。
無線能量收集模塊將從環境收集的電磁能量轉換后進行儲存,隨后分配到微控制器、射頻收發部件,保證其電源需求。無線能量收集主要采用倍壓整流的原理,利用濾波電容的存儲作用,由多個電容和二極管獲得幾倍于輸入電壓的輸出電壓。天線[5]接收到860MHz到960MHz頻段之間的無線電波信號將其轉化成交流電,經過5級倍壓整流電路[6]和穩壓電路后,轉化為直流電,給系統提供正常工作所需要的電壓,并且可以對超級電容充電,超級電容充當電池的作用,使MSP430能夠持續工作。
當超級電容的電壓大于或者等于1.8V時,MSP430才能正常工作。為了防止工作時,系統數據因為供電電壓不足而丟失,當超級電容的電壓低于2V時,MSP430將處于低功耗模式,此時,系統可以通過無線充電方式給超級電容充電,當充電電壓大于2V,系統將正常工作。因此,對于電壓監視引腳,需要配置成外部中斷方式,當超級電容的電壓大于2V時,外部中斷將MSP430從低功耗模式喚醒。
系統軟件流程如圖3所示。系統軟件主要包括接收數據、發送數據、與讀寫器模塊交互狀態圖、傳感器定時采集數據以及數據存儲系統等5部分。當系統供電電壓大于1.8V時,系統開始啟動。如果供電電壓小于2V,系統剛啟動后就會進入休眠狀態。此時,系統繼續收集能量,當供電電壓大于2V時,系統將被喚醒,開始定時的采集數據,并做準備接收數據的處理。該模擬標簽等待接收數據時,將處于低功耗模式。標簽接收到讀寫器發送的命令后,將對命令解析,并向讀寫器返回數據。當模擬標簽與讀寫器完成一次完整的交互后,程序將檢測系統供電電壓是否低于2V,如果低于2V,系統將處于低功耗模式,否則標簽等待與讀寫器進行下一次交互。

圖3 系統軟件流程
ISO/IEC18000-6C標準規定,讀寫器向標簽發送數據的編碼格式為PIE(pulse-intervalencoding)編碼,因此標簽接收讀寫器發送的數據主要是對PIE編碼的解碼。PIE編碼格式如圖4所示。圖4中PW為脈沖寬度,Tari為一個比特0的長度,一般在6.25 s到25 s之間。

圖4 PIE編碼
發送數據之前,讀寫器首先發送一段界定符,界定符的長度大約為12.5 s,再發送一個比特0編碼,然后再發送RTcal(R=>Tcalibration,其長度等于比特0和比特1的編碼長度之和),如果是查詢命令(Query)則再發送TRcal(T=>Rcalibration,其長度在1.1倍的RTcal和3倍的RTcal之間),然后在發送數據。如果是其它命令,則讀寫器發送完RTcal之后直接發送數據。
系統采用MSP430計時器捕獲中斷的方式接收數據[7],接收數據的引腳P1.2為MSP430計時器的捕獲模式輸入,將捕獲模式設置成上升沿觸發,每次捕獲中斷時可以記錄計時器的值,計時器的值即為捕獲時間。第二次捕獲中斷時捕獲時間即為RTcal的值,如果第三次捕獲中斷時,捕獲時間大于RTcal,則捕獲時間的值即為TRcal,否則為數據。第四次及其以后的捕獲中斷則為數據,如果捕獲中斷時,捕獲時間大于RTcal的一半,則是比特1,如果捕獲時間小于RTcal的一半,則是比特0。
ISO/IEC18000-6C標準規定,標簽向讀寫器發送數據的編碼格式為FM0、Miller2、Miller4或者是Miller8。FM0的編碼如圖5所示。其它3種編碼示意圖詳見ISO/IEC18000-6C標準。

圖5 FM0編碼
系統采用MSP430定時器的比較模式發送數據。首先對數據進行編碼,然后再進行發送。發送數據引腳P1.1為MSP430定時器的比較模式的輸出引腳,將比較模式的輸出設置成翻轉模式。首先初始化比較寄存器TACRR0,當計數寄存器TAR的值大于或者等于TACRRO時,輸出的波形將發生翻轉,程序只需在適當的時候改變比較寄存器TACRR0的值,即可得到相應的編碼。
按照ISO/IEC 18000-6C標準的規定,標簽在交互過程中有就緒、仲裁、回復、應答、開放、保護、殺死等7種狀態。根據讀寫器發送不同的命令,標簽將進入對應的狀態。標簽的狀態變遷圖[8]如圖6所示。
智能傳感標簽上電復位后將處于就緒態,當標簽接收到Select命令時,將被標記成已選標記或者某一個會話方式,標簽收到查詢命令后,如果檢測到查詢命令設定的選定標記或者會話方式與最近一次收到的Select命令不相同,標簽將停留在就緒態,否則標簽將進入仲裁狀態或者回復狀態。處于仲裁狀態的標簽,當收到QueryAdjust或者QueryRep命令時,如果槽計數值不等于0,標簽將停留在仲裁狀態,否則標簽將轉到回復狀態。處于回復狀態的標簽,當收到QueryAdjust命令時,如果槽計數值等于0,標簽將停留在回復狀態;當收到QueryRep命令時,標簽將轉到仲裁狀態。處于應答狀態的標簽,當收到Reg_RN命令時,如果檢測到收到的16位隨機數與最近一次回復的隨機數不相同,標簽將停留在應答狀態,否則標簽將轉到開放或者保護狀態。處于開放狀態的標簽,如果接收到Reg_RN、Read、Write、Lock等命令時,將停留在開放狀態;如果接收到QueryRep、QueryAdjust命令,將轉到就緒狀態;如果接收到Access命令,將轉到保護狀態;如果接收到Kill命令,當殺死密碼不等于0時將轉到殺死狀態,否則維持開放狀態。處于保護狀態的標簽,如果接收到Reg_RN、Read、Write、Lock等命令時,將停留在保護狀態;如果接收到QueryRep、QueryAdjust命令,將轉到就緒狀態;如果接收到Kill命令,當殺死密碼不等于0時,將轉到殺死狀態,否則維持保護狀態。

圖6 標簽狀態變遷
系統根據圖6所示的狀態圖編程,在每種狀態下都要處理相應的命令,程序根據命令碼以及命令的長度來判斷接收到的命令是否正確。部分18000-6C的命令碼以及長度見表2。

表2 部分命令編碼以及命令長度
傳感器定時采集數據采用MSP430定時器中斷方式實現。MSP430外部接了一個32.768KHz的低速晶振,作為MSP430的定時器的時鐘輸入。MSP430共有5種低功耗模式,分別為LPM0(low power mode 0)、LPM1、LPM2、LPM3、LPM4。LPM0到LPM4耗電量逐漸減少。由于 MSP430外部接了一個低速晶振,因此,該系統可以達到LPM3模式,處在LPM3模式的下的系統功耗僅為1uA(工作電壓2.2V,工作頻率1MHz)。溫度傳感器和加速傳感器分別將外部溫度和加速度轉化為模擬電壓信號,MSP430內部的ADC再將模擬電壓信號轉化為數字信號。系統可以定時的采集外部溫度和加速度數據,并存入EEPROM。定時器中斷服務程序流程圖如圖7所示。
系統的存儲器采用外部EEPROM。系統采用MSP430內部集成內部的I2C模塊接口讀寫EEPROM。MSP430內部的I2C模塊主要包括控制寄存器UCBXCTL0和UCBXCTL1、波特率寄存器UCBXBR0和UCBXBR1、狀態寄存器UCBXSTAT、接收寄存器UCBXRXBUF、發送寄存器UCBXTXBUF、從機地址寄存器UCBXI2CSA以及中斷控制寄存器UCBXI2CIE等。寄存器UCBXCTL0和UCBXCTL1主要配置I2C的從機模式或者是主機模式、從機地址位數、I2C時鐘選擇、I2C總線開始和停止信號等。波特率寄存器UCBXBR0和UCBXBR1主要配置I2C總線的速率。狀態寄存器UCBXSTAT主要獲得I2C總線的狀態。發送寄存器UCBXTXBUF主要作為發送數據的緩沖寄存器。接收寄存器UCBXRXBUF主要作為接收數據的寄存器。

圖7 定時器中斷服務流程
從EEPROM讀取數據時,首先將MSP430初始化為主機模式,設置I2C時鐘信號的頻率,然后依次發送總線開始命令、向EEPROM寫入數據命令、EEPROM子地址命令、從EEPROM讀取數據命令,最后可以連續的從 EEPROM讀取數據。向EEPROM寫入數據時,首先將MSP430初始化為主機模式,設置 I2C時鐘信號的頻率,然后依次發送總線開始命令、向EEPROM寫入數據命令、EEPROM子地址命令,最后可以連續的向EEPROM寫入數據。
與普通的標簽相比,文章中設計和實現的智能傳感標簽增加了無線收集能量和定時采集外部溫度以及加速度數據,并且能夠對采集的數據進行相應的分析處理和存儲的功能。該智能傳感標簽體積小、功耗低。試驗結果表明,當智能傳感標簽周圍的電磁場強達到600 W/cm2時,超級電容(容量0.1F,工作電壓5.5V)充滿電的時間是12分鐘,微控制器MSP430可以連續工作80小時以上,當有讀寫器讀取智能傳感標簽采集的數據時,超級電容可以利用讀寫器發出的場強繼續充電。無線收集能量可以保證模擬的智能傳感標簽系統的供電,使智能傳感標簽可以持續的工作。智能傳感標簽每隔20s將采集一次外部溫度和加速度數據,并存儲采集的數據。符合ISO/IEC 18000-6C標準的讀寫器可以讀取智能傳感標簽采集的數據。
試驗環境下,該模擬智能傳感標簽已經完全滿足智能傳感標簽在供電、環境感知、數據存儲、無線數據傳輸等方面的需求。該模擬智能傳感標簽經過優化后,在商品生產、儲運、銷售的庫存管理等領域將會有廣闊的應用場景,根據實際需求選用不同的傳感器單元,還可以應用于各種需實時感知環境,且對自供電較高要求的場合。
[1]Antti Ruhanen,Marko Hanhikorpi.Sensor-enabled RFID tag handbook[R].BRIDGE Project by the European Union,2007.
[2]ISO/IEC.Information technology-Radiofrequency identification for management Part 6:Parameters for air interface communications at 860MHz to 960 MHz[S].2006.
[3]Murugavel Raju.ULP meets energy harvesting:A game-changing combination for design engineers[R].Texas Instruments,2008.
[4]MSP430x2xx Family user's guide[EB/OL].Texas Instruments,http://www.ti.com,2008.
[5]李緒益.微波技術與微波電路[M].廣州:華南理工大學出版社,2005.
[6]Joshua Smith,David Weatherall,Polly Powledge,et al.Wireless identification and sensor platform project[Z].http://wisp.wikispaces.com,2009.
[7]沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與應用[M].北京:清華大學出版社,2004.
[8]馬倩,時良平,周立宏.ISO18000-6C標準的防碰撞算法研究[J].計算機應用,2008,28(12):341-343.