基于ARM和WinCE的车载导航系统设计.docx
- 文档编号:16958743
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:23
- 大小:183KB
基于ARM和WinCE的车载导航系统设计.docx
《基于ARM和WinCE的车载导航系统设计.docx》由会员分享,可在线阅读,更多相关《基于ARM和WinCE的车载导航系统设计.docx(23页珍藏版)》请在冰点文库上搜索。
基于ARM和WinCE的车载导航系统设计
艋
基于ARM和WinCE的车载导航系统设计
■武汉科技大学■中国地质大学
邹卫峰陈和平
陈彬张剑波
…
一一
介绍一个基于ARM和WinCE的嵌入式车载导航系统,主要描述系统的硬件组成、软件架构及其实现的
关键技术。
系统以稳定的硬件设备和可裁减的操作系统为基础,结合GPS定位信息和电子地图数据,为
驾驶者提供实时定位、地图显示、智能寻径以及语音导航等功能。
通过在武汉市进行的行车试验表明,该
系统很好地实现了各项功能,达到了预期目的。
关键词车载导航系统嵌入式系统
ARM
WinCE全球定位系统
为42s/38s/8s,捕获时间小于0.1s,刷新时间为1S,定
引言
车载导航系统是为驾驶者提供定位和引导服务的汽
位准度范围最大为10m,数据输出格式为NMEA0183。
初期开发所用硬件实物如图1所示。
车电子设备,一般采用GPS定位,通过触摸屏或遥控器进行人机交互,帮助驾驶者准确、快速地到达目的地。
在全球范围内,城市建设加快,汽车持有量提高,道路拓展,交通系统日益复杂,交通拥堵现象日益严重,而汽车导航产业因此而不断发展。
随着中国汽车行业的快速崛起和嵌入式软硬件技术的发展,导航定位系统在我国进入了一个前所未有的发展阶段,市场上已相继出现了一批自主研发的相关产品。
本文介绍的车载导航系统是在借鉴了国内外相关导航产品优点的基础上,自主研发的集GPS全球定位技术、电子地图技术和嵌入式编程技术为一体的系统,以性能稳定、界面友好、成本较低为设计目标,成功投产后将会产生一定的经济效益和社会效益。
图1
车载导航系统硬件实物
2
2.1
系统需求分析
概
述
参考市场上已有的导航软件功能以及实际的用户需
求,确定导航系统应具备以下基本功能:
①地图的显示、放大、缩小、漫游、旋转。
地图的装载、显示、操作应该达到速度快、移动平滑、无闪烁的效果,支持地图中的各类注记,跟随浏览方式流动,使地图在移
1
系统硬件环境介绍
一般地,嵌入式导航系统主频为200MHz~400
动过程中不会缺失原有的注记;具有文字自动避让和流动注记功能,让图形显示更美观、整洁;支持复杂线型、矢量
MHz,内存为32MB~128MB,不带硬盘,但大多数系统会带有CF、SD等扩展存储卡接口。
系统的显示屏较小,掌上电脑一般为3.5in,分辨率为320X240像素,平板电脑、车载电脑一般为6~8in,分辨率为640×480到800X600像素…。
本系统选用了Intel公司基于ARMV4I结构的XScale255芯片,主频为400
MHz,SDRAM为64MB,
star
符号和栅格符号,丰富地图的表现能力。
②多种目的地查询方式。
目的地的查找方式应符合用户习惯,提供拼音、设施类别、周边设施、电话号码和存储地点等多种查询方式,并支持模糊查询。
③路径分析与导航。
路径分析算法应高效并具备最短路径查找、最优路径查找、最经济路径查找和高速优先
查找等查找方式,用户能够自由地设置目的地、经由点以及规避点。
通过实时准确接收GPS数据来进行模拟导航
和真实导航;导航过程中具备语音预先提示功能,提供交叉路口扩大图等信息。
Flash为32MB;采用以SiRFIII作为定位芯片的
GPS接收设备,可以同时追踪20个卫星信道,最低信号接收强度为一159dBm,冷开机/暖开机/热开机的时间分别
54‘丰‘;机舶入式杂记应用》l囫蟹l疆豳珊
万方数据
adv@mesnet.com.∞(广告专用)
④航迹信息保存。
系统自动记录行程轨迹,以便下一次沿路返回或查看,完成添加、删除、浏览等操作。
下采用VisualC++6.0实现,不在目标设备上运行。
⑤用户界面。
界面友好、美观,响应速度快、运行稳
健、操作便捷。
2.2系统用例模型
系统所采用的用例模型如图2所示。
厂、
幽匡圈一圆鼠<subsystem>>]国一圈
圈4车载导航系统模块关系图
其中用户通过人机界1一、
面调用导航系统,车
人
载系统利用GPS接收/田套
设备与卫星通信,从而实现导航目的。
围2系统用倒图
鼻人一
各
3系统设计与实现
4关键技术
3.1
系统逻辑结构
根据嵌入式导航系统具有的功能,系统逻辑结构框图
4.1
数据管理
本系统的数据供应商所提供的电子地图导航数据,在
如图3所示。
GPS数据接收
▲
物理上采用ArcGis的Shape文件格式进行存储,以DBF
界面配置管理
●
航迹信息管理
^
文件进行属性说明,在逻辑上是按照图幅一专题图层一类型文件形式组织,如图5所示。
l嵌入式导航系统I
'
●
t
t
图幅1图幅3
//
图幅2图幅4
l地图数据预处理I|地图数据显示||查询与量算lI路径导航分析
.地图数据管理H地图数据库
图3车载导航系统逻辑结构框图
●
专题图层1
3.2功能模块设计
根据需求以及系统逻辑结构框图对系统进行功能分
黧
解心],各模块及其关系如图4所示。
虚线箭头表示依赖关
系,箭尾模块依赖于箭头模块。
根据模块化设计的思想,整个系统采用动态链接库
图5地图数据组织逻辑结构
从横向平面上,地图数据按照图幅方式进行组织,根
据不同地理区域和应用需求,划分为不同的图幅。
例如北
京市地图、武汉市地图等。
从纵向上看,每幅地图又是由
(DLL)的架构开发。
每个模块对应一个EVC工程,每个
工程除完成自己的责任,同时给其他工程提供接口,通过
VisualSourceSafe进行项目管理,其中EMapGuide为主工
多个专题图层叠加组合而成的。
每个专题图层由点类型、
线类型、多边形类型和区域类型等代表4种不同类型的图形元素的shp格式文件组成。
不同的专题图层叠加形成一幅完整的地图¨J。
在本系统中,总体上地图采用三级比例尺结构,比例尺信息如表1所列。
为了提高效率和改善显示效果,程序启动时开辟3片缓存,预先将各级比例尺地图数据装载进内存;在移动地图过程中,并不全屏刷新,而是将内存中未
程,是最终运行的EXE文件,负责整合其他模块,这样才使系统尽量达到“高内聚”和“松耦合”的目的1.33。
地图引擎库模块EMapEngine负责底层数据的组织,包括地图库管理、路经分析、地图绘制/显示、模拟导航/导航等。
该模块中利用类聚合和继承封装了细节,但给外部程序提供使用接口。
数据解析模块EMapProcess将地图提供商所提供的
移动的部分和将要显示的部分拼接在一起显示,这样就极大地提高了地图的显示速度,保证地图连续无极缩放,跨
区域无缝漫游[5]。
原始地图数据,转换为地图引擎模块所能识别的数据格式,并保存为数据库文件。
它作为独立工程在PC机环境
paper@mesnet.con%cn(投稿专用)
豳蕊瞄嘲Mi。
舢。
t。
11啪&E。
bedded
S”啪55
万方数据
表1
编号
O12
地图比例尺信息地图比例
比例尺说明
角等信息,同时将车辆的新位置信息显示到地图上。
接收
线程函数伪码描述如下:
1/100万~1/1000万1/10万~1/50万l/1000~1/5万
全国地图
省级地图
GPS信号接收线程处理函数{得到串口句柄;
初始化接收缓冲区;
市县级地图
4.2嵌入式数据库设计与数据解析
封装了开放源码的嵌入式数据库SQLite3.0,结合地
if(接收线程未被主线程结束&&串口句柄有效){
设定等待的串口事件为接收数据事件fwhile(串口有数据事件到来){
阻塞接收线程;
图数据格式,设计了符合系统需求的数据库系统,并预先
在PC机上进行数据解析,建立索引结构,经过压缩后批量地导入嵌入式数据库。
重新设定要等待的事件信号,
获得串口数据长度;if(串口数据长度大于0){
锁定串口临界区;
读串1:
2数据到接收缓冲区;锁定全局变量临界区,
转换接收缓冲区数据为双字节数据,并存储到全局变量中等待解析;解除全局变量临界区锁定;解除串口临界区锁定I线程睡眠200ms;)}
4.3路径分析与语音导航
路径分析算法采用了一种基于Dijkstra算法的启发
式最优路径搜索算法(HeuristicOptimizationPathfinding
Algorithm,HOPA)[6]。
Dijkstra算法是典型的最短路径
算法,用于计算一个节点到其他所有节点的最短路径。
主要特点是,以起始点为中心向外层扩展,直到扩展到终点为止;Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,其效率较低。
启发式最优路径搜索算法(HOPA)的基本原理,是借助人工智能(AI)的决策机制,将每个节点到达终点的代价估计设计为代价函数引入到算法中来,由代价函数来决定寻径策略(即优先搜索哪些中间节点),将传统的均等式
宽度优先搜索机制改进成带有方向性的深度优先搜索机
)4.6
)else{关闭串口,设定串口句柄为空,)
制,以减少搜索的节点数,从而降低其时间复杂度,效率比Dijkstra算法提高近4倍胪]。
采用异步和同步方式播放事先录制好的真人语音,在导航过程中根据实际路况实时播报。
此处“异步”是指导航进行的同时播放语音,通过指定API函数PlaySound()的参数,实现播放后立即返回以达到异步效果;“同步”是指导航暂停,播放语音后才继续。
图形用户界面设计和系统逻辑组织
根据嵌入式导航系统GUI设计的特点,即在满足用
户界面美观、易用的同时又要具有较低的内存消耗和较高
的效率,为此以MFC为基础利用GDI开发了一套控件类,并经过严格测试杜绝了内存泄漏。
它们都包含在系统
辅助库模块EMApAux中,分别是:
CTButton(图片按
钮)、CCheckBox(单选按钮)、CTSIider(滑动条)、CTLabel
4.4数据压缩和解压
鉴于系统存储空问有限,应采用压缩方式保存航迹信息等数据。
.系统采用改进的LZW压缩/解压算法,即利
(静态文本)、CTEdit(编辑框)和CTscale(比例尺)。
其中
关键是实现了WinCE4.0API不支持的alphaBlend图像
混合函数,然后重载了CButton等类,实现了按钮自绘函
数DrawItem(),使控件具有了透明、有图片、有声音、圆
用二叉查找树结构的字典替代线性表结构的字典以提高处理速率。
其性能指标是:
压缩/解压速率在2Mbps左
右;压缩比在1,20左右"J。
4.5
角、阴影等特殊效果。
基本原理描述如下:
在Drawltem()函数中,首先绘制控件的基本形状,并从父窗口拷贝背景,
然后绘制按钮各种状态下的背景、圆角边框、阴影以及图片,最后利用alphaBlend函数实现对控件透明度的控制
GPS信号接收、数据提取和地图实时响应
由于WinCE不支持重叠I/O,为了避免程序陷入缓
慢的串口等待中去,加之GPS数据传输的实时性和连续
性的特点,因此必须采用多线程技术来实现GPS信号接收,即主程序运行后启动接收线程,从串I=1不间断地读取卫星发来的NMEA格式的定位信息,保存到一个全局变量。
主线程每隔一定时间提取经纬度、时间、速度和方位
(这样就能够透过控件看到地图上的元素)。
初始化装载地图后将地图背景传递给控件。
地图刷新后必须重新获取
地图背景,刷新控件。
依据系统需求,界面分解为地图显示、系统设置、目的地设置3种类型。
由于系统各个模块都是基于DLL建立
5
6‘丰‘;札抛入式禾惋应冈》I四盔蟹盈隘锄
万方数据
adv@MesneL。
。
吐cn(广告专用)
工程的。
而不同的DLL工程相当于不同的进程,因此它们之间没有全局变量,并且大多数窗口是非模态窗口,这样处于不同工程中的窗口调用必须依靠EXE工程中纪录的窗口句柄。
为了便于互相通信,设计了一个模板栈类CDialogStack来管理所有窗口,重写了窗口类,使之多继承于CDialog和CDialogStack。
创建窗口时窗口信息入栈,关闭时出栈,这样可以随时得到当前栈顶和栈底窗口信息并同时关闭多个窗口。
具体的数据传递和相互调用分别采用发送消息和导出函数的方式实现,取得了很好的效果。
模板栈基本结构如下:
struct
图6模拟导航效果图
DialogStrcT{
’pDialog;
CDialogboolshort
//窗口对象指针
//是否模态窗口(非模态:
false)//窗口类别:
1为地图显示,2为
//系统设置,3为目的地设置
式车载导航系统。
经过大量测试后,各项功能运行正常,不久后将正式投产使用。
下一步将根据用户的反馈情况和市场上软硬件的发展情况,继续完善、调整、优化系统结
IsModelDlg;
DKindI
构。
■
参考文献
};
static
Stack<DialogStrcT>m—Dialoglnfo;
[1](印度)KamalR.嵌入式系统:
体系结构、编程设计[M].陈
曙晖,等译.北京:
清华大学出版社,2005.
5
实现结果
笔者根据硬件厂商提供的BSP,使用PlatformBuilder
[2]管素清.刘捷,冷青.嵌入式车载导航系统的设计[J].计算机
工程与设计,2005,26(5):
1320—1322.[3]Shalloway
Alan,TrottJames
将编译好的满足系统功能需求的WinCE.NET操作系统(包括各种驱动程序)下载到目标设备上,为开发提供基本的调试和运行环境。
在PC机上采用EVC4作为集成开发环境,开发基于MFC的Win32应用程序,采用Unicode字符集,通过MicrosoftActiveSync4.5实现PC机与目标设备的同步和通信哺]。
系统运行后的模拟导航效果如图6所示。
R.设计模式解析EM].徐言声,
译.第2版.北京:
人民邮电出版社,2006.
[4]胡泽明,岳春生,王志刚.嵌入式导航终端实时空间数据模型
的研究与实现[J].计算机工程,2006,32(24):
254—256.[5]陈波,王仁礼。
杨阳.基于PDA移动导航定位系统的设计与
实现[J].计算机应用与软件,2006,36(10):
31—39.
[6]王景存,张晓彤,陈彬。
等.一种基于Dijkstra算法的启发式
最优路径搜索算法[J].北京科技大学学报,2007,29(3):
346.一350.
结语
目前,我国车载导航产业在甚至导航电子地图和应用
[Tj
BolingDouglas.Programming
MicrosoftWindowsCE.NET
[M].3th
软件方面的技术水平虽然已经接近甚至达到了国际发达
ed
Washington:
MicrosoftPress,2003.
[8]周立功,等.ARM&WinCE实验与实践:
基于¥3C2410[M].
北京:
北京航空航天大学出版社,2007.
邹卫峰,陈彬(_项士研究生),主要研究方向为基于网络的计算机应用;陈和平(教授),主要研究方向为基于网络的计算机应用、数据库
国家的水平,但在整体上仍处于起步阶段。
硬件方面还不
能与国外同步,产品的技术含量有待提高,系统研发仍大有可为。
本文在综合应用一些高效算法和合理方法的基础上,采用严格的面向对象模块化的设计思想,实现了一种嵌入
与教据挖掘I张剑波(讲师、博士),主要研究方向为地理信息系统橱格数据厦元敦据管理、虚拟现实技术。
(收稿日期。
2008-03—25)
ARMReaiView系列工具增加对飞思卡尔i.MX31平台的设备支持
ARM公司宣布,在其RealView系列开发工具中增加对飞思卡尔i.MX31多媒体应用处理器的设备支持。
该设备支持能帮助嵌入式开发人员在飞思卡尔i.MX31处理器上迅速展开设计开发。
在无需额外的硬件情况下,它能够帮助开发人员通过ARMRealView开发套件(ARM
RealViewDevelopmentSuite)
RealView
ICE调试探头直接与他们的开发板相连接。
这不仅缩短了多
媒体产品(如便携式媒体播放器、汽车通信设备以及手持3D游戏机)的上市时间,同时保证它们拥有高品质的性能表现。
paper@mesnet.com.cn(投稿专用)
Micr伽ntroIIers&Embedded
Systems
5
7
万方数据
基于ARM和WinCE的车载导航系统设计
作者:
作者单位:
刊名:
英文刊名:
年,卷(期):
被引用次数:
邹卫峰,陈和平,陈彬,张剑波邹卫峰,陈和平,陈彬(武汉科技大学),张剑波(中国地质大学)单片机与嵌入式系统应用MICROCONTROLLERS&EMBEDDEDSYSTEMS2008,(8)1次
参考文献(8条)
1.KamalR.陈曙晖嵌入式系统:
体系结构、编程设计2005
2.管素清.刘捷.冷青嵌入式车载导航系统的设计[期刊论文]-计算机工程与设计2005(05)
3.ShallowayAlan.TrottJamesR.徐言声设计模式解析2006
4.胡泽明.岳春生.王志刚嵌入式导航终端实时空间数据模型的研究与实现[期刊论文]-计算机工程2006(24)
5.陈波.王仁礼.杨阳基于PDA移动导航定位系统的设计与实现[期刊论文]-计算机应用与软件2006(10)
6.王景存.张晓彤.陈彬一种基于Dijkstra算法的启发式最优路径搜索算法[期刊论文]-北京科技大学学报2007(03)
7.BolingDouglasProgrammingMicrosoftWindowsCE.NET2003
8.周立功ARM&WinCE实验与实践:
基于S3C24102007
相似文献(10条)
1.学位论文赵艳霞基于嵌入式的车载导航系统及其软件开发2007
车载导航系统是汽车上的嵌入式系统,它可大大方便驾驶,为人们的出行提供各种便捷服务。
在世界上,现代车辆导航方面的研究已经具有30多年的历史。
它融合了汽车、交通、计算机、通信、系统科学等领域的技术,一直是众多高科技公司、各研究机构和大学研究的热点。
课题名称为“基于嵌入式的车载导航系统研究及其软件开发”本课题由天津市科技发展计划项目和河北省中小企业创新基金支持。
本文主要研究了以下内容:
1、对嵌入式系统、车载导航系统的国内外发展现状进行了研究;概述了嵌入式系统的概念、结构及其特点,并根据嵌入式系统的结构特点及设计原则,给出了一般式嵌入式系统设计的关键技术及方法,为下文嵌入式车载导航系统的设计做铺垫。
2、根据嵌入式车载导航系统的功能要求,提出了本系统的总体设计方案,并给出了具体的软硬件部分的组成。
在本文中使用的目标平台S3C2410是SAMSUNG公司使用ARM920T处理器内核开发的一款嵌入式处理器,无线通讯模块选用西门子公司的GSM/GPRS双频模块MC35i无线模块,采用西门子公司的GERMINGPST15接收机实现GPS信息的接收;软件方面,以WindowsCE作为操作系统,以微软提供的嵌入式软件开发工具PlatformBuilder和EmbeddedVisualC++作为软件平台进行操作系统定制及应用程序开发。
3、介绍了嵌入式导航系统软件的开发平台—-嵌入式操作系统,同时详细介绍了本课题选用的WindowsCE.NET操作系统,并具体描述了本课题操作系统内核的定制过程。
为应用程序的开发打下基础。
4、详细介绍了导航系统的应用程序开发,给出定位功能、无线通信等功能具体实现的部分程序段及实验结果。
实验结果表明,本系统具有实时性好、稳定性高、体积小、成本低等优点,非常适合应用在汽车中。
2.学位论文徐晖基于ARM平台的车载导航系统的研究与设计2008
汽车导航及定位是在全球卫星定位系统(GPS,GlobalPositioningSystem)的基础上发展起来的一门新型技术。
它是由GPS定位系统、电子地图、嵌入式系统组成。
汽车导航系统接收GPS所传送的卫星信号,得到车辆的即时位置,通过GPS信号处理系统传送给CPU,再配合嵌入式系统上的电子地图,将车辆经过的轨迹显示在显示屏上。
本文设计了一种汽车导航定位系统,以ARM微处理器为核心,移植嵌入式操作系统,在此基础上绘制电子地图,显示车辆运行轨迹。
主要研究内容如下:
完成了车载导航系统总体方案的分析与设计。
分析了多种嵌入式微处理的性能和应用。
确定了以S3C44BOX为核心构建导航系统硬件平台的解决方案,并设计了导航系统的总体框架。
完成了车载导航系统硬件平台的设计,包括存储器系统、通信总线、GPS模块等接口电路的设计。
根据高速数字电路的设计要求,在双面板上实现了基于ARM的汽车导航定位系统的PCB布线。
编写了系统初始化代码,完成了对硬件平台的调试工作。
根据系统的实际情况,选择了实时多任务操作系统μC/OS-II和嵌入式图形用户界面μC/GUI作为本系统的软件平台,完成了两者在系统硬件平台上的移植。
针对μC/GUI环境下简体中文汉字的显示问题,给出了一种比较完善的解决方案。
介绍了GPS的卫星定位原理,以及GPS接收的数据格式。
在嵌入式图形用户界面μC/GUI的基础上实现车载导航系统LCD上电子地图的绘制,提出了基于μC/GUI及MaplnfoMIF地图数据格式的电子地图的设计与实现方法。
实现了矢量电子地图的显示、缩放、漫游、图层管理以及简单的数据查询导航功能,提出了用边界检测算法提高电子地图漫游时的显示速度。
在此开发平台上还实现了GPS定位数据的采集、处理,初步完成了定位模块的部分功能。
3.期刊论文马海波.陈阳舟.崔平远.MaHaibo.ChenYangzhou.CuiPingyuan嵌入式车载导航系统信息平台的开发-计算机测量与控制2007,15
(2)
以WinCE(MicrosoftWindowsCE)为底层操作系统,EVC(EmbeddedVisualC++)为开发环境,结合superMap相关工具,可以实现嵌人式车载导航系统信息平台的开发;结合自身开发实例,文中主要介绍了基于这一思路的车载组合导航系统信息平台的开发流程和相应的关键技术,涉及到WinCE调试开发环境的建立、电子地图的制作和集成GIs(地理信息系统)应用程序的开发等三个方面;该信息平台软件数据结构清晰、代码效率高,易于开发、管理和升级;同时也为类似嵌入式系统软件开发提供了一个很好的解决方案,基于此可实现针对不同智能终端对象和满足不同应用需求的各种嵌入式GIS信息平台的开发.
4.学位论文陆本胜基于WinCE.NET的GPS车载导航系统BSP的设计与实现2006
近年来,随着汽车的普及和道路的建设,城际间的经济往来更加频繁,活动的区域也越来越大,由此产生了交通阻塞、找不到目的地、工作效率降低等严重问题。
GPS车载导航系统能有效的改善以上各种交通问题,为人们出行提供便捷服务,将成为车上的基本装备。
与国外相比,目前国内GPS车载导航发展比较落后,根据自身的研发条件,借鉴现有产品优点,基于ARM及WinCE.net平台下,研制在符合中国国情的GPS车载导航系统中起关键和基础作用的BSP包,具有一定的研究意义和实用价值。
GPS车载导航系统涉及的技术范围很广,本文采用先进的嵌入式系统技术,以微软的WinCE.net和SHARP的LH7A404作为平台,设计和实现系统平台的板级支持包(BSP),是实现系统内核移值和整个系统的应用软件的基础和关键。
首先对系统进行整体设计,确定整个系统的软硬件组成。
然后分析软件部分中的BSP包结构和开发步骤。
接着详细开发系统引导程序BootLoader和其他的OAL部分。
最后介绍设备驱动程序的实现模型,详
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM WinCE 车载 导航系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)