当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于嵌入式ARM-Linux的GPS智能终端设计

 GPS智能终端是智能交通系统(ITS系统)的重要组成部分,它将卫星定位技术(GPS)、地理信息系统(GIS)以及无线通信技术融于一身。目前,卫星定位终端通常由8位/16位单片机、GSM/GPRS通信模块、GPS模块、LCD液晶显示器等组成,并且采用液晶部分与主控芯片组分离在两个外壳里的分体式结构。这里介绍一种基于ARM920处理器和嵌入式Linux操作系统,将GPS技术与CDMA网络相结合的嵌入式智能终端并设计。该终端具有将GPS终端的动态位置、时间、状态等信息实时地通过CDMA无线网络链接到控制中心,在具有地理信息处理和查询功能的电子地图上进行显示,并对终端的准确位置、速度、运动方向、终端状态等基本信息进行监控和查询;报警(包括主动报警和自动报警);显示调度信息;外接设备数据采集、本地温度采集及远程监控等功能。


1 GPS智能监控系统总体设计方案
    GPS智能终端与监控中心的通信方式是影响整个ITS系统功能的重要因素。为了解决目前终端采用GSM,GPRS网络进行数据传输不足的问题,设计中采用CDMA 1X网络,其理论传输速率可达300 Kb/s,数据传输速率高,永远在线,基于IP协议可以访问整个Internet;按流量收费,价格合理;具有良好的可扩展性,覆盖室内绝大部分地区及距海岸线120 km内的海域,基本不存在盲区。通信速度远高于GPRS网络,更加适合于大数据量、实时传输监控,而且易于平滑过渡到3G移动通信系统。GPS智能监控系统由GPS智能终端、CDMA网络、Internet网、监控中心组成,如图1所示。

2 GPS智能终端的硬件设计
2.1 平台介绍
    采用ARM处理器和嵌入式技术设计的移动终端,相对于以8位/16位单片机作为中央处理器的终端而言,无论是功能上,还是人机界面都有显著提高,是微处理器技术的重要发展。这里选用Atmel公司的AT91RM9200处理器为主控制器。该内核属于专门用于工业控制的ARM芯片,有较宽的工作温度以及其他较好的工业参数,同时集成了丰富的系统应用外设及标准接口;在180 MHz主频下高达200 MIPS处理速度;外部总线接口EBI。;两个USB 2.0主机口和一个USB 2.O设备口;一个10/100 Mb/s Ethernet通信接口;4个同步/异步串口;多种串行数据通路;支持I2C,I2S等。其丰富的外部设备和数据传输特性是选择它作为主控制器的主要原因。
2.2 硬件设计
    GPS智能终端的硬件系统构成如图2所示。

[!--empirenews.page--]

2.2.1 ARM主控模块
    AT91RM9200的串口UART2和UART3分别与CDMA模块、GPS模块通信,在实际通信时两路连接都加有LVTTL电平到RS 232电平的转换电路。AT91RM9200接收GPS模块从串口3发出的位置信息,解析出其中有用数据进行封装,然后以规定格式通过串口2交给CDMA模块,通过CDMA网络接入Internet网最终送至ITS监控中心;接收并解析ITS控制中心发来的短消息命令,按命令进行上传定位等操作;把系统运行状态及ITS控制中心发来的信息在液晶屏上显示出来。
2.2.2 CDMA通信模块
    CDMA模块是整个系统的通信基础,设计中采用Fidelix公司的CDMA通信模块FD810。该模块内嵌的高通Qualcomm MSM6025芯片,除支持基本的通话和SMS短消息外,还支持CDMA20001x无线数据传输。高速上下行速率与大缓存,数据传输速率高达153.6 Kb/s,可通过AT命令远程控制内置TCP/IP协议堆栈。DTGS-800与AT91RM9200通过串口UART2实现数据的收发和AT指令的操作。
