智能车载仪表论文

2024-06-08

智能车载仪表论文(通用4篇)

智能车载仪表论文 篇1

随着汽车工业与电子工业的不断发展, 在现代汽车上, 电子技术的应用越来越广泛。国外专家预测未来3~5年内汽车上装用的电子装置成本将占汽车整车成本的25%以上, 汽车将由单纯的机械产品向高级的机电一体化产品方向发展。国内许多有识之士已经认识到汽车电子在未来汽车工业中的重要性, 也在进行相关关键技术的研究, 己经取得了相当大的进步[1]。国外研究汽车仪表的行业中, 汽车仪表的研究受到了相当高的重视, 在外观形状, 性能和技术, 还有视觉效果中都有了很大的改进。车载仪表已经开始脱离了原来传统的组合仪表盘的形式, 逐步开始向汽车信息系统的方向发展。国内外现在在嵌入式车载仪表方面已经开发出了许多成熟的仪表, 如:平视显示仪表、多功能全电子显示仪表、行车记录仪、汽车导航系统等。

并且随着嵌入式技术的发展和普及, 汽车仪表的集成化和信息化会越来越高, 未来的嵌入式仪表会逐步有以下的特点:车载仪表会与汽车部件构成网络单元, 收集整个汽车信号, 能提供大量的复杂信息;嵌入式车载仪表体积会满足小型和轻量化的要求, 使车载仪表更具有个性化;随着嵌入式系统的高精度和高可靠度, 嵌入式车载仪表会减少故障的发生率;设有在线故障诊断系统, 一旦汽车发生故障, 可以推理出故障来源, 方便维修;仪表盘的设计会越来越美观。所以, 基于以上的特点, 未来的汽车仪表会越来越多的用到嵌入式技术。功能强大和造型新颖的嵌入式车载仪表会是今后车载仪表的发展方向和潮流趋势。

1 智能车载仪表系统结构

同大多数车载仪表一样, 本智能车载仪表拥有大多数传统车载仪表所拥有的功能, 驾驶员可以通过车载仪表的显示界面获取当前汽车的状态信息, 例如, 可以知道当前汽车的车速, 油压, 油温, 水温, 机油压力或者电瓶电量。

但是与传统仪表不同的是, 以往传统车辆仪表直接与车辆的传感器相连, 仪表系统经由传感器的模拟量得到汽车当前状态, 精确性不高。智能车载仪表并不是简单的与传感器相连, 而是通过CAN控制器将整车连接成一个网络结构。车辆部件配以CAN控制器, 通过双绞线将车辆部件连接起来形成一个网络体系, 实现部件的电子化, 汽车将由单纯的机械产品向高级的机电一体化产品方向发展。同时车载仪表和汽车部件的电子化也提高的汽车的精度和可靠性, 减少了故障发生率。

车载智能仪表主要分为基于ARM9 S3C2440处理器的硬件系统和基于WindowsCE环境下的软件系统两大部分。硬件系统为整个控制系统提供一个基础, 负责CAN总线通讯。软件系统中要提供CAN总线的硬件驱动以及在WinCE中仪表的上位应用程序。

2 硬件设计

硬件系统中, 以S3C2440为核心, 加以RAM内存, NOR Flash和NAND Flash作为储存介质, 扩展部分外围设备, 以负责系统信息的输入与输出, 如CAN总线通讯单元、LCD显示、触摸屏、通用串行口、USB设备、以太网接口等。系统硬件结构如图1所示:

(1) CAN总线接口电路

在众多接口中, CAN总线通讯单元是在整车通讯过程中的关键部分。在汽车中的各个重要部件中, 进行配置相应的CAN控制单元, 由双绞线将各个CAN总线控制单元连接起来。汽车的各个部件将该部件的当前状态信息由CAN控制单元发送出去, 经由双绞线发送到智能车载仪表的CAN单元当中, 经过系统的CAN接口将数据发送到系统中, 车载仪表系统得到数据后, 经过数据处理, 得到汽车部件的当前状态信息。

