首页 嵌入式GPS_GPRS车载定位技术研究

嵌入式GPS_GPRS车载定位技术研究

举报
开通vip

嵌入式GPS_GPRS车载定位技术研究 第 28 卷第 4 期增刊 2007 年 4 月 仪 器 仪 表 学 报 Chinese Journa l of Scientific Instr ument Vo l. 28 No . 4 Apr. 2007 嵌入式 GPS/ GPRS车载定位技术研究 张永强, 张永健 (河北工程大学 邯郸 056038) 摘 要: 本文研究了 GPS 定位信息的采集、处理, GPRS 网络数据传输, 多线程技术等关键技术。在此基础上, 以 ARM9 S3C2410A 微处理器为核心处理器,嵌...

嵌入式GPS_GPRS车载定位技术研究
第 28 卷第 4 期增刊 2007 年 4 月 仪 器 仪 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 学 报 Chinese Journa l of Scientific Instr ument Vo l. 28 No . 4 Apr. 2007 嵌入式 GPS/ GPRS车载定位技术研究 张永强, 张永健 (河北工程大学 邯郸 056038) 摘 要: 本文研究了 GPS 定位信息的采集、处理, GPRS 网络数据传输, 多线程技术等关键技术。在此基础上, 以 ARM9 S3C2410A 微处理器为核心处理器,嵌入式 L inux 为操作系统,结合 GPRS 模块、GPS OEM 板等模块 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实现了嵌入式车载定位 系统,具有安装简单、功能强大、极具实用性等特点。 关键词: GPRS; GPS; 嵌入式系统; 多线程技术 Research on embedded GPS/ GPRS vehicle location technique Zhang Yongqiang, Zhang Yongjian ( H ebei Univ er sity of E ng ineer ing , H and an 056038 , China) Abstract: This paper studied some key t echniques such as GPS locat ion informat ion collect ion and processing, data transmiss ion by GPRS netw ork and mult it hreading t echnology et c. Based on these techniques, w e des igned an embed- ded GPS/ GPRS vehicle locat ion syst em, which is composed of ARM9 microprocessor S3C2410A, GPRS module, GPS OEM and some peripheral devices. T he system is running under Linux OS. T he characterist ics of the syst em are easy ins tallation, powerful funct ion and high pract icalit y. Key words: GPRS; GPS; embedded system; mult it hreading t echnique 1 引 言 近年来, 汽车定位跟踪技术逐渐发展成为 ITS (智能交通系统)的重要组成部分, 它集卫星定位技术 ( GPS)、地理信息系统( GIS)以及现代通信技术于一 身,已经广泛地应用于车辆调度、安全、导航、汽车监 控、交通管理和控制指挥系统等领域。其主要功能是 将安装有车载定位终端的汽车的位置、时间、状态等 信息实时地通过无线网络传送到用户手机或者指挥 控制中心,从而能够随时定位、跟踪汽车。 2 嵌入式车载定位系统关键技术研究 21 1 GPS定位信息的获取和处理 GPS 定位的基本原理[ 1] 是根据高速运动的卫星 瞬间位置作为已知的起算数据,采用空间距离后方交 会的方法,确定待测点的位置。假设 t时刻( t为地面 待测点的未知时钟) 在地面有一未知点(坐标为 x , y , z ) , 可以 / 看到0 卫星 A( x 1 , y 1 , z 1)、B ( x 2 , y 2 , z 2)、 C( x 3 , y3 , z 3)、D( x 4 , y 4 , z 4 ) , ,, 卫星坐标由卫星导航 电文获得;可以收到卫星的时钟信号 t 1、t 2、t 3、t4、,; d1、d2、d3、d4 为卫星 A、B、C、D 到地面( x , y , z ) 的距 离, c为光速, 这样可以确定以下 4个方程: [ (x1- x) 2 + (y1 - y) 2 + (z1 - z) 2 ] + c(t1- t) = d1 [ (x2- x) 2 + (y2 - y) 2 + (z2 - z) 2 ] + c(t2- t) = d2 [ (x3- x) 2 + (y3 - y) 2 + (z3 - z) 2 ] + c(t3- t) = d3 [ (x4- x) 2 + (y4 - y) 2 + (z4 - z) 2 ] + c(t4- t) = d4 由以上 4个方程即可解算出待测点的坐标 ( x , y , z ) 和接收机的时间 t。 用户通过 GPS模块接收 GPS 卫星信号,经信号 处理后获得用户位置、速度和时间等信息。本监控系 统使用 T rimble公司的 Lassen SQ 模块遵循 NMEA 0183( Ver31 0)协议[ 2] , 提供串行通信接口, 串行通信 参数的设置为:波特率= 4 800 b/ s;数据位= 8位;停 止位= 1位;无奇偶校验。通过串行通信接口每秒可 292 仪 器 仪 表 学 报 第 28 卷 向监控数据处理终端传送 7 条数据。实际定位应用 中,只需根据需要周期性地读取一条或几条数据, 得 到需要的经纬度和时间数据即可, 其余信息均可忽 略。协议举例如下: $ GPRMC, 034055. 00, A, 3634. 2620, N, 11429. 6521, E, 000. 0, 000. 0, 230806, 04. 7, W, A* 17 $ GPRMC, < 1> , < 2> , < 3> , < 4> , < 5> , < 6> , < 7> , < 8> , < 9> , < 10> , < 11> , < 12> * hh< CR> < LF> $ :信息开始记号 GPRMC: 推荐定位信息(帧头) < 1> U TC 时间, hhmmss(时分秒) 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 < 2> 定位状态, A= 有效定位, V= 无效定位 < 3> 纬度 ddmm. mmmm(度分)格式 < 4> 纬度半球 N(北半球)或 S(南半球) < 5> 经度 dddmm. mmmm(度分)格式 < 6> 经度半球 E(东经)或W(西经) < 7> 地面速率( 000. 0~ 999. 9节) < 8> 地面航向( 000. 0~ 359. 9 度, 以真北为参 考基准) < 9> U TC 日期, ddmmyy(日月年)格式 < 10> 磁偏角( 000. 0~ 180. 0度) < 11> 磁偏角方向, E(东)或W(西) < 12> 模式指示(仅 NMEA0183 3. 0版本输出, A= 自主定位, D= 差分, E= 估算, N= 数据无效) * :校验和分隔符 hh:校验和 [ CR] [ LF] :回车和换行组合使用终止信息。 GPS 模块只要处于工作状态,就会不断地通过串 行通信接口获取 NMEA 0183( Ver3. 0)格式的 GPS导 航定位信息。这些固定格式的数据必须通过程序将各 个字段的信息从缓存字节流中取出来,将其转化成有 实际意义的、可供使用的定位信息数据,再经由 GPRS 模块的处理程序处理和发送出去供用户阅读。 2. 2 GPRS 网络数据传输 GPRS [ 3]是在 GSM 的基础上引入了分组控制单 元( PCU)、服务支持节点( SGSN) 和网关支持节点 ( GGSN)等新部件而构成的无线数据传输系统, 其用 户能够在端到端分组方式下发送和接收数据。本系 统采用的 GPRS 模块为 SIEMENS 的无线网络模块 MC35i, 通过 GPRS模块进入互联网的方法[ 4] 和有线 Modem 拨号上网的方法很类似,通过串口将有关 AT 指令[ 5] 发送到无线网络模块上,无线网络模块会对接 收到的指令做出响应并向串口发回结果码。 2. 2. 1 通过 GPRS DTU 进入互联网 当系统上电后, 启动 MC35i, 大约 3~ 5 s, 此时 MC35i将附着在 GPRS网络(必须有合法有效的 SIM 卡) ,应用程序即可通过 UART 端口对 MC35i实现 读写操作。可以通过 AT 指令或/ EMERGOFF 关闭 MC35i模块。在 GPRS 初始化和通信过程中,主要调 用如下 AT 指令: / AT + CGAT T?0主要用于查询 MC35i附着于 中国移动 GPRS 网络, 操作成功则 MC35i返回当前 状态。 / AT + CGAT T = 10用于设置 MC35i 附着于 GPRS网络,操作成功则 MC35i返回/ OK0。 / AT D* 99* * * 1# 0用于拨通连接中国移动 GPRS节点服务器, 操作通过返回 CONNECT。此时 MC35i进入 PPP 模式,不再响应其他的 AT 指令,此 时即可利用控制程序对网络进行 PPP 连接认证通过 后,应用程序就可以通过无线网络模块进入互联网, 此时车载系统就可以向数据中心发送数据。 21 21 2 通过 GPRS 模块收发短消息 如果只是需要了解一下当前汽车的状况而不必 跟踪的话,用户通过发送指令将 GPRS模块自动设置 为短信方式, 即可通过短消息的方法,使得用户移动 设备直接和车载终端进行交互。然后即可通过短信 方式接收、解析用户自定义的指令,执行指令后将数 据信息回复到用户手机上。短消息发送调用的 MC35i控制 AT 指令如下: ( 1)选择短消息模式 / AT + CMGF= 10用于选择短消息格式, 1为文 本格式, 0为 PDU 格式, 返回/ OK0。 本系统采用文本格式。 ( 2)发送信息 / AT + CMGF= 10回车(采用文本格式发送, 如 用 PDU 格式,则 AT + CMGF= 0) / AT + CMGS= + 8613xxxxxxxxx0回车 > 输入短消息。Crt l+ Z 结束并发送。成功则返 回/ OK0 ( 3)接收信息 / + CMT I: / SM0, X0( X 表示接收短消息的 SIM 卡存储号码) / AT + CMGR= X0回车(从 X存储区读短消息) / AT + CMGD= X0回车(从 X 存储区删除短消 息) 第 4 期增刊 张永强 等:嵌入式 GPS/ GPRS 车载定位技术研究 293 21 3 定位软件系统中的多线程技术[ 6-7] 定位系统若采取传统的顺序执行各模块的控制 方式,将会占用大量的系统资源, 影响系统的响应速 度,因而在具体的系统实现过程中采用多线程技术, 将一些功能模块( GPS 数据采集、GPS 数据处理和 GPRS 操作等)作为线程在后台异步运行。 主控线程主要实现打开并配置串口参数,初始化 GPRS 模块、启动各个子线程使系统处于工作状态, 同时处理这些模块间的消息派送、接收和处理等操 作,协调各个工作线程异步运行。 GPS 数据采集线程主要完成接收定位数据的功 能,在定位过程中运行线程, 线程周期性地接收定位 数据并存放在缓存中,等待系统的调用。 GPS 数据处理线程主要完成提取经纬度、时间、速 度等信息的任务,在用户要求提供这些信息的时候,开 始处理由 GPS 数据采集线程提供的数据,然后通过 GPRS网络或者以手机短消息的方式传送给用户。 GPRS 操作线程主要负责监听串口, 接收并 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 用户发来的指令或者反馈信息,根据指令完成数据传 输或者回复短消息等相关工作的操作。 Linux 系统下的多线程遵循 POSIX 线程接口, 称为 pthread。编写 Linux 下的多线程程序, 需要使 用头文件 pthread. h, 连接时需要使用库 libpthread. a。Linux 下 pthread的实现是通过系统调用 clone( ) 来实现的, clone( )是 Linux 所特有的系统调用。在 Linux 中,可以认为 main( )函数为系统的主线程, 在 main( )函数中调用 pthread_create( )函数创建子线 程,使用信号量、互斥量等机制同步各个线程。一个 线程的结束有 2 种途径: 一个是主线程函数返回, 线 程也就结束了; 另一种方式是主线程及后台进程调用 pthread_exit ( )函数退出。 3 车载终端的设计与实现 基于以上对 GPS 系统和 GPRS 系统的简要介 绍,可以得出 GPS- GPRS 定位系统车载终端的组成 及特点。其中, 车辆定位系统结构如图 1 所示, 系统 工作流程为: GPS-GPRS 车载定位终端将其所获取的 当前 GPS 地理位置信息, 通过 GPRS 方式上传到用 户移动终端或者监控中心系统服务器上, 并可以以短 消息方式发送指令, 完成对车辆当前状态的监控。 本文使用以 Linux 为操作系统的 UP-NE- T ARM2410开发套件[ 8] 进行实验。 图 1 车辆定位系统结构 3. 1 硬件系统设计 U P-NET ARM2410 开发套件采用 Samsung 公 司的 S3C2410A 微处理器 [ 9]。作为手持便携式和车 载嵌入式系统中应用广泛的 ARM9 芯片, S3C2410A 是一款 16/ 32 b 的 RISC 微处理器, 采用了 ARM 920T 内核,具有低价格、低功耗、高性能等特点和丰 富的片内外围电路。大大减少了系统开发成本,消除 了为系统配置额外器件的必要。 车载终端结构如图 2 所示,车载终端由 S3C2410A 实现控制,其核心部分主要包括 GPRS 控制、GPS 控制, 以及外围接口控制。CPU 内嵌PPP 及TCP/ IP 协议栈, 同时分别通过串行口 UART0去控制 GPRS 的工作,通 过串行口UART1去控制GPS 的工作。 图 2 车载终端结构 其中: ( 1) CPU 对 GPRS 的控制主要是通过串行口 UART 0 发送 AT 命令实现。同时, 在该系统设计 中, CPU 还可以通过控制 I/ O 口电平输出状态, 对 GPRS 进行硬件复位,以防止意外情况下的不可恢复 性死机(值得注意的是,通常情况下, GPRS 模块都有 软件复位命令,为实现对 GPRS 模块的保护,最好在 软件复位命令无效时, 才选择硬件复位)。 ( 2 ) CPU 对 GPS 的控制主要是通过串行口 UART1 发送控制命令实现 ( GPS 采样周期的设置、 GPS 输出数据选择、通讯波特率设置等) , 同时也是 通过串行口 UART 1接收 GPS 定位信息。 ( 3) CPU 对其他外围接口的控制主要通过通用 I/ O( GPIO)接口实现开关(电平)输入/输出, S3C2410A 294 仪 器 仪 表 学 报 第 28 卷 提供了 117 路 GPIO 接口,可根据用户需求接入各种 传感器。 ( 4) CPU 对系统的整体控制:首先, CPU 完成对 GPRS、GPS 及外围接口的初始化工作; 其次, CPU 通 过串行口 UART0 对 GPRS 进行操作,与服务器建立 起 TCP 连接,并监听 UART 0 端口;然后, 在保证与 服务器之间的 T CP 连接正常的前提下, 实现与服务 器之间的数据交互与控制; 最后, 启动 GPS 模块, 开 始接收定位信息。 3. 2 软件系统设计 在整个 GPS/ GPRS 定位系统设计中,涉及到服 务器软件、客户端应用软件及车载终端底层软件。在 此,仅介绍车载终端底层软件的设计。 在 GPS/ GPRS 定位系统车载终端底层软件的设 计中,程序采用了模块化设计, 软件由一个主程序和 若干个子程序构成, 每个子程序都是一个线程。其 中,子程序主要完成一些单一的基本工能, 主程序则 主要负责完成对各个功能模块(即子程序)的调用和 协调,程序框图如图 3 所示。 图 3 程序框图 下面就主程序的设计要点做出如下阐述:当系统 完成 GPS 及 GPRS 的初始化之后, 即进行网络拨号、 PPP 协商、TCP 联结等操作,当车载终端与服务器之 间建立起网络连结之后, 便可通过自定义的车载终端 与服务器之间的通讯协议进行数据交互。 在此过程中, 系统会首先判断, 当前系统是否允 许终端将 GPS 数据进行上传, 并进行相应操作; 同 时,检测是否收到控制命令(包括通过网络发出的控 制命令, 或通过短信方式发出来的命令) ,倘若收到了 控制命令,则对命令的合法性做出判断, 并进行相应 的处理。 其中, 与 GPRS 的 数据交换, 通 过串行口 UART 0中断完成;与 GPS 的数据交换, 通过串行口 UART 1完成。它们均以子程序的形式存在于车载 终端控制软件中, 同时还包括一些对 GPRS、GPS 模 块进行初始化及设置, 控制指令的解析, 以及 PPP 协 议、TCP/ IP 协议的解析与实现子程序。 4 结束语 作者根据嵌入式系统的特性和定位跟踪系统的 要求,基于 UP-NET ARM2410 平台开发了一套嵌入 式 GPS/ GPRS 定位系统。经多次测试系统稳定, 效 果良好,系统市场前景极为广阔。 参考文献 [ 1] 熊志昂, 李红瑞, 赖顺香. GPS 技术与工程应用[ M ] . 北京:国防工业出版社, 2005. [ 2] LassenT M SQ GPS Receiver Sy stem Designer Reference Manual[ EB/ OL ] . http: Mw ww . tr imble. con/ . [ 3] 钟章队. GPRS 通用分组无线业务[ M ] . 北京: 人民邮电 出版社, 2002. [ 4] HOFF S, MEYER M, SACH S J. Analysis o f the gen- eral packet r adio service ( GPRS ) o f GSM as access to the Internet [ C ] . Univ ersal Per sona l Communications, 1998, 1: 415-419. [ 5] MC35I_AT指令集[ EB/ OL] . http: Mwww. siemens. com/ . [ 6] LEWIS B, BERG D J, PRIM ER T . A guide to mu-l t ithreaded prog r amm[ Z] . 31 Oct, 1995. [ 7] BARR M. Prog ramming embedded systems in C and C + + [ M ] . OpReilly & Associat es, Inc, 1999. [ 8] 北京博创兴业科技有限公司. UP-NETARM 2410( L inux ) 嵌入式系统实验指导书[ M ] . 2004. [ 9] 马忠梅. ARM 嵌入式处理器结构与应用基础 [ M ] . 北 京:北京航空航天大学出版社, 2002: 15-17.
本文档为【嵌入式GPS_GPRS车载定位技术研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_530147
暂无简介~
格式:pdf
大小:259KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2013-10-09
浏览量:34