欢迎来到天天文库
浏览记录
ID:9706263
大小:56.50 KB
页数:8页
时间:2018-05-05
《基于嵌入式linux 的移动终端的软件设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于嵌入式Linux的移动终端的软件设计 引言 实时操作系统(RTOS)是嵌入式应用软件的基础和开发平台,应用程序都是建立在它之上。实时嵌入式操作系统的种类繁多,大体上可分为两种:商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵。免费型的实时操作系统在价格方面具有优势,目前主要有Linux、μC/OS等。 与其它嵌入式操作系统相比,嵌入式Linux具有开放源代码、高可靠性以及强大的网络功能等优势,因此选用了嵌入式Linux系统作为移动终端的软件平台。 2
2、 车辆监控系统概述 车辆监控系统是融全球定位技术(GPS)、地理信息技术(GIS)和通用分组无线业务(GPRS)于一体的高科技系统,由移动终端、GPRS网络和监控中心组成[1]。移动终端安装在各个移动车辆上,其上的GPS接收器实时采集卫星定位信息,然后通过串口1传送给ARM处理器。ARM处理器先解算出有用的数据(经纬度、速度、状态等),然后按照TCP/UDP协议的格式封装成TCP/UDP数据包,接着加上IP报头和报尾封装成IP数据报。由于ARM处理器与GPRS通信模块之间的通信遵循PPP(PointtoPoi
3、ntProtocol,点对点协议),因而,需要将IP数据报按照PPP帧的帧格式封装成PPP帧,然后传递给接在串口2上的GPRS通信模块。GPRS通信模块通过无线链路将数据进一步发送到SGSN(ServingGPRSSupportNode,GPRS业务支持节点)。SGSN进行相应的协议转换,并按照GPRS特有的GTP(GPRSTunnelProtocol,GPRS隧道协议)将数据封装成GTP包,然后通过GPRS骨干网传送到相应的GGSN(GateEA-0183,它规定了GPS数据的输出速率为4,800波特,其输出
4、都是ASCII字符,工作模式为8-N-1。通信协议NMEA-0183中包含的语句有GPGGA、GPGLL、GPGSA、GPGSV、GPRMC、GPVTG等,要想知道车辆的位置信息,至少要提取出GPGGA、GPGLL、GPRMC中的一种。NMEA-0183协议报文的语句格式如图3所示。123下一页——感谢阅读这篇文章,.., 图3 NMEA0183的报文格式 其中,$为串头,表示串的开始;AA为识别符;XXX为语句名;dddddd为数据字段,字母或数字;*表示串尾;hh表示$与*之间所有字符代码的校验和;
5、<CR>为回车控制符;<LF>为换行控制符。 在车辆监控系统中,主要关心的是时间、车辆的位置和速度等信息。因此,在移动终端上,GPS数据处理程序的主要功能是从GPS接收器接收到的数据中提取出GPRMC定位语句,忽略掉其他信息[3]。此后,移动终端上的GPRS通信程序负责将相关的数据发送给监控中心。 3.4 GPRS通信程序 3.4.1拨号到GPRS网络的基本原理 移动终端要想通过GPRS通信模块访问Inter,首先得附着在GPRS网络上,然后发起PDP(PacketDataPr
6、otocol,分组数据协议)上下文激活过程[4],如图4所示。只有通过此过程,GPRS通信模块才能与GGSN建立一条逻辑通路,从而访问Inter。 图4 PDP上下文激活过程示意图 3.4.2移动终端上拨号程序的实现 在嵌入式Linux系统平台下,移动终端利用pppd(包含chat)拨号到GPRS网络。pppd是一个用户空间的后台服务进程(daemon),而chat是pppd所带一个辅助工具,用来与GPRS通信模块建立会话。在PDP上下文激活过程中,chat完成了第①步,而pppd完成了第②、③、④、
7、⑩步。pppd拨号程序的层次结构如图5所示。 图5pppd拨号程序的层次结构 其中,N_PPP层就是PPP协议层。PPP协议模块不仅提供简单的数据链路层功能,它还提供诸如鉴权(如PAP/CHAP),数据压缩/解压(如CCP)和数据加密/解密(如ECP)等扩展功能。由于GPRS通信程序要求透明化地使用这些扩展功能,而PPP协议模块本身无法对各种策略进行选择,于是pppd应运而生。PPP协议模块中策略性的内容都移到了pppd中,由pppd完成对鉴权、压缩/解压和加密/解密等扩展功能的选用。 在运行pppd的时
8、候,pppd首先读取配置文件中的配置信息,其中包含了设置PPP协议模块的参数、GPRS通信模块连接的端口(/dev/ttyS1)以及对chat进行调用的语句,等等。随后pppd调用chat,chat也会读取相应的配置文件(其中包含一些应答语句对和AT命令),然后使用默认的行规程N_TTY向GPRS通信模块发送AT命令,接着chat将控制权返还给pppd。pppd将行规程切换为N_PPP
此文档下载收益归作者所有