DIY编程器网

标题: 基于APM7101的汉、英双语MP3导游机的设计与实现 [打印本页]

作者: liyf    时间: 2012-1-22 00:26
标题: 基于APM7101的汉、英双语MP3导游机的设计与实现
西部大开发战略的实施,使西藏的旅游业得到空前的发展。但西藏的旅游业起步较晚,使得当前的旅游业发展规模和水平不能满足旅游快速发展的需求。目前,西藏地区导游人员缺乏,没有特级导游人员,这就导致非本土导游人员没有真正掌握西藏的地理和文化知识,讲解内容偏离原有的文化内涵,造成游客的误解,无法完整宣传和推广藏民族的文化;而现有的小语种导游人员无法满足西藏广阔的客源市场,制约了西藏旅游业的发展,造成大量国外游客流失。
    针对上述问题,为了促进西藏旅游业的发展,加快旅游信息化步伐,这里提出了一种英、汉双语的MP3导游系统的解决方案。该导游系统能够定位游客位置,并用英、汉双语为游客讲解当前景点知识;在没有导游的情况下,能及时直观地反映当前景点的状态,使游客的旅行更自由方便,增强游客的旅行乐趣。

1 APM7101的特点及其协议格式
   
APM7101是一款高性能的GPS(Global Positioning System)信号接收机,其体积小,很容易嵌入便携式装置。APM7101内部(其结构如图1所示)集成有SiRFstarⅢGPS处理器,LNA电路,SAW滤波器,振荡和校准电路,支持UART通信,内置4Mb闪存。该器件具有以下特性:1)20个通道接收;2)弱信号下快速TTFFs(Time to First Fix);3)2个UART收发通道;4)接收灵敏度可达-159 dbm;5)支持NMEA-0183和SiRF协议;6)支持SbAS(WAAS、EGONS)。




    GPS启动后会间隔一定时间返回一次接收信息,其返回信息包括:GGA(1 s)/GSA(1 s)/RMC(1 s)/GSV(5 s),通常仅使用其中的RMC信息,采用APM7101的GPS模组以NMEA协议格式发送消息。基本NMEA指令是一个ASCⅡ字符串,它以‘$’字符开始,以序列结束。NMEA标准消息(如表1所示)以‘GP’开始,然后是3个字符的消息标识码。消息头和后面的内容通过逗号进行分隔,消息以校检码结束,校检码由1个‘*’和2个16位的校验字组成,校验码字段并不用逗号分隔。目前,校验码得到的方式是从‘$’到‘*’之间的字符进行逐位计算。作为ASCⅡ表示法。每个字段的长度是随着精度的不同而变化的,因此记录的长度也是变化的。




    下面以实例分析NMEA消息格式:
    $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10
    从上述消息可以得到:对于消息$GPRMC,161229.487表示时间为16点12分29.487秒;A表示这条消息是有效的;3723.2475和N表示北纬,3723.2475;12158.3416和E表示东经,12158.3416。

2 系统硬件总体设计
   
根据各功能的需求,其硬件组成框图如图2所示,它主要由SPCE061A单片机、GPS模组(APM7101)、LCD模块和语音资源存储模块组成。其中,采用APM 7101作为GPS模组,采用SPCE061A作为主控制器,通过串口接收GPS模组发来的卫星消息,根椐NMEA协议格式,对其进行解析,使用UART与SPCE061A主控板之间进行通信,从而实现定位功能;LCD采用SPLC501型液晶显示模组,通过SPCE061A直接控制显示相关信息;语音资源存储模块采用SPR4096模组,用于存储景点的信息资源,使用SPCE061A的D/A转换通道,经过由SPY0030构成的音频放大电路直接输出。




    图2中单片机的正常工作电压为5 V,其I/O接口的电压为5 V或3.3 V,需要注意的是:各模块所用电压不同,GPS模组的电压一般为3.3 V,SPR4096与液晶显示模组的电压要求为5 V。因此,SPR4096模组、液晶模组与单片机采用同一电源供电,GPS采用端口供3.3 V。

3 GPS全球定位系统
   
图3所示为GPS全球定位系统的系统框图,采用SPCE061A单片机作为主控制器,使用UART与SPCE061A进行通信,通过串口接收GPS模组发来的卫星消息,为了保证GPS模组发来的消息及时接收,UART采用中断接收方式。根据消息特定的格式,对其进行解析,最后将解析后的信息用于各种显示及播报。GPS以NMEA协议格式发送消息,接收GPS卫星发射信号,以获得必要的定位信息,经数据处理,完成定位工作。
                          
                       
                          
                               




    这里需要注意的是:GPS模组的电源电压不要超过给定值(3-6.5 V),一般采用3.3 V供电,而且电源的极性不要接反。其全功率模式下,其电流为68 mA,待机模式下为1 mA。
    GPS模组采用APM7101,定位精度在1Om以内。GPS模组电路如图4所示。启动后GPS的信号灯即图4中的LED会周期闪烁。通过选择电阻来选通UART通道A,b,默认为通道A。同样,复位引脚也是通过选择电阻来实现选通的,其默认为接口的第2个引脚。





4 系统软件设计
   
主程序是一个封闭的循环。I/O端口初始化部分主要按照硬件资源分配对I/O 端口的状态进行初始设置,包括I/O口状态,设置上拉电阻等,都在I/O端口初始化子函数中完成;GPS初始化是初始化各硬件模块;液晶初始化主要是对液晶显示部分的相关数据线,控制线的状态进行设置;SPR4096初始化主要是设置串行传输速率以及CPU时钟频率和相对应的I/O口的状态。然后程序进入主循环,不断进行按键扫描,根据按键值进入相应的功能模块。主程序流程图如图5所示。





5 结论
   
当系统工作在正常放电模式时,测试主控板消耗电流(主控板工作电压为DC 5 V)、语音播报时内部语音放大电路消耗的电流和GPS(APM7 101)模组(正常工作电压为DC 3.3 V)消耗的电流。最终测试结果:主控板消耗电流94 mA;语音播放时系统消耗电流80 mA;GPS(APM7101)模组消耗电流47 mA。该电路能够稳定工作在直流5~7 V的电源下,系统响应速度快,语音采用SPY0030为一级放大,噪声滤除效果好,最终输出音色和音质都能够满足实际的需要。系统可以准确播报当地的经纬度、标准时间及景点的详细信息。本系统将为解决西藏导游人员短缺,加快西藏旅游业的信息化步伐、推动旅游业的发展提供一个比较好的方案,具有一定的市场前景。
                          
                       
                          
                               




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2