当前位置:首页 > 汽车电子 > 汽车电子
[导读]1 引言 GPS (全球定位系统)是为海上、陆地和空中各种运输工具和移动设备的导航和定位而开发的,具有高精度、全天候、全球性和点间无需通视等优点,使测量技术发生了质的飞跃。GPS技术引入我国后,特别是美国取消

1 引言
    GPS (全球定位系统)是为海上、陆地和空中各种运输工具和移动设备的导航和定位而开发的,具有高精度、全天候、全球性和点间无需通视等优点,使测量技术发生了质的飞跃。GPS技术引入我国后,特别是美国取消SA政策后的这几年发展十分迅速。目前,GPS已被广泛应用在工程测量、地理测绘、交通运输和军事等诸多领域,取得了明显的社会和经济效益,发展前景十分广阔。
    在GPS的行业应用中,数据接收终端是最基本的设备。目前的数据接收终端具有智能化和可扩展性不断增强的发展趋势,表现为内嵌的MCU功能越来越强大,接口越来越丰富。本文介绍一种以目前比较流行的基于ARM7架构的嵌入式处理器S3C44B0X和Motorola的M12模块的GPS数据接收终端的设计。

2 终端的硬件设计
    终端由S3C44B0X 和M12模块及一些外围器件组成,系统的硬件结构如图1所示。
    S3C44B0X具有2个功能完整的串口(UART),其I/O操作电压范围为3.0~3.6 V,M12模块提供一个用于输入控制信息和输出定位与状态信息串口,其I/O电平符合TTL电平范围,为0~3 V,因此,可以将S3C44B0X的I/O输出高电平设置成3 V,把S3C44B0X 和M12的RxD、TxD和GND直接连接,进行异步串行数据交换。由于S3C44B0X内部存储空间非常有限,需要外扩存储器件,这里扩展了一片FLASH和一片SDRAM 存储器。此外,键盘和显示器被挂接在S3C44B0X上面,以提供人机交互的功能。
 
图1 系统硬件结构框图
2.1 S3C44B0X 与存储器的接口设计
    S3C44B0X自身不具有ROM,因此必须外接ROM来存储掉电后仍需要保存的代码和数据。本系统采用SST39VF160闪速存储器(FLASH Memory)作为系统的ROM,此器件具有非易使性,可轻易擦写。该器件容量为1 MB×16,与S3C44B0X接口如图2所示。
 
图2 S3C44B0X与SST39VF160接口图
    由于本终端采用SST39VF160作为程序存储器(内含处理器的启动代码),所以SST39VF160映射在处理器的Bank0区域内。因此,他的片选端与处理器的nGCS0相连。
    为了提高程序运行的速度和效率,系统还扩展了SDRAM 作为程序数据暂存空间。SDRAM器件的型号为IS42S16400,其存储空间组织方式为1 MB×16×4 Bank,共64 Mb,数据总线宽度为16,其与S3C44B0X的接口如图3所示。
 
图3 S3C44B0X 与IS42S16400接口图
2.2 S3C44B0X与LCD的接口设计
    本系统采用了G35_II LCD套件作为显示器,G35_II的液晶屏尺寸为3.5英寸,分辨率为320×240,颜色为16灰度。S3C44B0X内部含有一个LCD驱动控制器,能自动产生LCD 驱动控制所需的控制信号,因此S3C44B0X可以与诸如黑白灰度、STN型彩色等LCD屏直接接口,而不需要另外加LCD控制器。在这种接口方式下,LCD显示缓冲区映射在系统的存储器空间上,程序只需将象素点内容写入存储器对应地址就可以实现对应LCD屏上象素点颜色的显示。本终端采用S3C44B0X的PC口和PD口作为LCD驱动接口,使用4位象素灰度模式查找表和8位单扫描方式进行显示。本终端的显示器以显示数据发送接收情况和数据流量信息为主。

3 S3C44B0X与M12模块的接口程序设计
    接收终端使用S3C44B0X的COM0口向M12模块发出控制指令和接收定位信息。M12模块支持Motorola二进制格式和NMEA0183格式两种的数据输出模式。在Motorola二进制模式下,M12以9600 b/s的速率输出数据和接收指令;在NMEA0183,M12以4800 b/s的速率输出数据和接收指令。默认状态下,M12模块工作在Motorola二进制模式下。为了获取更高的数据传输速度,本研究使用M12模块默认的工作模式,即Motorola二进制模式。在该模式下,串行数据传输格式为:8位数据位,1位停止位,无奇偶校验和硬件流控制。
    S3C44B0X以通过向M12发送AT指令的方式对其进行控制。根据Motorola GPS Products-Oncore User'sGuide所列举的内容,Motorola的AT I/O指令一共有69条,其中M12模块所支持的指令有51条。利用这些指令可以很方便的对M12模块进行日期时问设定、自定义坐标设定和定位信息读取等操作。在接收终端中,只需要读取M12模块的定位信息,因此程序中只用到51条指令中的1条指令:
