- 研究用MCU來(lái)控制藍(lán)牙GPS模塊
- 由MCU的串行口讀取標(biāo)準(zhǔn)NMEA數(shù)據(jù)
- 選用的GPS模塊是高靈敏度模塊GM20
GPS定位產(chǎn)品正在漸漸的深入到大眾消費(fèi)中來(lái),隨著電子地圖的日趨完善,GPS系統(tǒng)將越來(lái)越發(fā)揮更加實(shí)際的指引作用。藍(lán)牙GPS模塊實(shí)現(xiàn)以無(wú)線藍(lán)牙接口來(lái)發(fā)送GPS模塊的定位數(shù)據(jù),它掙脫了導(dǎo)線的束縛,從而可以很容易地在各種支持藍(lán)牙的便攜設(shè)備上實(shí)現(xiàn)導(dǎo)航定位功能。
藍(lán)牙GPS模塊也是一個(gè)小小的便攜設(shè)備,需要實(shí)現(xiàn)電源的管理、GPS數(shù)據(jù)的處理、藍(lán)牙狀態(tài)的判斷以及點(diǎn)亮指示燈等功能。這都要求使用一個(gè)MCU來(lái)協(xié)調(diào)控制整機(jī)的工作。
Freescale半導(dǎo)體的HCS08系列8位高性能MCU:MC9S08QG4即是個(gè)不錯(cuò)的選擇。適用于本方案的主要參數(shù)為:
- 低功耗,簡(jiǎn)單的BDM調(diào)試口
- 16腳封裝,內(nèi)嵌10MHz振蕩器(外部晶振支持20MHz),最多可用14個(gè)IO口
- 4KB FLASH,256B RAM
- 內(nèi)置上電復(fù)位電路,1路標(biāo)準(zhǔn)RS232接口,8路10位ADC
其它參數(shù)請(qǐng)參照MC9S08QG4的數(shù)據(jù)手冊(cè),根據(jù)需要可使用MCU的其它資源。
下面為本方案的原理框圖:
選用的GPS模塊是SKYLAB公司的高靈敏度模塊GM20,低功耗,搜星快,最高接收靈敏度達(dá)-160dBm,弱信號(hào)時(shí)可很容易定位。由于其靈敏度高,在GPS天線設(shè)計(jì)上帶來(lái)簡(jiǎn)便,僅需要一個(gè)陶瓷片天線,不加外部LNA即可實(shí)現(xiàn)良好的衛(wèi)星接收性能。
充電IC選用性價(jià)比高的EUP8054,最大充電電流可達(dá)800mA,并可用外部電阻來(lái)調(diào)節(jié)充電電流;鋰電池容量選擇在1000mAh以上,整機(jī)工作電流在50mA左右,因此易實(shí)現(xiàn)超過15小時(shí)的連續(xù)工作時(shí)間;藍(lán)牙模塊為業(yè)內(nèi)兼容性良好的CSR方案,并且藍(lán)牙天線為直接畫在PCB上的微帶線,節(jié)省成本;3個(gè)LED全部由MCU來(lái)控制,可分別指示藍(lán)牙狀態(tài)、GPS定位狀態(tài)及充電狀態(tài)等,也可依客戶要求來(lái)定做不同的顯示模式。
開關(guān)機(jī)是需要合理設(shè)計(jì)的,應(yīng)實(shí)現(xiàn)由輕觸按鍵進(jìn)行開關(guān)機(jī),在充電時(shí)也能自動(dòng)開機(jī)指示充電狀態(tài),并且電池的電壓不同時(shí)要保證電路的可靠工作。通過靈活運(yùn)用9S08QG4的ADC功能,搭配外圍精簡(jiǎn)的RC電路,實(shí)現(xiàn)了上述要求開關(guān)要求。
[page]
在關(guān)機(jī)狀態(tài)下,按下按鍵使能LDO,輸出電壓,MCU開始工作,此時(shí),3個(gè)LED指示電池的剩余電量,若電量很低,則LED均不亮。同時(shí),MCU進(jìn)行ADC采樣,通過AD值判斷按鍵是否按下,當(dāng)按下時(shí)間超過設(shè)定值,MCU使用一個(gè)IO口鎖住LDO的使能腳。此時(shí)按鍵松開系統(tǒng)繼續(xù)供電,完成軟開機(jī)操作;
在開機(jī)狀態(tài)下,按鍵按下時(shí)ADC采樣值會(huì)有變化,當(dāng)持續(xù)按鍵超過設(shè)定值后,MCU判斷為關(guān)機(jī)操作,關(guān)掉LED,取消對(duì)LDO-EN的自鎖,按鍵松開后系統(tǒng)將失電,完成關(guān)機(jī)操作。
需要說明的是,當(dāng)直接插入外部電源給設(shè)備充電時(shí),LDO也被使能,系統(tǒng)開機(jī),此時(shí)ADC的采樣值與按鍵開機(jī)不同,因此MCU進(jìn)入充電模式,3個(gè)LED動(dòng)態(tài)指示充電過程。當(dāng)然,在充電過程中也可以通過按鍵進(jìn)行開關(guān)機(jī)操作,顯然,ADC值也會(huì)有差別。
MCU還使用一路ADC檢測(cè)電池電量,指示充電中、充滿的狀態(tài),并可由按鍵來(lái)檢查電量,LED負(fù)責(zé)顯示。
對(duì)于GPS的定位狀態(tài)指示,由MCU的串行口讀取標(biāo)準(zhǔn)NMEA數(shù)據(jù),判別RMC數(shù)據(jù)流中定位標(biāo)志位來(lái)實(shí)現(xiàn)。這有利于兼容不同廠家的GPS模塊,因?yàn)镽MC數(shù)據(jù)流是必需的信息。