本系统的CAN总线通信接口电路采用Microchip公司的MCP2515 CAN总线控制器。MCP2515是一款独立的控制器局域网络 (CAN) 协议控制器, 完全支持CAN 2.0A/B技术规范, 速度达到1M[2]。SPI的接口标准使得它与S3C2440的连接更加简单。该器件能发送和接收标准和扩展数据帧以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文, 因此减少了微处理器的开销。CAN总线收发器采用TJA1050, 该器件提供了CAN控制器与物理总线之间的接口以及对CAN总线的差动发送和接收功能。CAN总线接口硬件电路图如图2所示:

为了增强CAN总线节点的抗干扰能力, 提高系统的稳定性, 在CAN控制器与CAN收发器之间加入了光耦隔离器6N137, 而不是使TXCAN和RXCAN端直接与收发器相连, 这样就实现了总线上各CAN节点之间的电气隔离。同时也解决了MCP2515与TJA1050之间电平兼容的问题, 还可以抑制CAN网络中的尖峰脉冲及噪声干扰。光耦部分电路所采用的两个电源必须完全隔离, 否则光耦也就失去了意义。电源的隔离可以采用小功率的电源隔离模块或者多带5V隔离输出的开关电源模块实现。这些部分虽然增加了接口电路的复杂性, 但是却提高了节点的稳定性和安全性[3]。

在CAN接口处, CAN通信线上的两个60欧姆电阻, 即总计120欧姆电阻, 起增大负载、减少回波反射作用, 是一种阻抗匹配的补救措施。将电阻分为两个60欧姆的电阻, 在中间部分与地端连接一个电容以抗干扰。

3 软件设计

软件的整体环境为WindowsCE编程环境。针对本车载智能仪表硬件系统制定相应的WindowsCE操作系统, 实现对硬件的驱动。再编写应用程序, 通过对应用程序的具体操作, 实现对系统中硬件的操作, 即实现系统的功能。这其中非常关键的是编写CAN控制器的驱动。CAN驱动以实现应用软件对CAN控制单元的操作与读取CAN控制单元中的数据代码。

(1) 系统开发和移植

嵌入式系统开发, 就是系统驱动层的设计, 其中最主要就是BSP的开发和调试。所以智能车载仪表的低层驱动的开发就显得尤为重要。

在系统开发中, 由于使用的是WinCE系统, 所以使用Platform Builder制定WinCE操作系统镜像。在Platform Builder中, 可以添加系统的部分硬件的驱动, 这些驱动已经由微软编写好, 如液晶屏, RAM的驱动。然后, 启动Bootloade, 把镜像文件下载到F l a s h存储器中, 并配置操作系统启动文件boot.ini[4]。

(2) CAN总线驱动开发

由于CAN是外部设备, 所以我们需要将CAN的驱动以流接口驱动方式编写。流接口驱动函数被设计来与通常的文件系统API (如Activate Device、ReadFile、Write File和IOControl等) 紧密匹配, 即由流接口驱动管理的设备向应用程序表现为一个系统文件, 应用程序通过对系统文件的特殊文件进行操作从而完成对设备的操作。编写流接口文件主要用到流接口函数, 也就是流接口驱动的入口点, 如XXX_Init, XXX_Read和XXX_Open等。这些流接口文件在与相应的API函数对应, 使应用程序有相应的函数可以访问到外部设备[5,6]。

由于CAN总线驱动使用流接口方式进行编写, 所以要编写一组CAN总线驱动的标准函数, 用这些接口函数以完成I/O操作, 标准函数将提供给WinCE操作系统的内核使用。这一类驱动具有定制的接口, 是一般类型的设备的驱动程序, 其驱动文件一般表现为“*.dll”文件。这里车载仪表系统编写“CAN.dll”, 作为CAN总线动态加载的驱动文件[7]。

