网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

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

    摘要:利用通用异步收发器MAX3100高效的收发特点,和OLED宽温和抗震的特点开发便携式GPS定位系统。设计结果表明该系统具有定位准确、适应温度范围宽、抗震强、功耗低的特点。

    0 引言

    在单片机应用系统中,串行数据通信通常采用芯片8251,但因8251的通信波特率不高,不能应用于晶振较高的系统,这就使得要求高运行速度、高速收发数据的系统无法应用8251芯片收发数据,而且8251需要有8253提供外部时钟信号。MAXIM公司推出的新型UART芯片MAX3100

    正好填补了这个空白。MAX3100支持高速通信,最高通信波特率可达230KBPS,低功耗,支持低电压,设计后系统体积小,比采用外部时钟8253设计的印制版尺寸的一半还小。而且能够使软件设计实现起来更可靠。

    有机发光显示OLED是比液晶显示技术更为先进的新一代平板显示技术,是被业界公认为最具发展前景的下一代显示技术。有机发光显示OLED(Organic Light Emitting Display)与液晶显示技术相比,具有超轻薄、高亮度、广视角、自发光、响应速度快、适应温度范围宽、抗震强、功耗低、可实现柔软显示等优越性能,因此OLED屏正快速扩大其在便携式电子产品市场上的应用份额,能够应用于通讯、测绘、铁路以及兵器等野外恶劣环境。

    1 主要工作原理

    系统主要由AT89C52单片机、MAX3100通用异步收发器、GPS-OEM板、OLED显示屏等组成。AT89C52单片机通过MAX3100接收GPS-OEM板发出的NEMA语句,经过软件编程计算出定位信息(包括:纬度、经度、高度、速度、日期、时间、航向、卫星状况等)后,在OLED显示屏上显示出来。并且通过MAX3100将这些定位信息以RS232标准串口数据输出。系统电路原理图如图1所示。

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

    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 OLED显示屏显示定位信息

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

    4 软件设计

    4.1 看门狗中断的应用

    MAX706的6脚与7脚分别与AT89C52的P1.7与复位脚相连,在软件程序中,每隔一段程序插入一个看门狗计数器复位指令,这样,在程序运行过程中,如果进入死循环或非法代码区,就会使系统复位,保证系统正常运行。

    4.2 延时处理

    将所要发送的数据送入发送缓冲器时,由于MAX3100要等T=1时,发送缓冲器为空,才可以接收另一个需发送的数据,所以此时加入合适的延时,是非常必要的,可以保证所发数据准确无误。

    4.3 建立字库

    在实现OLED显示时,先将需要显示的汉字组成一个汉字库,英文字符或阿拉伯数字组成一个西文字库。

    如汉字“效”字,设置宋体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所示。

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

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

    在MAX3100中定义一个8位移位的子程序,C语言代码如下:

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

    这个子程序的任务就是通过对MAX3100的DIN和DOUT引脚进行8次移位操作,来完成两个任务,首先是接收部分,通过初始化配置后,经过RX接收GPS模块的NEMA语句,送入接收缓冲区。接下来是发送部分,接收SPI数据并进行发送缓冲,通过TX按异步串行发送出去。

    接收NEMA语句时首先从行首标志“$”开始,在没有进一步处理之前,NEMA语句是一长串字节流,这些信息在经过分类提取之前是无法加以利用的,因此,必须通过软件程序将各个字段的信息从字节流中提取出来,将其转化成纬度、经度、高度、速度、日期、时间、航向、卫星状况等定位信息。

    在OLED显示屏上某一位置显示某一定位信息,是通过软件设置来完成的,其中Row代表所要显示位置的开始行,Column代表所要显示位置的开始列,a代表在已经建立的汉字库和西文字库中的序列号,C语言代码如下:

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

    5 结束语

    本系统结合MAX3100高效的异步收发通信优点,吸取了其功耗低、体积小、传输快以及OLED显示屏超轻薄、高亮度、广视角、自发光、响应速度快、适应温度范围宽、抗震强、功耗低等优点。设计开发出由电池供电的便携式GPS定位系统,已经成功应用到产品中,取得很好的效果。


 

热门搜索:2866569 SS480806 ADS1013IDGSR PDUMV20 PSF3612 TW-E41-T1 ADC128S102CIMTX ADS1013IDGSR SBB2805-1 02T0500JF B30-8000-PCB TLP825 UL603CB-6 TLM812SA 8300SB1 01B1001JF BSV17-16 SS3612 TR-6FM 02M5000JF PDU1220 PDU2430 602-15 BT152-500R/600R SBB2808-1
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质