微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 一种嵌入式车载导航信息系统研究

一种嵌入式车载导航信息系统研究

时间:11-30 来源:互联网 点击:
2.2 矢量图形系统优化

嵌入式车载导航系统硬件平台一般采用低功耗设计,运算能力有限。但导航电子地图显示画面往往含有大量图形元素,图形显示一次需花费大量时间。如果采用每次全部绘制所有电子地图内容并直接输出到画面,则会导致画面刷新慢和重绘闪烁明显。因此需优化矢量图形的绘制方法。

2.2.1 提高图形的显示速度

一般绘图方法是绘制所有图形元素,而这样严重影响绘图速度。为了加快绘图速度,在显示一个图形元素前,先判断该图形元素是否在当前视图屏幕中,如果不在,则无需绘制,从而节省绘制时间州。而判断一个图形元素是否在当前视图屏幕.需计算判断图形元素与当前视图屏幕矩形是否相交,但此方法需大量计算,影响显示速度。采用的判断图形元素是否需要绘制的方法应允许不太严密,但要计算简单。在每次重绘图形元素前,首先判断元素是否显示,并只绘制所需部分。这样就大大加快绘图速度,并能满足导航电子地图系统显示要求。



2.2.2 解决画面闪烁问题

窗口图形绘制包括:上次绘制、本次擦除、本次重绘。其中本次擦除操作是必须的。如果重绘时未清除原来绘制图形,将导致新图形和原图形相叠加。而在新图形绘制出前,在极短时间内屏幕显示一个空的矩形区域,图形重绘完成后,窗口显示区才开始有内容显示。所以擦除屏幕会出现闪烁,这与图形复杂程度无关。采用双缓存机制解决重绘闪烁。双缓存就是在内存中新开辟一个缓冲区,原来的显示缓冲区作为前台缓冲区.新开辟的缓冲区作为后台缓冲区。如图3所示,绘图时先把输出内容写入后台缓冲区,绘图完成后再把屏幕的当前显示缓冲区切换到这个包含新内容的缓冲区。一旦把屏幕显示缓冲指向后台缓冲区,下一帧的输出内容就可写入原缓冲区,再通过屏幕显示。因为是非常规整的内存拷贝,所以前后台的缓冲区切换速度非常快,几乎看不到图形的擦除过程。因此使用双缓冲区取代单缓冲区可成功隐藏绘图过程.避免闪烁。

3 导航数据库管理系统设计

所谓数据库即格式化(结构化)的文件,用户完全可自行设计所需格式文件,并提供操作函数。这里使用.dbf文件格式。因为该格式被众多数据库管理系统接受,处理方便。这样实现的数据管理系统是一种平面文件数据库。这种数据库系统实现简单经济,开发周期短,但速度较慢。实践表明,车载导航系统采用这种方法完全可以满足要求。

本文使用16进制阅读工具hex32.exe分析dbf文件结构。经分析dbf文件具有以下特征:文件由文件结构说明区和文件数据区构成;文件的结束标志为lAH。文件数据区存放记录(类似表格的一行),每条记录是等长的;每条记录以20H开始,按字段顺序存放,没有字段分隔符,也没有记录终止符;若删除该记录,则记录的第1个字节标记为2AH。文件结构说明区包括数据库参数区和记录结构区。文件的前32个字节为数据库参数区。记录结构区包括各个字段参数,其中每个字段占32个字节。本系统基本表的组织形式与dhf文件组织形式相同。

数据库管理系统实现的主要函数与普通关系数据库接口类似,选择使用必要的函数可以实现车载导航所需的基本操作。实现通用数据库所支持的全部操作,系统具备较丰富的操作功能。用户还可开发实现特定功能的其他操作,作为系统扩展。

4 结束语

针对嵌入式车载导航信息系统体系结构进行研究,并重点讨论导航电子地图的实现。利用GIS组件实现导航电子地图和导航数据库的传统方发法,以EVC(嵌入式VC)为开发工具,设计了电子地图矢量图形系统,并自主设计能满足车载导航需要的基于文件系统的导航数据库管理系统。实践表明,本文建立的导航电子地图系统具有较强的灵活性和可扩展性,能方便移植于不同的软硬件平台,运行可靠,适合嵌入式系统应用,有一定的应用和推广价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top