系统进行注册表注册时, 要用到以下代码:

CAN驱动程序注册表信息:

通过以上代码完成注册之后, 调用Activate Device Ex () 函数进行加载驱动。

(3) CAN总线驱动通讯流程

CAN总线控制器驱动程序主要实现设置MCP2515的波特率, 设置MCP2515的验收过滤器, 设置CAN消息传送模式, 设置CAN收发数据方式。驱动程序是连接上位应用程序和硬件的一个中间纽带。智能车载仪表系统在EVC++环境下进行CAN总线开发。

在设计应用程序时, 应用程序通过程序中的Create File () 调用驱动中的CAN_Open, 以打开驱动。如果驱动成功打开, 则在函数中将返回不为IN-VALID-HANDLE-VALUE的句柄, 此句柄也是关闭驱动函数Close Handle () 的参数。在得到句柄后, 要对外围的CAN控制器进行I/O控制。应用程序通过使用Device IOControl () 对驱动程序进行一些特殊请求, 驱动将调用CAN_IOControl () 函数, 通过此来设置输入输出缓冲区以及缓冲区大小, 以及设计控制器发送方式和具体的控制操作。CAN总线利用驱动文件句柄, 使用发送与接收函数WriteFile () 和ReadFile () , 对缓冲区中数据进行发送和接收。操作成功后, 返回实际发送和接收的字节数。

CAN总线是一种通讯状态, 为了让程序一边处于通讯状态中, 一边处于主程序运行, 程序采用多线程设计, 创建一个接收数据线程。接收数据线程采用无限循环它不断查询CAN总线数据退出标志, 如果退出标志有效, 则该循环结束退出。驱动程序流程图如图3所示:

4 结论

目前嵌入式已经非常的流行, 而且部分嵌入式设备价格也比较低廉, 基于嵌入式技术的车载仪表逐渐开始流行, 已经拥有了一批使用者。本文使用了基于Windows CE的ARM9作为开发平台, 处理速度快, 功能强大;使用CAN总线技术进行信号的相互传输, CAN总线实时接受汽车部件发送来的信息, 并进行处理与分析;通过使用了Windows CE系统, 界面友好;本智能车载仪表系统可以节约成本, 降低功耗, 并且维护方便, 可维护性强, 可扩展性强, 利于升级。

参考文献

[1]陆钢.现代汽车电子技术应用与发展趋势[J].汽车时代, 2005, 12 (12) :15-17.

[2]杨华.基于ARM9和WinCE的车载显示系统的研究与实现[D].武汉:武汉理工大学, 2009.

[3]饶运涛, 邹继军, 王进宏, 等.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社, 2007.

[4]李蒙, 舒云星.WindowsCE驱动程序开发[J].计算机工程与设计, 2004, 25 (6) :56-57.

[5]黄志伟, 邓月明, 王彦.ARM9嵌入式系统设计基础教程[M].北京:北京航空航天大学出版社, 2008.

[6]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社, 2005.

[7]刘大伟.WindowsCE设备驱动程序设计简析[J].计算机工程, 2000, 26 (3) :23-25.

智能车载仪表论文 篇2

摘要:讨论了智能交通系统中车载终端的作用和意义;阐述了车载GPS智能终端的主要功能;介绍了GSM模块及其性能和使用方法。着重讨论了车载GPS智能终端的软硬件设计与实现方法。

关键词:智能交通系统(ITS) 车载终端 GSM GPS 短消息

