您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页车载多媒体导航终端软件设计与实现

车载多媒体导航终端软件设计与实现

来源:爱问旅游网
第34卷 第3期 2010年6月 武汉理工大学学报(交通科学与工程版) Journal of Wuhan University of Technology (Transportation Science&Engineering) Vo1.34 NO.3 June 2010 车载多媒体导航终端软件设计与实现* 武奇生 段飞飞 史立安 李 静 (长安大学电子与控制工程学院 西安 710064) 摘要:车载多媒体导航终端在智能交通系统中具有重要的作用.通过车载多媒体导航终端,出行用 户可以了解到准确实时的路况信息等相关信息,并得到最佳的出行路径.车载终端硬件平台基于 OMAP5912嵌入式微处理器,以嵌入式I inux作为操作系统.从ARM端和DSP端介绍了终端软 件构架,给出了终端软件的实现流程.其次从主控线程、GPRS通信、数据采集、GPS导航、地图数 据库查询、视频及音频7个线程论述了具体实现技术.终端软件操作简单,实际运行效果良好. 关键词:多媒体导航终端;OMAP;GPS;GPRS ̄线程 中图法分类号:TP3l1 DoI:10.3963/i.issn.1006—2823.2010.03.036 0 引 言 具有高性能的嵌入式微处理器OMAP5912、Sony Ericsson公司的可编程无线通信模块GPRS 智能交通系统(intelligent transport system, ITS)已成为交通运输领域的热点¨1].车载多媒体 导航终端_2 是ITS的重要组成部分,它将GPS定 位系统获得的车辆位置、时间、状态等信息,实时 地通过无线通信链路传送至监控中心,同时对其 在地图数据库中进行匹配,实时地将用户的位置 和周边的地图按一定的比例显示出来.在对用户 进行定位的基础上根据用户选择的出发地和目的 地,在导航地图的道路网中为用户规划出一条最 佳路径,引导用户行驶.采用TI公司的 TMS320C55x DSP内核与低功耗、高性能的 ARM926EJ—S微处理器组成的双核应用处理器 GR47_7]、GPS模块选用美国Rockwell公司生产 的高性能Jupiter 021/031系列GPS OEM板、存 储模块、电话手柄及电源等基本模块组成.该导航 终端充分利用OMAP5912提供的外围接口,通过 EMIF扩展了32M SDRAM、32M FLASH,将中 文LCD连接到内部集成的LCD控制器.同时扩 展了触摸屏作为人机交互的接口,并设计了摄像 头接口以实现智能应用.该导航终端通过CAN 接口,与汽车CAN总线网络控制系统连接成为 一个整体,实现汽车内电子器件的控制(车门的开 关、油门的锁死等)和信息显示等功能.整个核心 电路模块框图如图1所示. OMAP5912_3 进行多媒体导航终端设计,终端软 件充分利用OMAP5912实时多媒体处理功能,实 现了对音频信号的处理,很好地实现车载自动导 航l5 ]、MP3下载播放、车载免提电话及图像动态 传输等车载应用. 1 导航终端硬件结构 车载多媒体导航终端主要由面向智能通信且 收稿日期:2010—01—21 图1 车载多媒体导航终端结构框图 武奇生(1963一):男,硕士,教授,主要研究领域为智能交通系统、计算机应用系统 陕西省交通厅交通科技项目(批准号:08 13K)、河南省交通厅科技计划项目(批准号:2009P245)资助 ・ 574 ・ 武汉理工大学学报(交通科学与工程版) 2010年第34卷 库,通过车载多媒体应用程序的运行,实现了对 2 导航终端软件设计 GPSc“]、GPRS、LCD、触摸屏、键盘、FLASH、 USB等设备的访问,并与DSP通信,实现前端音 2.1软件构架 频、图像数据的读取.DSP端软件主要完成音频 车载多媒体导航终端的软件开发 主要由 编解码等实时数值运算功能,采用TI公司提供 ARM端软件设计和DSP端软件设计两大部分组 的DSP/BIOS作为操作系统.ARM端和DSP端 成.ARM端通过加载嵌入式Linux操作系统 软件通过DSP/BIOS桥,结合mailbox寄存器和 Montavista,移植Qt/Embedded作为系统的GUI 共享内存实现通信.整个软件架构如图2所示.  I应用程序 I l 车载多媒体应用  l图形界面  Il Q mbedded 进程管理 设备管理 存储管理 j网络通信l j电源管理f l帧设缓备冲文 l俐f设摄备像文头l件f 1f设触备摸文屏件  f 接口没备文件 鬻 2.2软件实现流程 3 关键技术实现 车载多媒体导航终端开机后首先执行 FLASH中的ARM引导程序,完成对系统程序 终端软件程序主体采用多线程设计,主要由 的引导,然后将PC指针指向系统程序的人口,完 主控线程、GPRS通信线程、数据采集线程、GPS 成控制权转移之后,系统程序开始运行.系统程序 导航线程、地图数据库查询线程、视频及音频线程 首先完成对终端的初始化工作,包括设置CPU 来来实现.终端软件线程的实现主要通过Ot库 的寄存器(包括中断的屏蔽,开放的时机)、存储器 的多线程类QThread,从这个类派生出一个新 控制器的设置、Cache启用设置、看门狗的设置、 类,并实现QThread中的纯虚函数run(),就完成 RAM和R0M控制器的设置、初始化硬件设备 一个子线程的创建. 等.其中硬件设备初始化包括音响状态接收和控 3.1主控线程 制接口初始化、音视频切换接口初始化、键盘接口 主控线程通过人机交换实现液晶显示屏的信 初始化、USB主机接口初始化等.然后调用SYS- 息显示和键盘的应答信息输入,主要实现了界面 int()初始化系统软件、调用USB—init()初始化 功能、GPS导航功能中的地图匹配和导航引导模 USB主机系统软件.其次完成对显示模块的初始 块、浏览功能中的地图浏览模块以及这些模块间 化工作,为了加快菜单的显示速度,同时要将菜单 的消息发送、接收和处理,同时协调各个线程异步 字库从FLASH中搬移到SDRAM中.完成对显 运行. 示模块的初始化之后,显示开机画面,并在画面持 在主控线程中创建车载多媒体导航终端相应 续的这段时间内完成对DSP系统程序的引导,最 功能子线程,并调用它的start()函数,就启动相 后释放DSP复位状态,唤醒DSP工作(开始可能 应子线程的运行. 处于待机状态).最后创建邮箱OSMboxCreate 3.2 GPRS通信线程 ()、消息队列OSQCreate()、信号量OSSemlnt() GPRS通信线程在GPRS网络状态良好的情 和各个任务OSTaskCreate(),最后调用OSStart (),启动多任务调度程序(主控线程). 况下,优先通过GPRS通信方式将多媒体导航终 端所在位置、运行状态等信息传输到监控中心并 第3期 武奇生,等:车载多媒体导航终端软件设计与实现 ・ 575 ・ 接收来自监控中心的指令.与此同时,GPRS无线 通信线程不断轮回检查GPRS网络状态,当出现 网络拥塞、GPRS未覆盖或者中心工作人员误操 作导致TCP/IP连接断开时,会立刻切换到SMS 方式直至TCP/IP重新连接上.GPRS通信线程 用硬件实现TCP/IP协议堆栈,通过GPRS无线 Modem接口联网登录到服务器,建立通路数据传 输通道.GPRS通信线程实现如下. void GPRSThreadlnit(void) { pdpa();//初始化一个GPRS会话,通过AT+ CGDCONT指令实现 ipi(IPAddress);//GPRS分配给该导航终端的IP 地址 ipo(SockType,SockNum);//获取指向套接字 Socket号的指针SockNum tcpc();//建立终端连接到监控中心服务器的 TCP会话 } 3.3数据采集线程 数据采集线程从各接口采集GPS、图像和车 状态数据.数据采集线程为一个接收子线程类,封 装在一个串口类中.头文件定义如下. #include ̄qthread.h> #include%termios.h> //接收线程类定义 Class ReadThread:public QThread { public: ReadThread(int seria1){fd—serial;) ~ReadThread(); virtual void run();//接收线程 char buffer[255];//数据缓冲区 private: int fd;//端口指针 ) 3.4 GPS导航线程 GPS导航线程通过标准RS232串口与Jupi— ter GPS OEM板进行高速通信,将GPS接收到 的坐标转换成当地坐标使用的转换参数,完成接 收经纬度数据的功能.线程处理函数把接收到的 经纬度数据实时通过消息发送给地图匹配模块处 理.其中地图数据解码处理算法如下. void DrawMap(unsigned char*Mapvstr) { Mapvstr—ReceiveMapData();//得到地图数据 While(]) Kinds一*Mapvstr++;//数据类型 if(Kind是面) 根据面地图数据画面(如广场、绿地等),显示面 中文字内容; if(Kind是线) 根据线地图数据画线(如道路、河流等),显示线 上文字内容; if(Kind是点) 根据点地图数据画点(如饭店、机关等),画点图 标,显示点名称; } } 路径规划线程主要完成在道路网中求解最佳 路径的任务,在用户要求提供最佳路径时根据用 户的出发地和目的地求出一条最佳路径.在最佳 路径求解中采用Dijkstra算法. 3.5地图数据库查询线程 地图数据库查询线程主要完成对导航地图数 据库的查询功能,根据用户要求生成线程,完成相 关的地理信息查询. 3.6视频线程 视频线程使用Video for linux接口访问 USB摄像头设备,捕获实时视频流,放人到视频 处理缓冲区中并采用H.264/AVC压缩算法对视 频进行增加和压缩,通过标准RTP传输协议进 行实时传输.视频线程实现流程如图3所示. 图3视频线程实现流程 3.7 DSP端音频处理机制 DSP端软件在实时操作系统DSP/BIOS环 境下,通过基于类/微驱动模型的音视频输入/输 出驱动程序,实现音视频的采集和输出.音频软件 主要由数据处理、音频芯片的输入输出驱动以及 ARM—DSP通信等组成.通过标准的智能应用编 程接口(MM API)使用智能引擎,对相关的DSP 任务通过DSP应用编程接口(DSP API)使用 DSP/BIOS桥,最后由DSP/BIOS桥对数据、I/O 流和DSP任务控制进行协调.其音频处理流程如 图4所示. 4 结 束 语 设计的车载多媒体导航终端软件通过了多次 ・ 576 ・ 武汉理工大学学报(交通科学与工程版) 2010年第34卷 ARM端DSP端 航中的应用[J].武汉理工大学学报:信息与管理工程 版,2007,29(2):24—27. ( 程序开始) 0  墨竺 塑 F l———l‘——一 等待握手信号 0 。 f 确认引导成功 [3]彭春华,蒋新华.基于GPS的实时机车运行信息传输 系统[J].交通运输工程学报,2004,4(2):111—114. [4]凌 乐,朱善安.基于0MAP5912的汽车电子音频 系统硬件设计EJ].电子器件,2007,3O(2):721—724. I初始化AIc23 I , l加载DsP的∞t文晔 0 Load 0ut文件 执行 f 响应命令 数据传输 [5]胡 刚,金振伟,司小平,等.车载导航技术现状及其 发展趋势[J].系统工程,2006,24(1):41—47. 56]诸葛斌,周荷琴,刘光远,等.汽车动态导航终端的研 制[J].汽车工程,2006,28(7):639—642. I 启动程序 } 发送命令 数据传输 MSC,Q CHNL [7]王松宏,李德化.基于GPRS的车辆监控系统车载移 动终端的设计[J].计算机应用研究,2005,22(6): 184 186. 等待DsP的消息 l I PcM数据生成} I 执行完毕 [8]卢青,岳春生.基于中间件技术的嵌入式导航终端 软件设计[J].现代电子技术,2008,273(10):109— 幽4音频处理流程 111. 装车功能测试,程序运行正常,能很好地实现车载 自动导航、MP3下载播放、车载免提电话及图像 [9]Omar A B,Balqies S.New centralized automatic ve— hicle location communications software system under 动态传输等车载应用,对于从中心下发的各种信 息,都能正确地做出处理,性能较好,具有良好的 市场应用前景. GIS environment[J].International Journal of Com— munication Systems,2005,18(9):66-73. D o]Alexander Schader.Embedded processing demands of in—car multimedia.Technical feature[J].Auto Electronics,2007(11):25—27. 参考文献 [11]Gul F,Fang J C,Gaho A.GPS/SINS navigation data fusion u—sing quaternion model and unscented [1]魏红军.基于嵌入式PC的车载数据采集系统开发 -IJ1.武汉理工大学学报:交通科学与工程版,2006, 30(3):369—372. Kalman filter[c]//Proceedings of the IEEE Inter— national Conference on Mechatronics and Automa— tion,Piscataway,NJ,USA:IEEE,2006:1854一 E2]徐华中,魏海,石勇.嵌入式Linux系统在车载导 】859. Design and Implementation of a Vehicle Multimedia Navigation Terminal Software Wu Qisheng Duan Feifei Shi Lian Li Jing (School of Electronic and Control Engineering,Changan University,Xi'an 710064,China) Abstract:Vehicle multimedia navigation terminal plays an importance role in ITS.The drivers can get accurate and real・—time traffic information and other related information by vehicle multimedia naviga— tion terminal,and get the best travelling path.The hardware of vehicle terminal is based on OMAP5912 CPU,and the operation system is embedded Linux.The software frame is proposed from ARM and DSP,the flow of terminal software iS also given.The implementation techniques of soft— ware iS described from seven threads including main control,GPRS communication,data acquisition, GPS navigation,the query of map database,the mechanism of video and audio.In practice,the soft— ware can run well,operation iS simple and function iS powerfu1. Key words:multimedia navigation terminal;OMAP;GPS;GPRS;thread 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务