一种实时嵌入式3d数字仪表构造方法

文档序号:6444090阅读:408来源:国知局
专利名称:一种实时嵌入式3d数字仪表构造方法
一种实时嵌入式3D数字仪表构造方法技术领域
本发明属于计算机嵌入式软件领域,具体涉及一种实时嵌入式3D数字仪表构造方法。
背景技术
目前最常见的汽车仪表大多数采用机电式组合仪表,随着仪表板上显示的信息不断增加,造成组合仪表表盘面积不断增大,而实际应用中现有的机电式组合汽车仪表的仪表盘展示能力有限,无法满足不断增加的车辆各项信息处理、展示的需要。综合仪表集成多种功能是车用仪表发展的趋势之一,现有车用组合仪表功能单一,大多只能显示基本的诸如发动机转速、车辆时速等基本状态信息,而追加其它附加功能极为困难;此外现有仪表显示的用户界面表现形式较为单一,无法用软件方式展示3D效果;而借助于模具实现3D的展示效果,成本高,更新周期长。
另外,从开发角度讲,现有机电仪表组合仪表的研发周期长,不易快速开发,更新升级较为困难,定型生产后,小版本的升级较为困难,版本升级的周期较长。发明内容
鉴于现有技术的缺陷,本发明目的在于提供一种实时嵌入式3D数字仪表构造方法,其特征在于包括如下步骤
以RTEMS操作系统为系统核心,在RTEMS操作系统之上定制符合OpenGL ESl. 0、 2.0规范的3D图形引擎;
建立一组符合OpenGL ESl. 0,2.0规范、可运行在RTEMS操作系统上的数字仪表基本构件,并用XML对这些构件的名称、类别、基本参数类型,基本参数值域进行描述,把这些构件组合形成数字仪表构件库;
以QT为基础定制与RTEMS和3D基础运行环境相适应的QT Embedded开发支撑工且.Z、 9
采用所述QT Embedded开发支撑工具从所述的仪表构件库中选择已有的仪表基本构件组成新的数字仪表应用;
在所述QT Embedded开发支撑工具中编译所组成的新的数字仪表应用,并生成目标系统的镜像文件;
将镜像文件下载到目标硬件平台,进而构造实时嵌入式3D数字仪表实例。
本发明所述的实时嵌入式3D数字仪表构造方法中所述QT Embedded开发支撑工具可以实现对该所述数字仪表基本构件库的中的基本仪表构件进行增加、删除、修改操作, 并可以选择数字仪表基本构件组合形成新的数字仪表应用。
本发明的嵌入式实时3D数字仪表软件解决方案提供了一套数字仪表的基础运行环境,同时提供一套与之配套的开发与部署工具,以实现数字仪表应用的快速开发与部署。