智能交通系统(Intelligent Transport System,即ITS)采用信息技术、计算机技术、控制技术等于手段对传统交通运行系统进行改造,以达到增强系统运行效率、提高系统可靠性和安全性、减少能源消耗和对自然界的污染等目的。ITS总体来说包括四部分:交通信息采集部分、车辆调度控制部分、电子收费系统和交通信息服务。其中的每个部分都需要车载终端的参与:在交通信息采集部分,需要车载终端提供车辆的准确定位信息和车辆运行情况信息;在车辆调度控制部分,车载终端作为控制的接收端,负责接收ITS中心的调度指挥信息;电子收费系统需要车载终端与收费站自动完成付费交易;车载终端还是交通信息服务的接收平台,把服务显示给车辆驾驶员和乘客。因此,车载终端是ITS系统中非常重要的组合部分。本文所介绍的“车载GPS智能终端”就是ITS车载终端的一个具体实现。下面详细介绍车载终端系统的功能与设计实现方法。

智能车载仪表论文 篇3

关键词:虚拟仪表,Android,人机界面,架构,APK

车载虚拟仪表人机界面,是驾驶员获取汽车工况数据的主要界面,便于驾驶员实时全面地掌握汽车工作状态,有效地与汽车进行人机交互,对保障汽车安全稳定的行驶有着重要意义[1],目前普遍使用的是Windows CE 和 Linux 操作系统。Windows CE 操作系统功能稳定,有完善的技术支持,但价格昂贵、源代码封闭、网络可利用资源较少;Linux 操作系统的最大优势在于免费和开源,是车载信息显示系统的主流操作系统,但其并不是基于移动设备开发的,不能完全满足移动设备的需求[2]。

Android是Google 开发的一款基于开源操作系统Linux的开放、开源移动平台,对于目前主流的嵌入式平台支持良好,Android系统的优越性能己在多款移动设备上得到验证。它包括操作系统 用户界面和应用程序 而且不存在任何以往阻碍移动产业创新的专有权障碍[3]。文中提出利用 Android 作为车载虚拟仪表软件开发平台,在 Android 提供的应用程序框架上来实现虚拟仪表的人机界面。

1 系统硬件体系

虽然 Android 是作为一款手机软件平台进行开发的应用程序框架和应用程序 但其本质是一个嵌入式软件开发平台[4]。若将 Android用于车载虚拟仪表系统的开发,需要对仪表系统应用的特点进行调整,系统采用的硬件平台是REAL210,CPU 处理速度600 MHz ~1 GHz,基于Cortex-A8架构。系统中主要的硬件模块有音频模块、CAN 模块、液晶显示模块、串口和以太网通信模块,如图 1所示。

2 Android软件系统的定制

由于 Android 最初是基于手机软件开发平台进行设计的,而且其中大部分模块都是为手机通信所设计,为节约开发板资源,需要将Android系统中不必要的组件剪裁掉,保留必要的最小系统。因此必须对框架进行修改,将与电话、短信等相关的模块移除。仅留下必需的 Android的核心模块,包括 Package Manager、System Service、Input Service、Hardware Service和System Server等。通过修改 System Server 的加载过程可以去掉不需要的服务和模块,另外还要实现底层硬件的驱动程序,重新交叉编译 Linux 2.6 内核,并在驱动程序实现的基础上封装函数库[5],以便Android 的应用程序通过 JNI 的方式访问底层驱动。经过定制和修改过的Android系统架构如图2所示。

车载虚拟仪表人机界面的应用程序需要进行重新开发,主要是界面模块、CAN模块、数据访问模块和告警模块。其中CAN模块设计成Service的方式。数据访问模块设计为Content Provider。告警模块采用的通知方式为Broadcast Receiver和Notifica。系统通电后,在Android的System Server中首先启动CAN模块,然后启动主界面的程序。

3 应用程序的设计与实现

应用程序的系统架构。通过 PackageManager 提供的各个 APK 的信息以菜单方式对各个功能模块进行调用[6]。

3.1 CAN 模块

CAN 模块用于数据的采集和处理,CAN 模块接到数据后,要对数据进行解析,判断出接收到的数据类型。最终得到所需要的值。计算方法为根据参数所在数据域的字节位置提取其对应的原始数,再根据该参数对应的分辨率和偏移量得到参数值,其参数值的计算方法为:参数值=参数原始数×分辨率+偏移量。通过编程计算出数据代表的实际发动机状态值,即可准确地在车辆实时功能模块中显示当前的车辆状态。

