MSP430的低功耗特性在藍(lán)牙產(chǎn)品中的應(yīng)用 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢 收藏 摘要:在介紹MSP430F447單片機(jī)和LBMx-2002藍(lán)牙模塊的特點(diǎn)和功能的基礎(chǔ)上,著重介紹了單片機(jī)和藍(lán)牙系統(tǒng)的各種低功耗工作特性,并充分利用其節(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)一步降低功耗、延長(zhǎng)電池的使用時(shí)間。 本文介紹TI公司MSP430系列中F447單片機(jī)以及LG Innotek公司Class 2藍(lán)牙模塊LBMx-2002的特點(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)器件,例如車(chē)輛管理系統(tǒng)的車(chē)載裝置、門(mén)禁系統(tǒng)的身份卡。藍(lán)牙主設(shè)備不斷查詢是否有新的藍(lán)牙設(shè)備,再將查詢到的信息通過(guò)接口發(fā)送給計(jì)算機(jī),由計(jì)算機(jī)決定是否對(duì)其進(jìn)行連接,并建立數(shù)據(jù)鏈路,控制各個(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è)。MSP430F447有六種運(yùn)行模式,一種是AM正常運(yùn)行模式,其余為低功耗運(yùn)行模式: (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單片藍(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%26;#215;17.5mm。 它的供電電壓為3.0V~3.6V,工作電流在ACL數(shù)據(jù)傳輸(UART/115.2kbps)是20mA,在只有Voice時(shí)(HV3 Packet)是33mA,具體如表1所示。 藍(lán)牙支持三種節(jié)能工作模式:HOLD(保持)模式、SNIFF(呼吸)模式和PARK(暫停)模式。在HOLD模式下,只有一個(gè)內(nèi)部計(jì)數(shù)器工作。當(dāng)處于HOLD模式的單元被激活,數(shù)據(jù)傳遞立即重新開(kāi)始。HOLD模式一般用于連接多個(gè)PICONET(微微網(wǎng))的情況。在SNIFF模式下,從設(shè)備降低了從微微網(wǎng)“收聽(tīng)”消息的速率,“呼吸”間隔也可以適當(dāng)調(diào)整。在PARK模式下,設(shè)備依然與微微網(wǎng)同步但沒(méi)有數(shù)據(jù)傳送。工作在PARK模式下的設(shè)備放棄了MAC地址,偶爾收聽(tīng)主設(shè)備的消息并恢復(fù)同步,檢查廣播消息。這三種工作模式以PARK模式節(jié)能效率最高,依次是HOLD模式和SNIFF模式。圖4 軟件流程圖通過(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ù)信息交換。表1 LBMx-2002藍(lán)牙模塊的工作電流 ModeAveragePeakSCO connection HV3(1s interval sniff mode)(Slave)SCO connection HV3(1s interval sniff mode)(Master)SCO connection HV1(Slave)SCO connection HV1(Master)ACL Data transfer,115.2kbps UART(Slave)master to SlaveACL Data transfer,115.2kbps UART(Slave)Slave (Master)Master to SlaveACL Data transfer,115.2kbps UART(Master) Slave to Master Deep Sleep Mode,InitialACL connection ,Sniff Mode 40ms interval,57.6kbps UARTACL connection,Sniff Mode 1.28s interval,38.4kbps UARTPark ModePeak current during RF burst32mA33mA67mA67mA60mA56mA63mA20mA50μA4mA1mA0.6mA80mA3 藍(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à)值。
評(píng)論