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