3.2 数据访问模块

程序的数据访问模块,采用Android系统内置的SQLite数据库,对一些重要车况信息自动记忆存储,便于分析和维修,起到汽车“ 黑匣子”的作用。存储的车况信息可以通过点击回放按钮直接在仪表界面上回放,真实再现汽车行进过程中的状况。

首先调用.openOrCreateDatabase()创建vehicle_database.db数据库,然后配置SQLite数据库属性通过。创建一个数据表分别定义:行驶日期、出厂信息、车速、转速信号、启动、停止时刻、行使里程、报警信息等。将黑匣子接收到的数据对应数据表定义的格式通过.insert()向数据表中插入数据,通过.delete()指定日期来删除过期的数据。显示历史数据需要先通过DatePicker获取用户输入的年、月、日,并将具体日期数值提取出来,将条件放入SQL查询语句.query()中来查询,定义一个Cursor返回结果,然后创建一个数据适配器将Cursor的结果直接映射到ListView中的对应的TextView上。

3.3 功能模块

功能模块用于测控车辆的速度、发动机转速、水温和燃油、告警事件的显示。系统设计的功能模块界面显示如图3所示。

3.4 告警模块

告警模块本身是一个 Broadcast Receiver,它负责接收其他模块的告警事件,超速、油量、水温、油压等,并将这些信息写入数据库,同时调用告警显示界面显示对应的信息或以 Notification 的方式在状态栏进行提示。在 Android 系统中,所有的应用程序之间都通过Binder 进行通信,这种 IPC 机制是基于 Linux 底层驱动实现的,与传统的进程间通信机制相比,它的执行具有更高的效率和更好的扩展性[7]。

4 结束语

利用 Android 作为人机界面所开发的框架 通过对各个功能模块的细化,可以使系统设计更合理,模块结构更独立,容易进行软件维护和代码二次开发,基于 Android 应用程序框架设计的各个模块,可以进行自由修改和替换,提高了系统的可定制性,虽然Android 是手机软件开发平台,但凭借其优秀的系统架构设计和理念,会有越来越多的车载虚拟仪表采用 Android 作为开发平台。

参考文献

[1]普措才仁,冯旭.基于Linux的ARM9嵌入式车载信息系统的设计与实现[J].自动化与仪器仪表,2010(4):39-42.

[2]岳传真.Android系统移植和应用程序开发[D].上海:复旦大学,2010.

[3]陈璟,陈平华,李文亮.Android内核分析[J].现代计算,2009(11):112-115.

[4]Code Home Conpration.Android-an open handset allianceproject[EB/OL].(2008-01-01)[2012-03-06]ht-tp://code.google.com.android what is android.html.

[5]姚昱旻,刘卫国.Android与J2ME平台间即时通信的研究与实现[J].计算机系统应用2008,17(12):118-120.

[6]刘向辉.基于Java的移动终端中间件的研究与设计[D].上海:华东师范大学,2005.

智能车载仪表论文 篇4

传统车载仪表通常以机械式为主,由于线路集成度太低、电磁干扰较大、显示精度不高及显示内容有限等因素,严重制约了仪表辅助驾驶系统的发展。半机械式仪表在传统仪表盘之间嵌入一块小型LCD,即车载电脑,虽增加了仪表平台显示的信息量,但整体没有摆脱机械模式的缺陷,而且对仪表平台整体布局也有一定影响[2]。随着近年来图形硬件技术的飞速发展和嵌入式实时系统的广泛应用,车辆研究者提出了各种虚拟仪表组合平台以解决上述问题。2011年,随着Android系统风靡全球手机市场,蔡黎等提出了基于OBD协议的Android虚拟仪表组合平台[3],炫丽的图形界面效果给消费者带来了巨大的视觉冲击感,但由于系统本身要接收第三方厂商提供的代码,一旦出现问题很容易导致系统崩溃,可谓在提升效率的同时牺牲了系统的可靠性。2012年王润民等提出了Linux+QT+ARM虚拟仪表组合平台[4],基本实现了仪表的图形界面显示,但由于内核构架上的问题,其实时性很难满足高性能虚拟仪表的要求。可见,上述方案的共同缺点是:稳定性、实时性、安全性受系统本身架构制约,很难满足苛刻的车规测试要求和客户对于高性能的需求。

