用MCU来控制蓝牙GPS模块
扫描二维码
随时随地手机看文章
GPS定位产品正在渐渐的深入到大众消费中来,随着电子地图的日趋完善,GPS系统将越来越发挥更加实际的指引作用。蓝牙GPS模块实现以无线蓝牙接口来发送GPS模块的定位数据,它挣脱了导线的束缚,从而可以很容易地在各种支持蓝牙的便携设备上实现导航定位功能。
蓝牙GPS模块也是一个小小的便携设备,需要实现电源的管理、GPS数据的处理、蓝牙状态的判断以及点亮指示灯等功能。这都要求使用一个MCU来协调控制整机的工作。
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即可实现良好的卫星接收性能。
充电IC选用性价比高的EUP8054,最大充电电流可达800mA,并可用外部电阻来调节充电电流;锂电池容量选择在1000mAh以上,整机工作电流在50mA左右,因此易实现超过15小时的连续工作时间;蓝牙模块为业内兼容性良好的CSR方案,并且蓝牙天线为直接画在PCB上的微带线,节省成本;3个LED全部由MCU来控制,可分别指示蓝牙状态、GPS定位状态及充电状态等,也可依客户要求来定做不同的显示模式。
开关机是需要合理设计的,应实现由轻触按键进行开关机,在充电时也能自动开机指示充电状态,并且电池的电压不同时要保证电路的可靠工作。通过灵活运用9S08QG4的ADC功能,搭配外围精简的RC电路,实现了上述要求开关要求。
在关机状态下,按下按键使能LDO,输出电压,MCU开始工作,此时,3个LED指示电池的剩余电量,若电量很低,则LED均不亮。同时,MCU进行ADC采样,通过AD值判断按键是否按下,当按下时间超过设定值,MCU使用一个IO口锁住LDO的使能脚。此时按键松开系统继续供电,完成软开机操作;
在开机状态下,按键按下时ADC采样值会有变化,当持续按键超过设定值后,MCU判断为关机操作,关掉LED,取消对LDO-EN的自锁,按键松开后系统将失电,完成关机操作。
需要说明的是,当直接插入外部电源给设备充电时,LDO也被使能,系统开机,此时ADC的采样值与按键开机不同,因此MCU进入充电模式,3个LED动态指示充电过程。当然,在充电过程中也可以通过按键进行开关机操作,显然,ADC值也会有差别。
MCU还使用一路ADC检测电池电量,指示充电中、充满的状态,并可由按键来检查电量,LED负责显示。
对于GPS的定位状态指示,由MCU的串行口读取标准NMEA数据,判别RMC数据流中定位标志位来实现。这有利于兼容不同厂家的GPS模块,因为RMC数据流是必需的信息。