摘 要: 在介紹MSP430F447單片機(jī)和LBMx-2002藍(lán)牙模塊" title="藍(lán)牙模塊">藍(lán)牙模塊的特點(diǎn)和功能的基礎(chǔ)上,,著重介紹了單片機(jī)和藍(lán)牙系統(tǒng)的各種低功耗" title="低功耗">低功耗工作特性,,并充分利用其節(jié)能特性實(shí)現(xiàn)MSP430F447單片機(jī)在便攜式藍(lán)牙產(chǎn)品中的應(yīng)用,。
關(guān)鍵詞:?MSP430? 低功耗? 藍(lán)牙? LBMx-2002
?
藍(lán)牙技術(shù)是一項(xiàng)新興的計(jì)算機(jī)與通信方面的短距離(10m~100m)無(wú)線電信號(hào)傳輸標(biāo)準(zhǔn),是一種面向低功耗的無(wú)線技術(shù),。在實(shí)際應(yīng)用中,,盡管藍(lán)牙功耗很小,但是藍(lán)牙在工作時(shí)天線發(fā)射所需要的功耗相對(duì)來(lái)說(shuō)仍然較大,,因此在小型便攜式產(chǎn)品中為了實(shí)現(xiàn)小容量電池供電,需要考慮如何進(jìn)一步降低功耗" title="降低功耗">降低功耗,、延長(zhǎng)電池的使用時(shí)間" title="使用時(shí)間">使用時(shí)間,。
本文介紹TI公司MSP430系列中F447單片機(jī)[4]演以及LG Innotek公司Class 2藍(lán)牙模塊LBMx-2002[2]的特點(diǎn)和使用,并介紹如何利用它們本身具有的各種低功耗運(yùn)行方式最大限度地降低系統(tǒng)功耗,,以較小的硬件尺寸,、較好的便攜性和移動(dòng)性實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或者一點(diǎn)對(duì)多點(diǎn)的無(wú)線數(shù)據(jù)和信息的傳輸。
1 系統(tǒng)結(jié)構(gòu)
典型的藍(lán)牙應(yīng)用系統(tǒng)如圖1所示,。系統(tǒng)由多個(gè)可移動(dòng)的藍(lán)牙從設(shè)備(SLAVE),、一個(gè)負(fù)責(zé)與藍(lán)牙從設(shè)備建立連接的藍(lán)牙主設(shè)備(MASTER)以及一臺(tái)管理計(jì)算機(jī)組成。藍(lán)牙主設(shè)備可以通過(guò)RS-232,、PCI或者USB與計(jì)算機(jī)連接起來(lái)。藍(lán)牙從設(shè)備可以設(shè)計(jì)為各種便攜和移動(dòng)器件,,例如車輛管理系統(tǒng)的車載裝置,、門禁系統(tǒng)的身份卡。藍(lán)牙主設(shè)備不斷查詢是否有新的藍(lán)牙設(shè)備,,再將查詢到的信息通過(guò)接口發(fā)送給計(jì)算機(jī),,由計(jì)算機(jī)決定是否對(duì)其進(jìn)行連接,并建立數(shù)據(jù)鏈路" title="鏈路">鏈路,,控制各個(gè)從設(shè)備與主設(shè)備的通信,。計(jì)算機(jī)與各種藍(lán)牙接入裝置之間的各種信息通過(guò)藍(lán)牙數(shù)據(jù)鏈路完成交換。
?
2 藍(lán)牙接入裝置硬件結(jié)構(gòu)
以藍(lán)牙從設(shè)備為例,,藍(lán)牙從設(shè)備的硬件結(jié)構(gòu)如圖2所示,。系統(tǒng)由MSP430F447、LBMx-2002藍(lán)牙模塊,、RS-232接口,、串行存儲(chǔ)器、LCD顯示屏以及微帶天線組成,。單片機(jī)通過(guò)UART1控制藍(lán)牙模塊的工作,。作為從設(shè)備需要主設(shè)備發(fā)起連接,未建立連接時(shí),,一直處在等待連接狀態(tài),。數(shù)據(jù)鏈路建立后,單片機(jī)接收藍(lán)牙模塊返回的數(shù)據(jù),,并將數(shù)據(jù)通過(guò)LCD屏顯示,。RS-232接口用于配置從設(shè)備信息,如從設(shè)備的ID,、安全連接PIN碼等,。從設(shè)備信息由計(jì)算機(jī)通過(guò)RS-232接口發(fā)送給單片機(jī),單片機(jī)將其保存在內(nèi)部的Flash或者擴(kuò)展的串行存儲(chǔ)器中,。
?
?
2.1 MSP430F447單片機(jī)
??? MSP430F447工作電壓范圍1.8V~3.6V?在1MHz時(shí),不同運(yùn)行模式下的額定工作電流為0.1μA~400μA,具有五種節(jié)能工作方式,可以使系統(tǒng)在保證正常運(yùn)行條件下最大限度地降低功耗,。內(nèi)部具有硬件乘法器,。FLL+時(shí)鐘系統(tǒng)、12位A/D,、模擬比較器和定時(shí)器模塊,還包括六個(gè)I/O端口以及兩個(gè)硬件UART,。另外,它還支持高達(dá)160段位的LCD驅(qū)動(dòng)器,可以不另外增加液晶驅(qū)動(dòng)模塊而直接連接LCD顯示屏。單片機(jī)內(nèi)部具有電源電壓管理單元,可以很方便地實(shí)現(xiàn)電池電壓監(jiān)測(cè)[3],。
??? MSP430F447有六種運(yùn)行模式,一種是AM正常運(yùn)行模式,其余為低功耗運(yùn)行模式[4]:
?? (1)LPM0(Low-power mode 0):CPU和MCLK主時(shí)鐘關(guān)閉,ACLK輔助時(shí)鐘,、SMCLK子系統(tǒng)主時(shí)鐘和FLL+鎖頻環(huán)保持活躍;
?? (2)LPM1:CPU、MCLK和FLL+關(guān)閉,ACLK和SMCLK保持活躍;
?? (3)LPM2:CPU,、MCLK,、FLL+和DCOCLK關(guān)閉,ACLK和數(shù)字時(shí)鐘發(fā)生器保持活躍;
?? (4)LPM3:CPU、MCLK,、FLL+,、DCOCLK和數(shù)字時(shí)鐘發(fā)生器關(guān)閉,ACLK保持活躍;
?? (5)LPM4:CPU、MCLK,、ACLK,、FLL+、DCOCLK和時(shí)鐘發(fā)生器關(guān)閉,晶振停止振蕩,。
?? 以f(ACLK)=32.768Hz,f(System)=1MHz,VCC=3V為例,單片機(jī)運(yùn)行時(shí),AM時(shí)消耗電流為420μA,LPM0時(shí)為55μA,LPM2時(shí)為17μA,LPM3時(shí)為1.6μA(25℃),LPM4時(shí)為0.1μA(25℃),。
2.2 藍(lán)牙模塊
?? 本文使用LG Innotek公司Class 2 藍(lán)牙模塊LBMx-2002,內(nèi)部結(jié)構(gòu)如圖3所示。其內(nèi)核藍(lán)牙模塊采用CSR公司的BlueCore2-Ext[5]單片藍(lán)牙,通過(guò)對(duì)BlueCore2-Ext的進(jìn)一步封裝,極大地降低了電路設(shè)計(jì)的難度,。
?
??? LBMx-2002提供完全兼容藍(lán)牙系統(tǒng)的數(shù)據(jù)和語(yǔ)音通信,向主機(jī)提供UART和USB接口,支持723.2kbps/57.6kbps數(shù)據(jù)速率及A律,、μ律壓縮,提供每秒8kHz采樣率,雙向同步串行音頻接口、內(nèi)部具有4MB/8MB的FLASH ROM,。其協(xié)議棧采用BlueCore2-Ext HCIStack1.1v14.3,兼容藍(lán)牙規(guī)范1.1版本,。整個(gè)模塊的尺寸相當(dāng)小,只有12.5mm×17.5mm。
??? 它的供電電壓為3.0V~3.6V,工作電流在ACL數(shù)據(jù)傳輸時(shí)(UART/115.2kbps)是20mA,在只有Voice時(shí)(HV3 Packet)是33mA,具體如表1所示[2],。
??? 藍(lán)牙支持三種節(jié)能工作模式:HOLD(保持)模式?SNIFF(呼吸)模式和PARK(暫停)模式,。在HOLD模式下,只有一個(gè)內(nèi)部計(jì)數(shù)器工作。當(dāng)處于HOLD模式的單元被激活,數(shù)據(jù)傳遞立即重新開始?HOLD模式一般用于連接多個(gè)PICONET(微微網(wǎng))的情況,。在SNIFF模式下,從設(shè)備降低了從微微網(wǎng)“收聽”消息的速率,“呼吸”間隔也可以適當(dāng)調(diào)整,。在PARK模式下,設(shè)備依然與微微網(wǎng)同步但沒(méi)有數(shù)據(jù)傳送。工作在PARK模式下的設(shè)備放棄了MAC地址,偶爾收聽主設(shè)備的消息并恢復(fù)同步,檢查廣播消息?這三種工作模式以PARK模式節(jié)能效率最高,依次是HOLD模式和SNIFF模式[1],。
???? 通過(guò)表1可以看出,藍(lán)牙建立連接后在PARK模式條件下的消耗電流最低,通過(guò)控制藍(lán)牙的工作狀態(tài)與MSP430的低功耗模式相結(jié)合,可以極大地降低系統(tǒng)工作電流,延長(zhǎng)電池的使用時(shí)間?在本文的藍(lán)牙接入裝置中,通過(guò)單片機(jī)外接高頻晶振,、關(guān)閉頻率鎖定環(huán)FLL+等內(nèi)部模塊,將單片機(jī)的節(jié)能模式設(shè)定到了LPM3,只要保持輔助時(shí)鐘ACLK活躍,就可以響應(yīng)藍(lán)牙模塊通過(guò)UART返回的數(shù)據(jù)和消息。藍(lán)牙模塊建立連接后,只要沒(méi)有數(shù)據(jù)傳輸,就將其工作模式置為PARK模式,。當(dāng)主設(shè)備需要再次傳輸數(shù)據(jù)時(shí),需要向從設(shè)備發(fā)送退出PARK命令,。從設(shè)備退出PARK模式后,即可與主設(shè)備進(jìn)行數(shù)據(jù)信息交換。
3 藍(lán)牙接入裝置的軟件實(shí)現(xiàn)
? 下面以從設(shè)備為例說(shuō)明從設(shè)備的工作過(guò)程(不涉及存儲(chǔ)器和LCD操作,主從設(shè)備之間只建立ACL數(shù)據(jù)鏈路)。首先單片機(jī)初始化,設(shè)置ACLK輔助時(shí)鐘,設(shè)置UART0和UART1等內(nèi)部模塊時(shí)鐘為ACLK,藍(lán)牙模塊復(fù)位;設(shè)置連接模式后,單片機(jī)進(jìn)入LPM3休眠狀態(tài);當(dāng)主設(shè)備通過(guò)Inquiry查詢到從設(shè)備并建立連接后,單片機(jī)退出休眠模式,并修改藍(lán)牙模塊的被查詢方式以及設(shè)置PARK模式的使能,隨后主從設(shè)備進(jìn)行數(shù)據(jù)信息交換;當(dāng)沒(méi)有數(shù)據(jù)交換時(shí),藍(lán)牙模塊進(jìn)入PARK模式,單片機(jī)隨即進(jìn)入LPM3休眠狀態(tài),以降低功耗;當(dāng)數(shù)據(jù)的傳輸恢復(fù)時(shí)系統(tǒng)再退出休眠狀態(tài)?圖4為系統(tǒng)軟件流程圖,。
?
該藍(lán)牙接入裝置通過(guò)改變單片機(jī)和藍(lán)牙模塊的運(yùn)行方式,,最大限度地降低了整個(gè)裝置的功耗。實(shí)驗(yàn)證明,,其節(jié)能效果非常顯著,,在小數(shù)據(jù)量業(yè)務(wù)下完全可以使用高容量的鋰電池實(shí)現(xiàn)系統(tǒng)的便攜性、可移動(dòng)性和較長(zhǎng)的使用時(shí)間,,因此具有較好的實(shí)用價(jià)值,。
參考文獻(xiàn)
[1] Specification of the Bluetooth System Version 1.1. 2002
[2] Data Sheet Class 2 Bluetooth Module LBMx-2002. LG
Innotek Co. 2002
[3] MSP430X4XX系列用戶指南.Texas Instruments,2001
[4] MSP430x43x44x Data Sheet. Texas Instruments,2001
[5] BlueCoreTM2-External Data Sheet. CSR Corporation,2003