针对传统机械组合式仪表的缺陷和当前虚拟仪表平台的问题,本文提出一种新型的高性能车载全数字虚拟仪表方案,采用ARM处理器imx53为核心硬件平台,嵌入式硬实时操作系统QNX为核心软件平台,并在此基础上引入Altia快速原型界面设计和仿真测试工具,提出软控分层显示的逻辑界面控制方法,采用GPU硬加速图形渲染技术,开发全虚拟仪表终端应用程序。

1 全虚拟仪表平台系统介绍

虚拟仪表作为辅助驾驶系统的核心组成部分,对系统的实时性、稳定性和安全性均提出了极高的要求。而QNX作为微内核硬实时多任务的嵌入式操作系统,已成功应用于军工领域和汽车领域,是嵌入式系统市场上第一款达到稳定和安全双重认证的实时操作系统。

系统实时性主要取决于中断处理和任务调度。中断处理中影响实时性的因素主要是中断延迟和调度延迟,QNX的这两种延迟指标如表1所示。

任务调度过程中的上下文切换时间是衡量实时性的另一个关键指标,QNX默认采用高优先级抢占调度策略,保证任何时刻都是优先级最高的任务占用CPU。其上下文切换时间指标如表2所示。

由表1和表2可见,QNX对于影响系统实时性的两个关键指标都在微秒级,是目前实时性最强的系统之一[5]。另外,系统的稳定性和安全性主要取决于内核架构,QNX采用模块化的微内核系统架构,应用程序、设备驱动程序、文件系统和网络协议栈都独立运行在受内存保护的空间中,采用的安全技术主要包括:

(1)内存保护的安全内核:内核不能被绕过,强制执行存取权限;

(2)安全协议:包括IPSec、IKE、SSL、NAT等;

(3)硬件加速:网络协议栈下加密和认证算法,包括DES、3DES、AES等;

(4)自适应分区:防止恶意代码和拒绝服务攻击独占CPU。

QNX系统对每个任务进行全面地址保护,使每个任务(进程)独立运行于自己的虚拟地址空间,在任务中又可以创建无地址保护的任务(线程)。这样做的优点是当一个进程崩溃时不会影响到另一进程的存储空间[6]。

综上,QNX不仅以微秒级的延迟提高了系统的实时性,而且充分采用新型技术来保证其稳定性和安全性。因此,以QNX为系统平台开发全数字虚拟仪表,其性能足以满足仪表辅助驾驶平台对系统实时性和可靠性的苛刻要求。

2 全虚拟仪表HMI界面逻辑设计

为缩短全数字虚拟仪表图形用户界面开发周期,加快其产品化进程,引入快速HMI原型设计和逻辑仿真测试工具Altia。

2.1 Altia开发流程

Altia作为全数字虚拟仪表专业开发工具,主要包括3个模块:图形界面编辑器(Altia Design)、连接仿真接口(Altia Connection)和代码生成工具(Deep Screen)。整个开发流程见图1,其中包括以下关键步骤[7]:

(1)图形界面原型开发:将美工处理后的静态图片通过图层切换转变为可操作的控件原型,用于实现逼真的动态效果。图形界面的设计结果保存为计算机中的文件,可直接用于后续的仿真验证和代码实现、集成阶段。

