新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于MAX3100和OLED的GPS定位系统设计

基于MAX3100和OLED的GPS定位系统设计

作者:时间:2010-09-02来源:网络收藏

2 与GPS-OEM板之间的数据通信
与GPS-OEM板之间的数据通信,是通过MAX3100通用异步收发器来实现的,其中震荡频率选用11.0592MHz。首先用MAX232电平转换芯片,来实现RS232电平与TTL电平的双向转换,因为GPS OEM板的串口电平是符合RS232标准的电平,而MAX3100采用的是TTL电平。
MAX3100的DIN引脚为串行数据输入端,DOUT为串行数据输出端,串行时钟的上升沿锁存DIN数据,DOUT数据由串行时钟的下降沿同步输出。 MAX3100的DIN和DOUT引脚的串行数据序列都是16位数据,其中DIN数据序列的前两位表征串的数据类型。当前两位是“1,1”时,表示写命令,当前两位是“0,0”时,表示读数据,当前两位是“1,0”时,表示写数据。
对MAX3100进行初始化配置,是单片机通过写命令序列来完成的。该命令序列包括奇偶校验位、数据位、停止位、波特率设置、数据字长度、校验FIFO、中断使能等信息。MAX3100具有自己的波特率发生器,其振荡器可以用频率为1.843 2 MHZ或3.6864 MHZ的晶振。波特率由写命令序列的后4位B0~B3位决定的。
当单片机接收GPS OEM板的串口数据时,是通过读MAX3100数据序列来完成的,单片机从MAX3100读出数据时,需要在DIN写入一个16位的字(0000H),再从DOUT读入16位的字,其中的高八位是:接收/发送缓冲区的状态,数据错/溢出状态,接收/校验位状态和CTS的状态,低八位才是接收到的GPS OEM板的串口数据。
当单片机发送最终的定位数据时,是通过向MAX3100写入数据序列来完成的,单片机向MAX3100写入数据时,在DIN写入的是一个16位的字,其中高八位设置的内容是:写入标志、允许TX输出、RTS引脚设定以及传送校验位设定。低八位才是要传送的数据。

3 屏显示定位信息
显示模块显示屏为128列、64行,有1片行驱动器和2片列驱动器,其中行驱动器有64行输出,每片列驱动器有64路输出。只要提供电源就能产生驱动信号和同步信号,模块的外部信号仅与列驱动器有关。列驱动器内置64×64位显示存储器,显示屏上各像素点显示状态与显示存储器各位数据一一对应,显示存储器的数据直接作为图形显示的驱动信号,为“1”的时候显示,为“O”的时候不显示。系统中屏显示纬度、经度、高度、速度、日期、时间、航向、卫星状况等定位信息。

4 软件设计
4.1 看门狗中断的应用
MAX706的6脚与7脚分别与AT89C52的P1.7与复位脚相连,在软件程序中,每隔一段程序插入一个看门狗计数器复位指令,这样,在程序运行过程中,如果进入死循环或非法代码区,就会使系统复位,保证系统正常运行。
4.2 延时处理
将所要发送的数据送入发送缓冲器时,由于MAX3100要等T=1时,发送缓冲器为空,才可以接收另一个需发送的数据,所以此时加入合适的延时,是非常必要的,可以保证所发数据准确无误。
4.3 建立字库
在实现时,先将需要显示的汉字组成一个汉字库,英文字符或阿拉伯数字组成一个西文字库。
如汉字“效”字,设置宋体12号,对应的点阵为宽×高=16×16,用取模软件横向取模对应的32字节为:{O×10,0×20,0×08,0×30,O×08,0×20,0×7F,O×20,0×14,0×7E,0×12,0×44,0×21,0×C4,O×22,0×44,O×62,0×28,O x 14,0×28,O×08,0×10,0×0C,0×10,O×12,0×28,0×20,0×CE,0×C3,0×04,O×00,0×00}。
阿拉伯数字“1”,设置宋体12号,对应的点阵为宽×高=8×16,用取模软件横向取模对应的16字节为:{0×00,0 x0o,0×00,0×10,0×70,0×10,0×10,O×10,0×10,0×10,0×10,O×10,0×10,0×7C,O×00,O×00}。
4.4 软件要点设计
软件设计的时候,有两部分关键设计,一是对串口接收到的GPS模块数据进行处理;二是将所需的定位信息在OLED显示屏上显示出来。软件流程图如图2所示。

8b.jpg

8c.jpg



评论


相关推荐

技术专区

关闭