图1为本发明实时嵌入式3D数字仪表构造方法的主要构成示意图2是本发明实时嵌入式3D数字仪表开发过程示意图3是本发明实时嵌入式3D数字仪表应用层次结构示意图。
具体实施方式
下面结合附图对本发明实时嵌入式3D数字仪表构造方法的具体过程进行详细描述。
RTEMS,即实时多处理器系统(Real Time Executive for Multiprocessor Systems),是一个开源的实时嵌入操作系统RTOS。它最早用于美国国防系统,早期的名称为实时导弹系统(Real Time Executive for Missile Systems),后来改名为实时军用系统 (Real Time Executive for Military Systems),现在由OAR公司负责版本的升级与维护。 目前无论是航空航天、军工,还是民用领域RTEMS都有着极为广泛的应用。具体内容可以参见:http://www. rtems. com。
OpenGL ES (OpenGL for Embedded Systems)是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。OpenGL-ES是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口 API,主要针对多种嵌入式系统专门设计-包括控制台、移动电话、手持设备、家电设备和汽车。它由精心定义的桌面OpenGL 子集组成,创造了软件与图形加速间灵活强大的底层交互接口。OpenGLES包含浮点运算和定点运算系统描述以及EGL针对便携设备的本地视窗系统规范。OpenGL ES 1.X面向功能固定的硬件所设计并提供加速支持、图形质量及性能标准。OpenGLES 2. X则提供包括遮盖器技术在内的全可编程3D图形算法。具体内容可以参见http://WWW. khronos. cn/0
本发明方案由RTEMS操作系统、符合OpenGL ESl. 0,2. 0规范的3D图形引擎构成的基础运行时环境;以QT Embedded为基础定制与RTEMS和3D图形引擎基础运行时环境的开发支撑工具;以及采用开发支撑工具研发具体的数字综合仪表应用并部署到具体的硬件环境上运行的全过程等系列软件组件与实施方法构成。
本发明的技术方案具体如下构建嵌入式实时的3D基础运行时环境。以RTEMS 操作系统为基础,在RTEMS操作系统之上建立符合OpenGL ESl. 0,2. 0规范的3D图形引擎,由此构成基础运行时环境。其中RTEMS操作系统需要依据具体的硬件环境定制相应的BSP,BSP (Board Support Package)即板级支持包,是介于主板硬件和操纵系统之间的一层软件,主要目的是为了使操作系统能够更好的运行于硬件主板之上,不同的操纵系统、 不同的硬件需要不同的BSP ;定制的OpenGL ES图形引擎,需要依据EGL1. X规范,在RTEMS 操作系统上定制,使其可以在RTEMS操作系统上运行。其中EGL即本地平台接口,是介于诸如OpenGL ES或OpenVG的Khronos渲染API与底层本地平台窗口系统的接口。它被用于处理图形管理、表面/缓冲捆绑、渲染同步及支援使用其他Khronos API进行的高效、加速、混合模式2D和3D渲染。;以QT Embedded为基础,定制目标操作系统为RTEMS的专用 QTEmbedded,在专用的QT Embedded中,调用针对RTEMS与目标处理器的GNU工具链,包括 GCC、⑶B、Binutils等。其中QT Embedded为诺基亚公司研发的开源集成开发环境,在此基础上针对目标处理器、RTEMS操作系统定制形成专用版。GNU Compiler Collection,简称 GCC,是GNU项目下的编译工具,是GNU工具链的核心部件,支持包括UNIX,Linux,Mac OS在内的多种操作系统。GNU Debugger,简称⑶B,是GNU工具链中的调试工具。⑶B具备各种调试功能,能针对程序的运行进行追踪与警告,使用⑶B的使用者可以监控及修改程序的内部变量值,甚至监控与修改独立于主程序运行之外,独立调用。GNU Binary Utilities, 又叫binutils,是一套二进制工具,用于处理多种格式的目标代码文件,常配合gcc,make 和gdb等编译、调试工具使用;
研发定制一组符合OpenGL ESl. 0,2. 0规范、可运行在RTEMS操作系统上的数字仪表基本构件,并用XML对这些构件的名称、类别、基本参数类型,基本参数值域等进行描述, 把这些构件组合形成数字仪表构件库;在所述的专用QT Embedded工具实现对该构件库的中的仪表构件进行增加、删除、修改等维护操作,并可以挑选这些仪表组合形成新的数字仪表应用;
该方案的具体仪表应用开发,遵循以下流程
1)准备针对目标处理器的工具链。在GNU工具链的基础上,重新编译定制,生成针对如ARM、X86、PPC等不同目标处理器的以RTEMS为目标操作系统的工具链,并在QT Embedded专用版中配置好。本步骤在同一硬件、同一操作系统版本中,只定制一次。
2)在QT Embedded专用版中,从所述的仪表库中选择已有的仪表构件组成新仪表应用或在QT的设计界面设计一个新的仪表应用;
3)在QT Embedded专用版中编译仪表应用,并生成目标系统的镜像文件;
4)将镜像文件下载到目标硬件平台。
本发明的创新点在于以下几方面
1、本发明的具体基本功能子系统由数字仪表基础运行平台、数字仪表构件库与相应QT Embedded专用版开发配置工具等几部分组成,形成了 RTEMS操作系统上的完整的3D 应用的开发与部署、运行系列环境,并由以QT Embedded专用版为具体实例的开发工具,以此定制具体的数字仪表应用;
2、本发明在RTEMS嵌入式实时操作系统上,定制了符合OpenGL ES1.0、2.0规范的 3D图形引擎,使得RTEMS操作系统可以支持3D应用程序;
3、本发明构建了一组符合OpenGL ESl. 0,2. 0规范的在RTEMS操作系统上运行的仪表构件,并形成了仪表构件库,使得RTEMS上的仪表应用开发可以复用仪表库的构件,减少了仪表应用开发的工作量,缩短了开发周期;
4、本发明定制的数字仪表应用可以3D的图形用户界面展示车辆的各项状态,并通过软件切换界面的形式,在不换硬件的情况下,增加了仪表可展示的信息数量;
5、本发明可以在不更换硬件的情况,利用所定制的开发工具,通过软件升级的形式实现不同的版本的数字仪表。
下面结合附图和具体实施方式
对本发明作进一步说明
图1中,列出了本方案的基本构成组件,1为数字仪表硬件,它包括了主控的CPU, CAN控制器与其它外围设备;
2为RTEMS操作系统,包括内核,驱动程序,API等;
3为符合Open GL ESl. 0,2. 0规范的图形引擎;
4为数字仪表应用,由6开发配置工具从5构件库中选择构件组合或开发而成;
5为数字仪表的构件库,负责管理仪表构件;
6为本方案的开发配置工具,实现仪表应用的开发,包括代码的编辑,编译,调试, 下载等。
图1中,1,2,3,4为仪表应用具体实现的层次结构形态;
5,9为本方案中可复用的部分,在开发阶段由6调用;
6,由7,8两部分构成,形成本方案中的开发配置工具。
图2中,描述了本方案应用开发实例的开发部署的具体实现过程。
1)开发硬件。自主开发具体仪表应用的硬件,即下位机;
2)准备开发工具。在上位机,先执行1定制工具链,并在^!T Embedded专用版中配置好工具链;
3)仪表应用开发。利用5QT Embedded专用版进行2仪表应用程序的开发,包括界面的设计、C/C++代码的编写。在开发过程中,可以复用6仪表构件库中的仪表构件以减少开发工作量,缩短开发工期,也可以直接采用QT Embedded专用版编码实现。
4)编译与调试部署。在QT Embedded专用版中,调用定制的GNU工具链进行编译、 调试,即调用GCC进行编译,调用GDB进行调试,调用Binutils进行链接与镜像文件生成, 然后下载到下位机上,即完成对仪表应用的部署。
5)仪表应用运行。完成第4步以后,给下位机上电,下位机即自动加载仪表应用仪表,即4仪表应用开始运行。
以上各步骤中,硬件开发为相对独立的一个开发阶段;第2至第4步,为软件开发阶段,该阶段由开发人员在上位机完成;第5步为仪表应用运行阶段,可以集成的汽车平台或其它目标平台后运行。
图3中,描述了本方案的具体仪表应用在部署后的层次结构。
其中1为仪表硬件;
2为定制的RTEMS操作系统;
3为定制的在RTEMS上运行的符合OpenGL ESl. 0,2. 0规范的3D引擎;
4为具体的仪表应用。
系统在上电后,将自动加载RTEMS操作系统以及仪表应用等软件。
硬件层的CAN控制器从车用CAN网络中采集各项状态数据;
RTEMS操作系统层的CAN驱动负责对硬件层的CAN控制器访问、操作,将CAN控制器采集到的数据转送到仪表应用层;
仪表应用层应用程序将CAN数据包进行分析得到不同类型的需求显示的数据,不同类型的显示数据通过应用程序调用3D引擎进行处理得到最终需要显示的数据;
仪表应用程序将最终需要显示的数据转发给操作系统层的LCD驱动,LCD驱动将数据送给IXD显示屏显示。
以上过程,即完成了从车用CAN网络采集数据、数据分析、3D数据合成以及显示的过程。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种实时嵌入式3D数字仪表构造方法,其特征在于包括如下步骤以RTEMS操作系统为系统核心,在RTEMS操作系统之上定制符合OpenGL ESI. 0、2. 0规范的3D图形引擎;建立一组符合OpenGL ESl. 0,2.0规范、可运行在RTEMS操作系统上的数字仪表基本构件,并用XML对这些构件的名称、类别、基本参数类型,基本参数值域进行描述,把这些构件组合形成数字仪表构件库;以QT为基础定制与RTEMS和3D基础运行环境相适应的QT Embedded开发支撑工具;采用所述QT Embedded开发支撑工具从所述的仪表构件库中选择已有的仪表基本构件组成新的数字仪表应用;在所述QT Embedded开发支撑工具中编译所组成的新的数字仪表应用,并生成目标系统的镜像文件;将镜像文件下载到目标硬件平台,进而构造实时嵌入式3D数字仪表实例。
2.根据权利要求1所述的实时嵌入式3D数字仪表构造方法,其特征在于通过所述QT Embedded开发支撑工具实现对该所述数字仪表基本构件库的中的基本仪表构件进行增加、 删除、修改操作,并可以选择数字仪表基本构件组合形成新的数字仪表应用。
全文摘要
一种实时嵌入式3D数字仪表构造方法,其以实时嵌入式RTEMS操作系统为基础,在RTEMS操作系统基础上构建3D图形引擎并形成基础运行环境,运行数字仪表应用;以专门定制后的QT Embedded版为开发配置工具,复用数字仪表构件库中的构件,实现软件方式的数字3D仪表应用的快速开发定制与升级。在同一硬件平台,可以更易于实现具体仪表软件应用的多版本定制与升级等。应用本方案,可以降低数字仪表应用开发人员的开发难度,缩短仪表应用产品的开发周期;应用本方案所定制的具体仪表应用与传统的机电式汽车仪表相比,具有显示风格美观多样,更好的3D视觉效果;可通过软件界面切换的方式显示更多车辆状态信息。
文档编号G06F9/44GK102541559SQ20111045043
公开日2012年7月4日 申请日期2011年12月30日 优先权日2011年12月30日
发明者刘立宇, 张克宾, 张弦, 李彦峰, 李绍杰, 潘远明, 王栋, 贺春妮, 贾晓博 申请人:中科方德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1