(2)效果仿真验证:在控制逻辑开发环境中(如C C++、Simulink/Stateflow、Rhapsody)集成图形界面原型,在项目开发初期和中期就能由仿真测试来验证开发的图形界面的合理性。

(3)代码实现:通过自动代码生成工具将图形界面原型和控制逻辑直接转变为适合于嵌入式目标平台的程序,快速验证嵌入式HMI的图形效果及性能;判断现有硬件资源是否足以支撑HMI设计;在最短时间内找到图形界面显示效果与硬件资源的最佳平衡。

可见,Altia图形界面开发流程真正做到了所见即所得,可迅速将产品概念原型化,模拟真实工作场景,让用户能够通过仿真验证手段,在设计早期就充分论证设计方案的可行性,为快速开发高性能全数字虚拟仪表提供了先进的开发理念和有力的技术保障。

2.2 设计软控分层渲染模型

全数字虚拟仪表往往需要动态模拟显示大量的车况信息,并实时响应外界的触控指令。如何在有限区域内实时显示驾驶员所关注的信息,成为制约车载虚拟仪表发展的最大瓶颈。为此,在前人的工作基础上,设计了基于软控模式下的图形元素实时分层渲染模型,以缓解图形界面显示的压力。

软控图层组织结构的设计核心思想为:利用多线程模式对图形元素信息进行硬件图层分层控制显示,并根据驾驶员在不同时段的关注目标,动态绑定相关信息所在图层ID。其整体架构设计如图2所示。

(1)硬件支持显示的图层有限(≤3 layer),对虚拟仪表所有显示信息进行动态分类,根据信息的迫切度分为静态必显信息、可选显示信息及动态必显信息。

(2)对不同迫切度的信息进行相应图层和显示区域的绑定,原则上动态必显信息的优先级最高,静态必显信息的优先级最低,可选显示信息的优先级处于中间,属于驾驶员可控信息。信息所绑定的图层ID越大,则被显示的优先级也越高,高优先级的图层可以覆盖掉低优先级的图层。

(3)根据客户不同时间段的关注,动态调整软控区域相关信息绑定的图层ID,进行动态实时模拟显示。

以上设计思想的伪代码实现如下:

从软控架构模型可见,该设计理念对庞大车况信息进行动态分类、分层显示处理。静态必显信息处于虚拟仪表界面最底层,通常包括仪表盘背景、仪表logo及情景模式等静态图形元素;动态必显信息处于虚拟仪表界面的最高层,通常包括仪表盘虚拟指针;可选显示信息处于中间图层,主要包括各类报警图标、车辆状态模拟图标、远程服务信息状态及影音娱乐状态等。

综述,该设计模型在有限的显示区域对不同类型的信息进行动态分块显示,并对可选信息进行动态实时绑定硬件图层,有效解决了庞大信息动态实时显示的瓶颈。

3 引入GPU图形硬加速机制

随着硬件图形加速处理能力的不断发展,完全靠CPU进行图形处理的时代将逐渐消逝。车载全数字虚拟仪表作为一个图形界面高度集成、可实时显示庞大信息,且3D动画动态渲染的复杂系统,仅靠CPU完成其复杂图形处理过程显然很难满足实时性要求。因此,引入基于Open GLES2.0的GPU硬加速机制。

另外,由于该设计方案硬件上采用imx53处理器,提供了对Open GLES2.0、Open VG的2D、3D图形硬加速功能的支持。同时,QNX也提供了针对imx5X系列处理器的GPU硬加速驱动模块,使得软硬件平台图形加速功能得到了很好的兼容。QNX加载GPU的模块驱动配置如下:

(1)开启QNX图形驱动

(2)将相关GLES和GPU的动态库文件拷贝到目标系统路径下,默认路径。

/usr/lib/graphics/i MX5X

(3)设置环境变量,开启GPU驱动

GPU硬加速处理的主要流程如图3所示。在加入GPU图形硬加速处理机制后,不仅能增强图形界面的显示效果,有效降低CPU的使用率,而且能够更好地处理大量的车况信息。

