MCU控制各个功能模块工作可参考图4的时间安排。
图4 终端MCU控制时序分配
如图4所示,在1秒时隙内,先接收GPS信号(图中GPS表示),经采集后再发送给调制芯片(图中Send_data),然后控制LCD显示(图中LCD),显示完毕后开始等待接收总台命令信号,等待直至下一秒的到来,相隔大约0.6秒。若下一秒到来前没有命令信号则转入下一个循环;若下一秒到来前有接收到命令信号则进入接收程序(图中Receive_data),经过短暂的数据处理时间段(图中process)后再启动显示(图中LCD2),然后驱动语言芯片发音(图中Speak)。成功收到命令信息后,下一周期的“Send_data”将改变前导码以反馈给总台。
硬件电路设计
图5 智能终端整体硬件电路
MCU
本设计采用AT89S52作为MCU,其中P0口与P1口的2,3,4控制LCD1602;P1口的5,6,7作为同步串口控制调制解调芯片MSM6882;串口的RX接收GPS数据,TX发送语音数据(见图5)。
GPS模块
设计采用u-blox公司的GPS接收模块nr-86,该模块体积小重量轻,集成高灵敏度、低功耗的NemeriX芯片方案于设计中。本模块能快速定位, 1Hz导航更新频率,并可以对16颗卫星进行同时跟踪。支持WGS-84的数据协议。它接口简单,TTL电平串口输出NMEA-0183格式的数据,只须连接模块的TX端与51单片机的RX端,另外单片机P1.0与模块的RESET端相连,以控制模块复位。本设计采用NMEA默认格式中的$GPRMC协议,是由于该协议精简,信息覆盖面广,数据容易被单片机采集处理。
调制解调芯片MSM6882
在设计时,89S52单片机通过同步串口与该芯片相连,然后由芯片把信号调制到模拟信道,再将信号加载到对讲机(PTT)上,由对讲机实现无线传输。单片机CLK引脚的输入时钟周期应在0.42μs到1.35μs范围内,通过可调电阻调节调制信号输入到电台的幅值。信号一路经信号限幅后送入MSM6882的AI引脚,另外一路经放大、检波、幅值比较后送
入单片机,以作为载波检测信号。当系统检测到该信号时,可以采取延时发送的方式来避免同频干扰和信道阻塞。
语音合成芯片XF1M01
语音合成芯片 XF1M01通过异步串口接收待合成的文本,它内含GB-2312汉字字库,外接单支三极管驱动扬声器,即可实现文本到声音(TTS)的转换,设计中音频输出通过功放再送给扬声器,以获得较大音量,适应户外环境。只须送给它汉字的内码(即16位二进制字符),即可读出一字,多送多读,因此对存放空间的要求要低,适合电子巡查系统的应用。芯片空闲时Ready端输出低电平,因此将其连至单片机P3.2,单片机即可扫描该引脚,当芯片空闲时就通过异步串口给它发送数据。传输波特率由Baud_0、Baud_1两个引脚决定,设计中采用的是9600bps。单片机的P1.1与芯片RESET端相连以控制芯片复位。
结语
设计了一个嵌入式智能移动定位终端,经过实物调试成功。巧妙利用低成本硬件实现了GPS的信号采集、处理、传输等的功能。设计通过低成本的设备改良制作出了智能移动终端,实现总台对保安位置等信息的掌握,监控。本设计巧妙地运用原有对讲机网络作为数字通信媒介,使得成本更低应用更方便。另外语音合成文本芯片的运用简化了硬件的开发。