@@EqmC<CR><LF>
    该指令用于控制M12模块输出定位信息。其中“@@”是I/O指令的前缀;“Eq”是指令的关键字;“m”是M12模块输出(响应)信息模式选择,其数值可以是0~255之间的整数,当“m”为0时,响应信息只输出一次,当“m”为1时,响应信息每秒钟输出一次,当“m”为2时,响应信息每2 s输出一次,如此类推,当“m”为255时,响应信息每255 s输出一次;“C”是指令的校验和(Checksum)数据;“<CR>”是回车符;“<LF>”是换行符。为了便于采集定位数据,将“m”的数值设置为0,使M12模块每接收一次指令就回复一次定位数据。
    M12模块在默认状态下只能接受以Motorola二进制形式输入的指令。所谓的Motorola二进制形式是指将指令的前缀、关键字和后缀(回车和换行)变换成相应的ASCII码后,加上模式“m”与校验和“C”组合成的二进制指令代码。本研究中所用到的“@@EqmC”指令格式转换如下:
Message format:@@EqmC<CR><LF>
Hexadecimal:40 40 45 71 00 34 0D 0A
    其中,校验和“C”是指“E”、“q”和“m”三个的校验和,即0x45、0x71和0x00之间的校验和(将0x45和0x71按位异或的结果再和0x00进行按位异或),结果为0x34。输入指令时,只需要按照9600 b/s、8位数据位、1位停止位、无奇偶校验和硬件流控制的串口格式,将0x40、0x40、0x45、0x71、0x00、0x34、0x0D和0x0A八个数从M12模块的串口连续输入进去即可,M12模块在接收到其可识别的指令之后会在1 s之内做出响应。
    在接收和识别指令“@@EqmC”之后,M12模块在接收到正常的GPS卫星信号时会以相同的串口数据格式和速率输出以下格式的定位信息:
@@Eq,mm,dd,YY,hh,mm,ss,dd,mm.mmmm,n,ddd,
mm.mmmm,w,shhhh.h,sss.s,h,m,t,dd.d,nn,rrrr,aa,CC<CR><LF>
    该信息是按照ASCII码的形式输出的,每段信息均以逗号相隔。根据Motorola GPS Products-Oncore User'sGuide对于该信息的解释,该信息按照所描述的内容可以拆分成7大部分,其拆分示意格式如下:
@@Eq,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>
    其中,第1部分信息为日期信息。“mm”是指月,数值为01~12;“dd”是指日,数值为01~31;“yy”是指年,数值为98~18。
    第2部分信息是UTC(Universal Coordinated Time)时间信息。其中,“hh”为时,数值为00~23;“mh”为分,数值为00~59;“s”是秒,数值为00~60。
    第3部分信息是纬度信息。其中,“dd”是度,数值为00~90;“mm.mmmm”是分,数值为00.0000~59.9999;n为方向,他有两个取值,一是“N”,代表北纬,二是“S”代表南纬。
    第4部分信息是经度信息。其中,“ddd”是度,数值为000~180;“mm.mmmm”是分,数值为00.0000~59.9999;w为方向,他有两个取值,一是“w”,代表西经,二是“E”代表东经。
    第5部分信息是海拔高度。其中,“s”是符号,有“+”和“-”两个取值;“hhhh.h”是以米为单位的高度数据。海拔高度信息的数值范围为:-1000.0~+18000.0。
    第6部分信息是速度信息。其中“sss.s”是以节为单位的速度数据,其数值为000.0~999.9;“hhh.h”为以度为单位前进方位角数据,其数值为000.0~359.9。
    第7部分是接收终端的状态信息。其中,“m”是定位工作模式信息,取值为0或1,0代表单机模式(Autonomous),1代表差分模式(Differentia1);“t”是定位类型信息,取值为0~3,0代表无定位,1代表2D定位,2代表3D定位,3代表广播模式;“dd.d”是几何因子信息,取值为00.0~99.9;“nn”使用中的卫星数目,数值为00~37;“rrrr”为参考站识别码,数值为0000~1023;“aa”以秒为单位的差分数据时间,数值为00~60;“CC”为校验和。
    GPS接收终端只需要M12模块提供经纬度位置,所以需要通过程序提取上述的7大部分信息中第3和第4部分信息。S3C44B0X与M12模块接口的COM0初始化代码如下:
UFCON0=0x0;
UMCON0=0x0;
ULCON0=0x3;
UCON0= 0x245;
UBRDIV0= ((int)(Fclk/(16 * 9600))-1);
    S3C44B0X与M12的接口程序流程如图4所示。S3C44B0X首先请求M12模块输出定位数据(向M12模块发出指令“@@EqmC”),然后等待M12模块回送数据。当M12模块回送数据时,S3C44B0X首先做出判断,确认其收到的是预期的定位信息,然后将定位信息(经纬度数据)截取下来,整理成可供显示数据信息后在LCD上显示经纬度数据,最后将串口的接收缓冲区清空,以免下次接收信息时出错。由于M12模块在1 s之内只能响应一条指令,所以接收终端的数据信息最快1 s更新一次。
 
图4 S3C44B0X与M12的接口程序流程图

4 结语
    本文讲述了一个基于S3C44B0X和M12模块的GPS数据接收终端的设计。通过在华南农业大学工程学院土槽实验室的GPS基准点(坐标为:东经113°20.538 541',北纬23°09.581 834')的静态定位实验测定(持续进行了约50 min,采集到3125组经纬度数据,静态定位数据分布如图5所示),M12模块的单击静态定位精度为<7.81m,符合其用户手册上所标的无SA政策下<25m的精度范围。接收终端运行稳定,定位信息每1 s更新一次,可作为对精度要求不高的民用地理定位。
 
图5 系统静态定位值散布图

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