积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式软件 >> LINUX
  相关分类: LINUX | WINCE | UC/OS | Bootloader | 下载 | VXWORKS | 网络协议 | JAVA | 汇编 | 驱动设计 | Symbian | XP Embedded | Nucleus | 新产品 | 相关文章 | 综合技术 |
基于嵌入式Linux的移动终端的软件设计
 
作者:张志虎 刘镇   来源:微计算机信息    点击数:538   更新时间:2008-9-4
您可以添加到网摘 让更多人关注此文章:

    

摘要:移动终端车辆监控系统的重要组成部分,主要用来接收 GPS 信号并对其进行处理,然后通过 GPRS 网络发送给监控中心。本文介绍了一种嵌入式 Linux 系统平台下,移动终端软件的设计方案及其相关实现。 

关键词:移动终端嵌入式 Linux全球定位系统通用分组无线业务车辆监控系


  1   引言


  实时操作系统(RTOS)是嵌入式应用软件的基础和开发平台,应用程序都是建立在它之上。实时嵌入式操作系统的种类繁多,大体上可分为两种:商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵。免费型的实时操作系统在价格方面具有优势,目前主要有 Linux、μC/OS 等。


  与其它嵌入式操作系统相比,嵌入式 Linux 具有开放源代码、高可靠性以及强大的网络功能等优势,因此选用了嵌入式 Linux 系统作为移动终端的软件平台。


  2   车辆监控系统概述


  车辆监控系统是融全球定位技术(GPS)、地理信息技术(GIS)和通用分组无线业务(GPRS)于一体的高科技系统,由移动终端、GPRS 网络和监控中心组成[1]。移动终端安装在各个移动车辆上,其上的 GPS 接收器实时采集卫星定位信息,然后通过串口 1 传送给 ARM 处理器。ARM 处理器先解算出有用的数据(经纬度、速度、状态等),然后按照 TCP/UDP 协议的格式封装成 TCP/UDP 数据包,接着加上 IP 报头和报尾封装成 IP 数据报。由于 ARM 处理器与 GPRS 通信模块之间的通信遵循 PPP(Point to Point Protocol,点对点协议),因而,需要将 IP 数据报按照 PPP 帧的帧格式封装成 PPP 帧,然后传递给接在串口 2 上的 GPRS 通信模块。GPRS 通信模块通过无线链路将数据进一步发送到 SGSN(Serving GPRS Support Node,GPRS 业务支持节点)。SGSN 进行相应的协议转换,并按照 GPRS 特有的 GTP(GPRS Tunnel Protocol,GPRS 隧道协议)将数据封装成 GTP 包,然后通过 GPRS 骨干网传送到相应的 GGSN(Gateway GPRS Support Node,GPRS 网关支持节点)。GGSN 也进行相应的协议转换,再根据外部数据网的协议格式对数据进行新的封装,并且根据其目的 IP 地址选择路由进行传送,从而最终传送到监控中心。监控中心在具有地理信息处理和查询功能的电子地图上进行车辆运动轨迹的显示,并对被监控车辆的准确位置、速度、运动方向、行车状态等参数进行监控和查询。同时,监控中心也可以向移动终端发送文本信息和控制命令。


  由此可见,移动终端的核心功能是接收 GPS 信号、处理 GPS 数据以及通过 GPRS 网络与监控中心进行通信(包括向监控中心发送定位信息和接收监控中心的指令)。


  3   移动终端软件系统的设计


    3.1 总体设计


  在移动终端上,软件系统主要由三个部分组成:GPS 信号接收程序、GPS 数据处理程序和 GPRS 通信程序。在嵌入式 Linux 系统平台下,移动终端的软件系统结构如图 1 所示。