2.2.3 GPS模块
    GPS接收模块选用芬兰Fastrax公司的iTrax100。该模块支持NMEA0183和Sony ASCⅡ协议的数据格式。GPS模块通过串口3将数据以固定的帧格式发送至AT91RM9200。GPS模块需要配备专门的GPS天线接收GPS卫星信号。一般在比较开阔的地区,需接收到3颗以上的GPS卫星信号才能进行准确定位。
2.2.4 存储器系统
    存储器系统采用4 MB NOR FLASH,64 MBNAND FLASH和32 MB SDRAM。NOR FLASH通过16位数据总线与CPU交换数据,用来存储Uboot,Linux内核、文件系统;NAND FLASH存储应用程序,作为系统的数据存储器,如加载电子海图等。为充分发挥32位ARM处理器的数据处理能力,选用2片16位的HY57V281620HG并联,以构建32位SDRAM与ARM交换数据。SDRAM在系统中主要用作程序的运行空间、数据及堆栈区。
    首先,通过JTAG口将Uboot、Linux内核、文件系统烧写到NOR FLASH,将应用程序烧写到NANDFLASH。在系统启动时,CPU首先从复位地址0x0处读取启动代码,并将存有引导程序Uboot的NORFLASH存储器配置到:Bank0,即AT91RM9200的NCS0引脚接至NOR FLASH芯片AT49BV322AD的CE端,这样就可以从NOR FLASH启动嵌入式Linux操作系统。


3 GPS智能终端的软件设计
    嵌入式Linux系统只需引导程序、Linux微内核、初始化进程3个基本元素,移植嵌入式Linux,就是使实时内核能在其他处理器(CPU)或微控制器(MCU)上运行。将嵌入式Linux移植到AT91RM9200平台上,一般需要4个步骤:下载源码和建立交叉编译环境,配置编译内核,制作文件系统,下载和调试内核。
3.1 应用程序设计
    应用程序包括Uboot启动代码、串口设备驱动程序、CDMA网络数据传输程序、GPS串口通信程序等。
    (1)系统加电后复位;
    (2)Uboot初始化CPU,SDRMA,分配地址空间等;
    (3)Uboot把Linux内核的压缩文件解压到SDRAM中,同时Uboot把控制权移交到Linux。
    Linux的内核有在FLASH存储器上直接运行和加载到内存中运行2种工作方式。这里采用的FLASH存储器运行方式相对较复杂,但运行速度更快;
    (4)开始执行SDRMA中的代码,Linux内核初始化,完成堆栈和中断的分配等;
    (5)加载串口驱动模块,完成串口的初始化;
    (6)运行CDMA网络数据传输程序,通过CDMA网络与Internet进行连接;
    (7)运行GPS串口通信程序,通过串口将GPS数据送至AT91RM9200。
    至此,已建立了从GPS数据采集到数据传输的完整的嵌入式监控系统。
3.2 无线接入网络程序
    终端由CDMA网络接入Internet后,通过互联网进行数据传输。系统上电和载入Linux后,首先初始化CDMA模块,进行端口设置和波特率设置(115 200 b/s);然后进入拨号等待状态。由于该终端在功能上映射为无线Modem,所以登陆网络需进行PPP拨号连接,接入号为#777,用户名和密码均为CARD。启动程序后,确认是否拨号成功,若成功拨号,则调用GPS串口通信程序和网络数据传输程序;最后使用Internet结束后,关闭无线连接。
