郝毫毫,熊俊俏
(武漢工程大學(xué) 電氣信息學(xué)院,湖北 武漢 430073)
隨著計(jì)算機(jī)技術(shù)、無(wú)線通信技術(shù)的發(fā)展,手持終端設(shè)備在物流、酒店服務(wù)、無(wú)線抄表等領(lǐng)域得到了廣泛應(yīng)用。無(wú)線傳感器網(wǎng)絡(luò)技術(shù)是當(dāng)前在國(guó)際上備受關(guān)注的,涉及多學(xué)科、高度交叉、知識(shí)高度集成的前沿?zé)狳c(diǎn)研究領(lǐng)域。傳感器技術(shù)、微計(jì)算機(jī)技術(shù)、現(xiàn)代網(wǎng)絡(luò)和無(wú)線通信技術(shù)的進(jìn)步,推動(dòng)了現(xiàn)代無(wú)線傳感器網(wǎng)絡(luò)的產(chǎn)生和發(fā)展。無(wú)線傳感器網(wǎng)絡(luò)擴(kuò)展了人們信息獲取能力,將客觀世界的物理信息同傳輸網(wǎng)絡(luò)連接在一起,在下一代網(wǎng)絡(luò)中將為人們提供最直接、最有效、最真實(shí)的信息。無(wú)線傳感器網(wǎng)絡(luò)能夠獲取客觀物理信息,具有十分廣闊的應(yīng)用前景,能應(yīng)用于軍事國(guó)防、工農(nóng)業(yè)控制、城市管理、生物醫(yī)療、環(huán)境監(jiān)測(cè)、搶險(xiǎn)救災(zāi)、危險(xiǎn)區(qū)域遠(yuǎn)程控制等領(lǐng)域[1]。
無(wú)線通信是手持終端的主要功能之一,考慮到手持終端設(shè)備還需要帶有顯示器和鍵盤(pán)等人機(jī)界面以及采用電池供電等因素,體積、功耗以及性能的穩(wěn)定成為手持終端設(shè)備設(shè)計(jì)的主要難點(diǎn)[2]。
文中根據(jù)無(wú)線傳感器網(wǎng)絡(luò)具有成本低、能耗小、組網(wǎng)靈活,等多種優(yōu)勢(shì),以及手持終端設(shè)備對(duì)設(shè)備體積、功耗等方面的技術(shù)要求,設(shè)計(jì)了一種低功耗、結(jié)構(gòu)緊湊,具有無(wú)線傳感器網(wǎng)絡(luò)特性的手持終端,用于餐館點(diǎn)菜系統(tǒng)。由于可通過(guò)無(wú)線通信接口實(shí)現(xiàn)程序升級(jí),所設(shè)計(jì)的產(chǎn)品可廣泛應(yīng)用于餐館點(diǎn)菜、無(wú)線抄表、工業(yè)監(jiān)控等領(lǐng)域。
系統(tǒng)框圖如圖1所示。它主要由MCU控制單元、射頻收發(fā)單元、按鍵及LCD顯示單元、電源管理單元構(gòu)成。
圖1 系統(tǒng)組成框圖Fig.1 Structure diagram of the hardware system
MSP430F449是IT公司推出的一種超低功耗單片機(jī),它的主要特點(diǎn)[3]有:
1)超低功耗:其電源電壓采用1.8~3.6 V,待機(jī)電流小于1 μA,在 RAM數(shù)據(jù)保持方式時(shí)耗電僅 0.1 ΜA,在活動(dòng)模式時(shí)耗電 250 μA/MIPS(MIPS:每秒百萬(wàn)條指令數(shù)),I/O 輸入輸出口的漏電流最大為50 nA。MSP430F449有獨(dú)特的時(shí)鐘系統(tǒng)設(shè)計(jì),包括2個(gè)不同的時(shí)鐘系統(tǒng):基本時(shí)鐘系統(tǒng)和鎖相環(huán)(FLL和FLL+)時(shí)鐘系統(tǒng)或DCO數(shù)字振蕩器時(shí)鐘系統(tǒng)。由時(shí)鐘系統(tǒng)產(chǎn)生CPU和各功能模塊所需的時(shí)鐘,這些時(shí)鐘可以在指令的控制下打開(kāi)或關(guān)閉,從而實(shí)現(xiàn)對(duì)總體功耗的控制。由于系統(tǒng)運(yùn)行時(shí)使用的功能模塊不同,即采用不同的工作模式,芯片的功耗有明顯的差異。在系統(tǒng)中有1種活動(dòng)模式和5種低功耗模式。另外它采用矢量中斷,支持多個(gè)中斷源,并可以任意嵌套。用中斷請(qǐng)求將CPU喚醒最短只要1 μs,通過(guò)合理編程,既可以系統(tǒng)功耗,又可以對(duì)外部事件請(qǐng)求作出快速響應(yīng)。
2)強(qiáng)大的處理能力:MSP430F449是16位單片機(jī),采用了目前流行的精簡(jiǎn)指令集(RISC)結(jié)構(gòu),1個(gè)時(shí)鐘周期可以執(zhí)行1指令。同時(shí)它還采用了16位多功能硬件乘法器等一系列先進(jìn)的體系結(jié)構(gòu)。
3)高性能模擬技術(shù)及豐富的片上外圍模塊:MSP430F449組合了功能模塊:12位ADC、比較器、LCD驅(qū)動(dòng)器、電源電壓監(jiān)控(SVS)、串行通信(UART/SPI)硬件乘法器(MPY)溫度傳感器、看門(mén)狗計(jì)時(shí)器(WDT)、多個(gè)16位定時(shí)器等。
4)系統(tǒng)工作穩(wěn)定:上電復(fù)位后,首先由DCO_CLK啟動(dòng)CPU(數(shù)字控制振蕩器DCO是單片機(jī)內(nèi)置的),以保證程序從正確的位置開(kāi)始執(zhí)行,保證外接的晶振有足夠的起振和穩(wěn)定時(shí)間。然后通過(guò)軟件設(shè)置適當(dāng)?shù)募拇嫫鞯目刂茷閬?lái)確定最后的系統(tǒng)時(shí)鐘頻率。如果晶體振蕩器在用作CPU時(shí)鐘MCLK時(shí)發(fā)生故障,DCO會(huì)自動(dòng)啟動(dòng),以保證系統(tǒng)正常工作。
MCU是手持終端系統(tǒng)的核心,在無(wú)事件發(fā)生的情況下工作于LPM3低功耗狀態(tài),當(dāng)有按鍵按下或有無(wú)線數(shù)據(jù)接收時(shí),MCU可響應(yīng)并退出LPM3狀態(tài)進(jìn)入活動(dòng)工作狀態(tài)。MSP430F449功能豐富,編程方式靈活,完全可滿足手持終端的設(shè)計(jì)要求。
SX1233是Semtech公司推出的一款超低功耗的可編程ISM頻段收發(fā)器,擁有全球最高的碼率(600 kbps)以及世界級(jí)的鏈路預(yù)算(137 kB)、超低功耗、出色的ACR(鄰道抑制)以及抗阻塞能力。SX1233提供高接收(RX)靈敏度,增強(qiáng)了對(duì)弱信號(hào)的接收能力,而且能夠以1 dB步長(zhǎng)編程的發(fā)射機(jī)(TX)輸出功率[4]。高RX靈敏度與TX輸出功率相當(dāng)于獲得了更長(zhǎng)距離上的可靠傳輸,這與需要RF中繼器的傳統(tǒng)射頻系統(tǒng)相比,節(jié)省了成本。
SX1233具備發(fā)射、接收和睡眠模式下的低功耗,從而延長(zhǎng)了電池壽命。由于在1.8~3.6 V工作范圍內(nèi)有恒定的RF性能,即使不用穩(wěn)壓器,在電池壽命快要終止時(shí)也能保證穩(wěn)定的通信[5]。另外,采用True RFTM技術(shù),無(wú)需使用SAW濾波器,在獲得低成本外接元件數(shù)的同時(shí),仍能滿足ETSI與FCC的規(guī)定。SX1233還集成了VCO儲(chǔ)能器、PLL環(huán)濾波器以及一個(gè)RF開(kāi)關(guān),進(jìn)一步減少了總物料數(shù)。
SX1233中集成的封包引擎可卸除微控制器的RF封包工作,從而解放出微控制器的資源,或者讓設(shè)計(jì)者選擇一種成本更低或功耗更低的替代方案。封包引擎還可通過(guò)CRC錯(cuò)誤檢查、AES-128加密和一個(gè)66字節(jié)的FIFO,提供數(shù)據(jù)包的傳輸安全性。
SX1233的頻率范圍為290~1 020 MHz,已通過(guò)全球規(guī)范的認(rèn)證,包括歐盟(ETSI EN 300-220-1)、北美(FCC part 15),以及韓國(guó)和日本的ARIB監(jiān)管標(biāo)準(zhǔn)。它還支持全球的調(diào)制格式(FSK、GFSK、MSK、GMSK、OOK)。
為了防止射頻干擾,無(wú)線收發(fā)單元采用射頻板材單獨(dú)制版,并用金屬罩對(duì)其進(jìn)行屏蔽,通過(guò)10×2連接器與主板相連。如圖2所示,因?yàn)閱纹瑱C(jī)的P1口和P2口能夠接受外部上升沿或下降沿的中斷輸入,所以DIO0-DIO5分別與單片機(jī)的P2.0-P2.5連接,便于數(shù)據(jù)收發(fā)過(guò)程中的狀態(tài)檢測(cè)。SPI口連接單片機(jī)的P3.0-P3.3,將單片機(jī)的USART0設(shè)置為SPI工作模式,單片機(jī)通過(guò)該SPI口對(duì)SX1233進(jìn)行參數(shù)配置、控制和數(shù)據(jù)收發(fā)。RESET和RXTX腳分別接P3.4和P3.5。
圖2 射頻收發(fā)單元電路圖Fig.2 Circuit of wireless communication part
在手持終端的設(shè)計(jì)中,SX1233的可設(shè)置參數(shù)包括頻段、發(fā)射功率、數(shù)據(jù)傳輸速率,這些參數(shù)存放在MCU的FLASH存儲(chǔ)器中,即使發(fā)生掉電情況也不會(huì)丟失,用戶可根據(jù)需要進(jìn)行設(shè)置。其余參數(shù)不可改變。
鍵盤(pán)包括開(kāi)關(guān)鍵、功能鍵、數(shù)字加一鍵、光標(biāo)移動(dòng)鍵。4鍵接MCU的P1.0-P1.3口,由于P1口能夠接受外部上升沿或下降沿中斷[6],因此可采用中斷式按鍵編程方式,有助于節(jié)省功耗。
LCD為定制的段式液晶,MSP430F449內(nèi)有LCD驅(qū)動(dòng)模塊,因此既節(jié)省了成本也減小了體積。它的LCD驅(qū)動(dòng)模塊最大顯示段數(shù)為40×4=160段,能夠直接顯存讀寫(xiě),控制顯示,自動(dòng)產(chǎn)生液晶驅(qū)動(dòng)信號(hào),支持4種LCD(static,2mux,3mux,4mux),并支持閃爍功能[7]。
手持終端采用3.6 V鋰電池供電,由于所采用的MCU、無(wú)線收發(fā)模塊、LCD均為3.3 V供電器件,因此可直接使用電池電源。MCU采用基本定時(shí)器1分鐘定時(shí)檢測(cè)電源電壓,當(dāng)電池電壓低于3.0 V時(shí)主動(dòng)報(bào)警。檢測(cè)的方法是將電源電壓分壓一半送入P6.3口,采用MCU內(nèi)部產(chǎn)生的2.5 V參考電平,利用MCU內(nèi)部的AD轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換即可計(jì)算出實(shí)際電源電壓的大小。
軟件的開(kāi)發(fā)環(huán)境為IAR Embedded Workbench,使用C430語(yǔ)言。系統(tǒng)的無(wú)線通信部分采用標(biāo)準(zhǔn)MODBUS協(xié)議,為點(diǎn)對(duì)多點(diǎn)的通信方式。主機(jī)由設(shè)在廚房的基站組成,從機(jī)為手持終端,每一個(gè)手持終端都擁有一個(gè)唯一的地址,工作方式為主站輪詢,從站監(jiān)聽(tīng)的方式。系統(tǒng)軟件的主要流程如圖3所示。
圖3 系統(tǒng)程序框圖Fig.3 Program flow chart
無(wú)事件發(fā)生時(shí),MCU進(jìn)入LPM3低功耗模式,SX1233進(jìn)入Sleep模式。當(dāng)服務(wù)員使用按鍵記錄客人點(diǎn)菜時(shí),MCU被激活。菜單數(shù)據(jù)存放在MCU的FLASH存儲(chǔ)器中,記錄客人點(diǎn)菜時(shí)只需將菜名序號(hào)存放即可,點(diǎn)菜完成后MCU重新進(jìn)入LPM3低功耗模式。
當(dāng)SX1233被喚醒時(shí),會(huì)從Sleep狀態(tài)中進(jìn)入接收工作狀態(tài)并觸發(fā)MCU退出LPM3模式,當(dāng)發(fā)現(xiàn)通信地址非本機(jī)地址時(shí)立即中斷接收,SX1233重新進(jìn)入Sleep狀態(tài),MCU進(jìn)入LPM3模式。否則,完成數(shù)據(jù)幀的接收工作,并根據(jù)協(xié)議執(zhí)行相應(yīng)的程序,返回響應(yīng)代碼后,SX1233回到Sleep狀態(tài),MCU進(jìn)入LPM3低功耗模式。
IO口配置:MSP430的多數(shù)IO口都有2種或以上的功能,每個(gè)IO位都可以獨(dú)立編程,因此初始化時(shí)要對(duì)IO口進(jìn)行配置。
LPM3低功耗模式:MSP430F449有5種低功耗模式,即LPM0-LPM4。本系統(tǒng)設(shè)計(jì)在沒(méi)有按鍵和數(shù)據(jù)收發(fā)的工作狀態(tài)下工作在LPM3模式,耗電僅為0.9 μA。此時(shí)CPU處于禁止?fàn)顟B(tài),DCO被禁止,直流發(fā)生器被禁止,MCLK和SCLK被禁止,只有低速時(shí)鐘ACLK(32 768 Hz)活動(dòng)[3]。因此當(dāng)按鍵或無(wú)線偵聽(tīng)激活MCU時(shí),程序應(yīng)立刻從LPM3模式中退出。
MCU的FLASH存儲(chǔ)區(qū)分配:MSP430F449不同于傳統(tǒng)的51單片機(jī),其存儲(chǔ)器為馮·諾依曼結(jié)構(gòu),其FLASH區(qū)有60KB+256B。本系統(tǒng)地址分配如下:
SX1233可工作于較寬的頻率范圍,本系統(tǒng)采用433 MHz免許可證頻段??紤]到點(diǎn)菜系統(tǒng)對(duì)通信實(shí)時(shí)性要求不高,收發(fā)器休眠時(shí)偵聽(tīng)的占空比可盡量降低,這樣有利于節(jié)省用電。SX1233的發(fā)射功率可調(diào),不同的用戶可根據(jù)實(shí)際需要進(jìn)行設(shè)置。為減小MCU負(fù)擔(dān),系統(tǒng)采用包(Packet)模式工作。
文中介紹的無(wú)線手持終端,硬件結(jié)構(gòu)簡(jiǎn)單,成本低,技術(shù)開(kāi)發(fā)成熟、功耗低,性價(jià)比高。實(shí)驗(yàn)結(jié)果表明,當(dāng)發(fā)射功率設(shè)置為10 dB時(shí),在樓宇內(nèi)的有效收發(fā)距離為80 m左右,誤包率低于1%,完全能滿足中小型餐館的使用要求。由于系統(tǒng)程序具有升級(jí)功能,因此經(jīng)過(guò)適當(dāng)?shù)母膭?dòng)就可適用于其他應(yīng)用場(chǎng)合,例如工業(yè)監(jiān)控等。因此,該方案有較大的推廣價(jià)值和廣闊的市場(chǎng)前景。
[1]鄧中亮,張紅星,延明,等.基于S3C6410和無(wú)線傳感器網(wǎng)絡(luò)的手持終端設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(2):1-4.DENG Zhong-liang, ZHANG Hong-xing,YAN Ming, et al.Design of handheld terminal based on S3C6410 and wireless sensor network[J].Electronic Design Engineering, 2011,19(2):1-4.
[2]蔡理金,王逢?yáng)|,王麗潔,等.S3C2440A嵌入式手持終端電源管理系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(9):28-31.CAI Li-jin,WANG Feng-dong,WANG Li-jie,et al.Power management system for embedded portable terminal based on S3C2440A[J].Microcontrollers&Embedded System,2009(9):28-31.
[3]沈建華,楊艷琴.MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[4]Semtech Corporation.SX1233 high bit rate transceiver[EB/OL].(2011-01-04)[2011-10-17].http://www.semtech.com/images/datasheet/sx1233_ag.pdf.
[5]Semtech Corporation. Calculating radiated power and field strength for conducted power measurements[EB/OL]. (2007-01-01)[2011-10-17]. http://www.semtech.com/images/datasheet/semtech_acs_rad_pwr_field_ strength_ag.pdf.
[6]Texas Instruments Inc. MSP430x4xx family user’s guide [EB/OL]. (2010-01-18)[2011-10-17]. http://www.ti. com.cn/cn/lit/ug/slau056j/slau056j.pdf.
[7]Texas Instruments Inc.MSP430x43x,MSP430x43x1,MSP430x44x mixed signal microcontroller [EB/OL]. (2009-10-03)[2011-10-17]. http://www.ti.com.cn/cn/lit/ds/sym link/msp430f449.pdf.