4 实验结果及评价

全数字虚拟仪表硬件平台选用飞思卡尔提供的车规标准处理器imx536,其主要技术指标:1 GHz CPU主频,1 GB×32 DDR3(400 MHz),32 MB 16 bit并行NOR Flash,可扩充的NAND Flash接口,LVDS数字图形输出接口,并集成了基于Open GL ES2.0和Open VG1.1的GPU图形硬加速处理单元。软件平台采用加拿大哈曼公司开发的硬实时操作系统QNX,并引入美国Altia公司HMI快速原型设计和仿真测试工具套件。

采用奇瑞某车型的CAN网络系统和全数字虚拟仪表系统搭建整车测试平台。将全数字虚拟仪表系统作为汽车CAN总线上的一个节点,通过CAN控制器和收发器采集车况信息,经imx536处理器过滤、解码和组包等处理后,送到软控分层渲染模型中进行动态实时模拟显示,以此完成基于整车系统的全数字虚拟仪表单元测试[8]。测试的车况信息主要包括:发动机转速、车速、车灯转向、车门状态、远程监控状态及车内温度等,其界面显示效果如图4所示。

针对GPU对图形渲染的贡献度进行单元测试,其实验结果如表3所示。当图形界面复杂度相同,GPU模块开启时,整个图形界面的渲染帧率迅速提高约2倍,而CPU消耗率只有微小的提高。当其他测试环境相同,只改变图形界面的复杂度时,图形渲染的帧率会随着图形复杂度的增加呈比例提高。因此,GPU模块的开启与否、图形界面的复杂度高低是影响图形实时渲染帧率的两个关键因素。而本文方案不仅有效解决了锯齿和闪烁等影响图形界面稳定性的问题,而且增强了图像显示的平滑度和复杂度,并支持3D图形和特效动画的显示,为HMI动态实时模拟车况信息和人性化界面设计提供了强有力的平台支持。

以汽车辅助驾驶系统快速向数字化,集成化及智能化转型为背景,以探索虚拟仪表辅助驾驶系统的实时性、可靠性和人性化界面设计为研究目标,设计了一套高性能的全数字虚拟仪表系统。采用以实时性、稳定性和安全性著称的QNX为软件运行系统平台,引入的快速图形界面原型设计和仿真测试Altia技术开发HMI,提出一种基于软控模式分层显示的图形界面逻辑控制方法,最后引入了基于Open GLES2.0的GPU硬加速技术。最终有效解决了在有限资源下实时处理和大量信息的瓶颈,研究成果已用于国内某型号概念车,成为国内车载全数字虚拟仪表前装领域的先行者。进一步的工作将提高界面创意设计,融入GPS、On Star等信息模块。

参考文献

[1]刘鹏.汽车虚拟仪表平台的设计和研究[D].大连:大连理工大学,2010.

[2]黄光亮,秦树人,王见,等.基于车载诊断系统的汽车虚拟仪表[J].中国测试,2009,35(5):81-84.

[3]蔡黎,代妮娜,邓明.基于OBD协议的Android平台汽车虚拟仪表设计[J].电子技术应用,2011,37(12):83-85.

[4]王润民,赵祥模,惠飞,等.基于嵌入式Linux与QT的汽车虚拟仪表设计[J].现代电子技术,2012,35(6):2-4.

[5]王斑.基于QNX实时系统的测试系统的开发[D].西安:西北工业大学,2006.

[6]赵伟庆,周群彪,游志胜,等.基于QNX的实时嵌入式计算机系统设计与实现[J].中国民航飞行学院学报,2003,14(2):46-48.

[7]张建伟,王永康,南立军,等.基于Altia软件的车辆电子信息系统显示界面的仿真[J].车辆与动力技术,2009(3):49-52.

上一篇:产品形态创新下一篇:纪检监察制度