3.3 CDMA网络数据传输程序
    在Linux操作系统下,监控终端通过CDMA网络与Internet连接,将数据上传到监控中心。套接字Socket是许多操作系统网络编程的通用API,是介于网络应用层和传输层之间的编程接口。套接字提供了访问下层通信协议的大量系统调用和相应数据结构,进程在Linux上的网络通信过程就是使用套接字传输数据的过程。,文中介绍的Socket通信采用面向连接的TCP协议。
    客户端和服务器端的TCP应用程序流程如图3所示。客户机部分先由Socket()创建本地套接口,给服务器端套接口地址结构赋值;用Connect()函数使本地套接口向服务器端套接口发出建立连接请求,经3次握手建立TCP连接;若连接建立成功,则用Send()和Recv()函数与服务器通信;通信结束,用Close()关闭套接口。
    服务器部分由Socket()创建套接口,并给套接口地址结构赋值;调Bind()函数绑定套接口、用Listen()函数在该套接口上监听请求;当Accept()函数接受请求,产生新的套接口及描述字,并与客户端连接;在用Fork()函数派生新的子进程与客户端通信,主进程继续处理其他请求。
3.4 GPS串口通信程序
    GPS串口通信程序是对采集到的GPS数据和车辆状态数据进行解析;对时间、经度、纬度、速度及超速报警等数据解析,并以固定格式通过串口3传送到AT91RM9200。GPS模块的工作流程如图4所示。[!--empirenews.page--]

    GPS接收数据采用NMEA0183格式,串行通信参数为8位数据位,无奇偶校验;1位停止位,无数据流控制。波特率设为115 200 b/s。判断帧起始是否为$G-PGGA,如果是,按位读取GPS数据,

    在Linux下,所有的硬件设备都被看成是普通文件,可以通过与普通文件相同的标准系统调用完成打开、关闭、读取和写入设备等操作。系统中每一个设备都用一种特殊的设备相关文件表示,存放在/dev目录下。在Linux中,对每一个设备的描述是通过主设备号和次设备号来惟一确定的。由同一个设备驱动控制的所有设备具有相同的主设备号,主设备号描述控制这个设备的驱动程序,即驱动程序与主设备号是一一对应的(O~255);次设备号用来区分同一个驱动程序控制的不同设备。


4 实验与结果
    运行嵌入式目标板的客户端程序采集GPS数据并发送,在上位机上运行服务器端就能接收到GPS数据。如图5所示为GPS数据采集、接收的调试界面的数据,比较监控中心服务器接收到的GPS数据与终端采集到GPS数据相一致,实现了终端与监控中心无线、实时数据传输。本终端运行稳定、系统响应时间小于等于3 s,网络良好情况下数据传输速率达115 200 b/s。


5 结 语
    利用嵌入式Linux操作系统开发平台提供的系统功能,可以简化多任务程序设计,降低开发难度,轻松地完成前后台编程方法难以完成的任务。由于CDMA数据传输有着永远在线、费用低廉,并且能够切换到SMS方式,保证数传万无一失的诸多优点,而且随着移动通信网络的发展,该GPS智能终端更易平滑过渡到3G移动通信系统。因此将会有更广阔的应用前景。

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

在这篇文章中,小编将为大家带来车联网的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 车联网 传感器 智能终端

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

双频GPS是最近手机领域的热门话题,目前很多手机都配备了这项技术。但是,也有网友不知道双频gps是什么意思。为了让大家更好地了解双频gps及其使用的相关信息,本网站为您带来了双频GPS的使用介绍和具体型号的相关内容。

关键字: iPhone 14 双频 GPS

一直以来,智慧工地都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来智慧工地的相关介绍,详细内容请看下文。

关键字: 智慧工地 物联网 智能终端

打造万亿级产业集群,推动武汉经济高质量发展。春节阖家团圆之时,仍有大量建设者、生产者坚守岗位,为城市发展贡献“加速度”。昨日长江日报记者获悉,过年期间,分布在誉为“黄金大道”的8公里左岭大道上的多个重大产业项目上,有超过...

关键字: 黄金大道 芯片 智能终端

深圳2022年10月12日 /美通社/ -- 2022年10月14日是"世界标准日",国际主题"美好世界的共同愿景",为科普标准化知识,宣传标准化理念,2022年10月月12日上午...

关键字: 投影仪 智能终端 开关电源 净水器

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