图 1    移动终端的软件系统结构   



 图 2    GPS 信号接收程序的层次结构


  3.2 GPS 信号接收程序


  对于移动终端,它的第一个任务就是接收 GPS 信号。在嵌入式 Linux 系统平台下,GPS 信号接收程序的层次结构如图 2 所示。


  其中,tty 层、N_TTY 行规程(Line Discipline)层和低层驱动程序是嵌入式 Linux 系统中串行通信驱动模块三个固有的逻辑层,这三层之间有相互调用的接口函数。嵌入式 Linux 系统提供了多种行规程供各类设备进行选择,如:TTY 行规程(N_TTY)用于连接终端输入驱动设备和终端显示驱动设备,而 PPP 行规程(N_PPP)用来连接终端驱动设备和网络驱动设备。GPS 信号接收程序使用了 N_TTY 行规程,GPS 接收器接收到的数据必须经过 N_TTY 行规程模块进行规范处理。低层驱动程序用来直接对硬件进行操作,而 flip_buffer 是低层驱动程序和 N_TTY 行规程之间的高速接口,它保存 GPS 接收器接收到的数据。


  在嵌入式 Linux 系统中,内核给接在串口 1 上的 GPS 接收器提供了一个设备节点 /dev/ttyS0 以及标准的文件系统接口[2]。这样,GPS 信号接收程序对设备节点 /dev/ttyS0 的操作就会被内核映射成对 GPS 接收器的操作。当 GPS 接收器接收到卫星信号时,会触发低层驱动程序事先注册到系统中的中断处理函数,从而调用函数 receive_chars( ) 把数据填充到 flip_buffer 中,然后调用函数 tty_flip_buffer_push( ) 将数据传递给 N_TTY 行规程模块。N_TTY 行规程模块中的函数 n_tty_receive_buf( ) 对数据进行规范化处理后将其存入 tty 缓冲区中,供应用层的 GPS 信号接收程序来读取。


  当应用层的 GPS 信号接收程序开始运行时,它会向文件系统发出读请求,文件系统发现此请求的对象为 tty 设备,于是调用函数 tty_read( ),接着调用函数 read_chan( ) 读取 tty 缓冲区中的数据。


  3.3 GPS 数据处理程序


  GPS 接收器与嵌入式 Linux 平台之间的通信协议有很多种,这里采用的通信协议是 NMEA-0183,它规定了 GPS 数据的输出速率为 4,800 波特,其输出都是 ASCII 字符,工作模式为 8-N-1。通信协议 NMEA-0183 中包含的语句有 GPGGA、GPGLL、GPGSA、GPGSV、GPRMC、GPVTG 等,要想知道车辆的位置信息,至少要提取出 GPGGA、GPGLL、GPRMC 中的一种。NMEA-0183 协议报文的语句格式如图 3 所示。



图 3    NMEA0183 的报文格式


  其中,$ 为串头,表示串的开始;AA 为识别符;XXX 为语句名;ddd…ddd 为数据字段,字母或数字;* 表示串尾;hh 表示 $ 与 * 之间所有字符代码的校验和;< CR > 为回车控制符;< LF > 为换行控制符。


  在车辆监控系统中,主要关心的是时间、车辆的位置和速度等信息。因此,在移动终端上,GPS 数据处理程序的主要功能是从 GPS 接收器接收到的数据中提取出 GPRMC 定位语句,忽略掉其他信息[3]。此后,移动终端上的 GPRS 通信程序负责将相关的数据发送给监控中心。


[1] [2]  下一页



相关文章
· 中科红旗Midinux垄断MID操作系统[39]
· 上海锐极嵌入式培训中心linux就业培训保证就业[194]
· 以Linux为系统基于DSP的视频检测方案[170]
· 以Linux为系统基于DSP的视频检测方案[340]
· 嵌入式Linux操作系统的驱动程序开发要点[413]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
新兴半导体技术催生绿色节能的大学校园
电子系统创新促进汽车走向环保与节能
意法CEO携新品巡游中国 
未来3年新余需要8万光伏产业人才
看好中国未来发展:瑞萨提升在华芯片产
中国LED发展神速将成为未来照明产业
剖析联发科技2009年五大产品策略
突破四大障碍 蓝牙立体声耳
瑞萨向德国企业出售当地半导体前工序工
产业紧缩 PCB业或将提前
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...
[建议]学习PIC系列单片机的...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网