第44卷第1期电子器件Vol.44No.1
Feb.2021 2021年2月Chinese Journal of ElccLmn Devices
Design and Implementation of Automotive LCD Instrument
Display System Based on CGI Studio
GUO Jianzhong1卒^LIAO Xuwei1,XIE Bin2,M1N Rui2,GENG Yi1丄IU Xiaorong2
(1. School of Automobile and Traffic Engineering,Wuhan University of Science and Technology,Wuhan Hubei430065,China;
2.Wuhan Baohua LCD Display Technology Co., Ltd.,Wuhan Hubei430082,China)
Abstract:CGI Studio is a software development plaLform established by FujiLsu for hybrid2D and3D graphics inLer-faces(HMI/GUI)for vehicles/which encapsulates OpenGL ES.It can perform2D/3D construction and editing,efficiency measurement and improvement,and state machine integration and testing.It also has a complete2D/3D rendering engine that can implement advanced in-vehicle human-machine interface(HMI)applications.It liberates developers from the tedious and complicated developm
ent process.CGI Studio greatly improves development efficiency.This paper designs a display system based on CGI Studio that combines the LCD instrument panel and the core board of a pure electric bus.This article proposes a method to build a liquid crystal instrument display system using CGI Studio to import images,assign attributes,and bind and generate variables.The conclusion after testing is to improve the development efficiency of the instrument and the performance of human-computer interaction/shorten the secondary development cycle,and reduce the complexity of cross-platform transplantation.
Key words:automotive LCD instrument;CGI studio;HMI;double plate design;cross-platform migration EEACC:7260F;4150D;6135doi:10・3969/j・issn.1005-9490・2021・01・039
郭健忠",廖许苇1,谢斌2,闵锐2,耿屹1,刘小容2(1.武汉科技大学汽车与交通工程学院,湖北武汉430065;2.武汉保华显示科技有限公司,湖北武汉430082)
摘要:CGI Studio是富士通公司为车用混合2D与3D图形接口(HMI/GUI)所建立的软件开发平台,对OpenGL ES进行的封装。可进行2D/3D建构与编辑、效率测量与改善、状态机器整合与测试,以及完善的2D/3D渲染引擎,可实现先进车载人机界面(HMI)应用程序。将开发者从繁琐、复杂的开发流程中
解放了出来,极大地提升了开发效率。本文设计了一种基于CGI Studio的纯电客车液晶仪表底板和核心板相结合的显示系统。提出了合理运用CGI Studio对图片导入、属性的赋予、变量的绑定与生成来搭建液晶仪表显示系统的方法。提高了仪表的开发效率和人机交互性能,缩短了二次开发周期,减少了跨平台移植的复杂程度。
关键词:汽车液晶仪表;CGI Studio;人机界面;双板设计;跨平台移植
中图分类号:TH85:TN948.57: TP317.4文献标识码:A文章编号:1005-9490(2021)01-0203-05
近年来,中国汽车电子市场保持着较高增长速度,相应的汽车电子产品市场规模已经超过万亿。激烈的竞争对汽车的环保性、安全性、经济性以及智能化提出了很高的要求[l]o特别伴随着电动汽车在市场的占比越来越重,所需要显示的参数复杂,远远超出传统燃油汽车仪表的显示范围[2-3]o因此,汽车全液晶仪表已经成为了汽车电子中极其重要的一部分。伴随着液晶仪表的发展,也带来了一系列的问题。例如可移植性较差、开发生产成本高、二次开发性较低等一系列缺点,这些在一定程度上阻碍了其技术创新,阻碍了虚拟仪表的应用推广⑷。汽车液晶仪表作为驾驶员直观掌握汽车行驶状态的平台,是汽车整个系统中十分重要的部分[5-6]o近年来随着纯电汽车的发展使得仪表所需包含的信息量逐年增多和市场消费者对乘用车仪表显示效果的更高要求,传统的液晶仪表开发方式已无法满足当前的开发需求,所以有必要设计一种提高液晶仪表开发效率的方式。
收稿日期:2020-05-12修改日期:2020-07-14
204电子器件第44卷
1传统汽车液晶仪表的开发方法汽车液晶仪表的开发经历过几个阶段,从最初裸机开发(不搭载操作系统),到目前QT嵌入式开发,开发流程和难度越发简化,但是随着当前HMI (人机交互界面)所含信息密度的逐渐提高和ADAS (高级驾驶辅助系统)的加入,造成产品开发难度的急剧上升和修改困难,故需要一种快速简单的工具简化流程,缩短开发成本和开发时间。
1.1裸机开发方法
传统的裸机开发,内部不搭载操作系统,图片的显示过程是将图形库数据通过图形管理单元的显示接口在显示屏上显示⑺。开发者先设计好需要显示的图像文件,并将该文件烧录进入开发板的FLASH中。当需要显示时通过图形管理模块调用对应图片进行显示。该方法工作量巨大并且无法进行复杂动画的显示。例如,如果开发者需要使表盘指针旋转,需要准备多达100个指针图片,显示时依次调用,大量占用了芯片内存。
1.2QT嵌入式开发
QT是基于C/C++语言的跨平台GUI(图形交互界面)应用程序框架,由于其跨平台的特性,开发者可以
在传统x86平台上通过可视化UI设计工具QT Creator完成应用程序的开发后移植至目标嵌入式平台,从而大幅提升应用程序开发效率。其应用程序运行依赖嵌入式Linux操作系统,因此对仪表硬件平台提出了较高要求。开发人员将事先准备好的UI图片资源文件导入至QT Creator中,通过可视化UI设计软件QT Designer将所需资源文件移动至设计界面,对每个界面元素构建代码以控制其缩放旋转、显示方式及运动轨迹。但是由于QT自带动画引擎功能比较单一,如果界面中动效元素过多或过于复杂,开发人员则需要动用大量代码来设计每个元素的动效,对于矢量路径动画这类复杂运动效果的开发非常困难,且不支持多层图层的遮罩、模糊效果运算,因此QT 无法满足现代全液晶汽车仪表中HMI设计美观、动效丰富和界面层级多的设计需求。
2CGI Studio的HMI显示系统设计与实现
2.1显示系统的硬件设计
传统的汽车液晶仪表经由一个高性能的芯片同时对图形资源和数据信号进行处理,但是由于液晶显示所需要运行的图片资源极其庞大,单一的处理器无法很好地兼顾,造成了极大的内存占用和浪费。采用高性能芯片时,为了规避EMC(电磁干扰)和EMI(电磁兼容)相关问题⑻,电路板内部布线极其复杂,开发板在印板时成本居高不下,再加上高性能芯片的高昂价格,造成生产成本无法达到预期效果。因此,本文采用底板和核心板分开处理的方式,不同模块分工合作,根据分割的功能选择低成本,性价比
高的芯片。同时,开发者将芯片分开布置的方式可以使其更加从容地考虑开发板内部走线的问题。如图1所示,底板接受外部CAN信号和数据I0采集到的汽车实时信息,经由底板MCU进行处理后,由I2C传输给核心板,核心板通过传输来的数据解析后加载图片资源控制汽车液晶仪表的正常显示。
图1硬件结构框图
液晶显示屏幕的正常显示需要通过背光电路和显示驱动电路两个方面的结合才能如期运行。液晶显示屏幕本身不具备发光的特性,使用时必须借助背光源才能达到显示效果a。显示驱动电路通过控制液晶层像素来达到显示效果。传统的单芯片仪表将背光电路和显示驱动电路集合电路板上,本文采取底板和核心板分离的方式,核心板只负责加载图片资源控制液晶屏显示,故相较于传统设计方式,本文需要对硬件进行重设计来控制仪表的正常显示。如图2所示,为设计的背光电路,背光电路位于
图2
背光电路
第1期郭健忠,廖许苇等:基于CGI Studio的汽车液晶仪表显示系统的设计与实现205
底板上,选择MP2481背光芯片,输入12V电源使能该芯片,MCU给予PWM电平信号,经过背光芯片处理后,输出PWM波形经过核心板控制屏幕亮灭。
本文选用i・MX6Q芯片作为图形处理芯片,该芯片内部集成了显示驱动电路,无需进行额外的电路设计,如图3所示。
图3显示驱动电路
2.2显示系统的软件设计
2.2.1CGI Studio技术简介
本文采用的是CGI Studio进行设计开发,CGI Studio是富士通公司基于OpenGL ES进行一层封装后提供的可进行可视化设计的显示图形界面开发框架[10]。OpenGL ES是个定义了跨编程语言、跨平台的业界标准应用程序编程接口(API),引入了对可编程管线的支持,大大提高了不同消费电子设备的3D图形渲染速度,在嵌入式系统上实现了全面可编程的3D图形[11-12]。可通过可视化界面配置汽车液晶仪表的显示界面,并通过自身携带的控件对显示元素进行相应的动画配置,以实现简单到复杂的动画显示效果。对比传统的开发方式和使用QT进行液晶仪表的开发,CGI Studio有着前者所不能比拟的优点。本文采用使用CGI Studio分别在Windows 平台和Linux平台进行开发和移植。
2.2.2平台搭建和开发
CGI Studio作为可视化显示图形界面的开发框架,软件内包含了大量便捷的使用工具。获取显示界面的原始图像后,将其导入系统内部的显示界面中,可将图片在显示界面上随意拖动以达到设计过程中最完美的显示效果。CGI Studio基于OpenGL ES进行的封装会在显示界面上定义坐标原点,导入的图像会基于该坐标原点定义出所处的位置从而生成相应的代码。CGI Studio的控件与图片进行绑定,赋予图片各种各样的属性,可达到旋转、平滑移动等一系列动画效果。图片与控件绑定生成的各个部件需要对其进
行命名以方便在Linux进行绑定。在搭建过程中,动画编辑器可对独立或者整体的显示动画进行编辑,动画在首尾由两个关键帧构成,中间由空白帧构成,整个动画由无数的关键帧联系在—起;动画编辑器可对其中任意一处的关键帧进行修改、修饰和删除。相比传统的开发方法可构建出复杂和精美的显示效果,并可以极大地节约人力物力。具体开发流程如图4所示。
图4Windows平台开发流程框图
对比传统仪表开发方法,CGI Studio开发HMI 界面方便快捷,减少了开发者图片资源的使用量和研发效率,极大地简化了开发流程。本文使用CGI Studio开发效果图如图5所示。
图5显示效果图
Windows平台的开发完成后生成了相应的BIN 文件,将其上传至开发板i.MX6搭载的Linux系统中。在搭载的Linux系统中建立接收数据的应用程序,根据CGI Studio中各个部件的命名来建立相同名字的变量,编译后生成对应的Taget文件,将生成的Target文件与CGI Studio生成的BIN文件通过交叉编译来进行绑定,达到点对点进行传输的功能。仪表根据各个变量的数据来决定仪表的显示状态。具体开发流程如图6所示
。
206电子器件第44卷
图6开发板实现流程
3系统二次开发和移植
传统的液晶仪表开发在修改HMI界面过程中,需对原本的图片资源进行大量修改才能达到二次开发效果,例如对图片显示资源坐标的平移,动画效果逻辑修改等;同时,根据移植目标板内核的不同也会增加二次开发和移植的难度,开发者需要根据移植目标板的内核来对原程序进行相应的修改才能保证在新的架构上的正常运行。在原产品上的维护和二次开发极为困难,传统开发方式和QT开发方式都需要极大的工作量和大量的代码才能保证二次开发的顺利进行。
本文采用的CGI Studio开发过程中,HMI显示程序和显示驱动程序互相独立,分别位于Windows 平台下和Linux平台下完成。传统的开发方式基于所设计的开发板,在系统级芯片内完成,开发者的一切操作都脱离不开该芯片,芯片能力的强弱直接限制了开发者的能力。CGI Studio开发在Windows平台下,软件内部有官方提供的各种各样便利的插件,资源极其丰富。研发者在二次开发和移植过程中,HMI显示界面可直接在Windows平台下进行修改,不受芯片环境的限制,同时,便利的可视化操作和简易的动画制作过程在研发者修改过程中提供了极大的便利。如图7所示,研发者在跨平台移植过程中除了对适应该系统架构的修改外,只需在程序内部搭载与外部显示信号进行数据通信的程序变量,再通过交叉编译的方式与CGI Studio生成的BIN文件进行变量绑定,即可直接移植进开发板。
图7CGI Studio移植开发流程
4显示系统测试与优点分析
根据通信协议制定测试数据库,将车速信号、报警信号等录入BusMaster数据库中,通过CAN总线不停循环发送模拟实车运行环境。仪表预留高低电平硬线接口,将12V高电平接入对应接口可点亮仪表对应信号显示。测试实物图如图8所示。
+
图8测试实物图
经过24h的测试验证,本文基于CGI Studio所设计的汽车仪表,在高频率和低频率CAN报文循环发送下,能流畅显示车速、里程、转速、文字报警和图标报警等各种信息。经过模拟仪表死机也可触发看门狗进行仪表重启。测试结果表明,仪表运行状态良好,显示流畅,不卡顿。
通过设计开发板,在程序中搭载帧率计算模块将每秒显示图片打印在仪表特定部位,同时将三种开发方式的HMI资源文件分别烧录进入对应仪表中以进行性能测试。仪表通过12V稳压电源供电,以录制的CAN报文在BusMaster上进行不间断的报文回放,测试过程中不定时地向三台测试仪表发送大量报文数据以验证仪表响应速度等相关性能,同时观察大量数据涌入情况下仪表稳定性是否符合使用要求。经过4h不间断测试,测试结果如表1所示,裸机开发方式和QT开发方式在仪表运行过程中可达到预期显示效
果,但打印出的显示帧率较低,远远低于CGI Studio开发方式下的60frame/s显示帧率,在跨度较大的动画显示效果中可明显看到卡
第1期郭健忠,廖许苇等:基于CGI Studio的汽车液晶仪表显示系统的设计与实现207
顿;在数据大量涌入的情况下,裸机开发方式和QT 开发方式下的图片资源加载较慢,无法在较短时间内将对应图标显示在仪表上方,CGI Studio开发方式下显示流畅,响应速度快,不卡顿;在长时间测试过程中,大量数据交互情况下,传统开发方式下仪表死机重启频率较高,QT开发方式和CGI Studio开发方式下仪表死机频率较低。因此,CGI Studio在运行性能上优于传统开发方式和QT开发方式。
表1不同开发方式运行性能对比
显示帧率响应速度动画效果稳定性裸机开发20frame/s慢差差
QT嵌入式30frame/s一般一般好CGI Studio60frame/s快精美好
传统开发方式在HMI的界面绘制和驱动程序的制作必须由一人来完成,否则会因为程序的不同而产生干涉,在开发过程中也因为传统的开发流程过于繁琐复杂而需耗费大量的时间。传统的开发方式需准备大量的图片资源来进行显示,对图片资源的需求和CPU的资源占用极大;高性能的芯片和开发板内部的布线也使得开发板成本居高不下;因为芯片架构的不同和HMI界面的修改使得移植和二次开发困难。
使用CGI Studio可将HMI界面绘制和驱动程序的制作分离开来,加快开发效率。同时CGI Studio的可视化界面绘制流程也让界面布局制作和动画制作极其方便。底板和核心板分离的方式让芯片性能得到充足的利用。HMI显示界面的开发也不会因为目标芯片架构的不同,影响二次开发和移植。如表2所示,相较
于传统开发方式和QT开发方式,本方法在HMI开发难度,开发流程,可移植性等方面相较于传统开发方式有了极大改善。
汽车仪表表2CGI Studio与传统开发方式对比
开发方式开发时间/d图片资源内存占用开发成本移植性裸机开发30大占用大高差QT嵌人式23少占用大普通普通CGI Studio15少占用少少强
郭建忠(1969—),男,汉族,湖北武穴
人,武汉科技大学,副教授,硕士生导
师,研究方向为汽车电子与信息技术;5结语
本文以CGI Studio为核心设计了一款纯电客车的汽车液晶仪表。创新之处在于通过设计双板结构合理降低了开发成本;说明传统的开发方式越发不适应当前环境下繁荣的汽车市场,指出了使用CGI Studio进行开发的优点,提高了人机交互性能;通过跨平台开发和交叉编译绑定数据的方式增加了系统的可移植性;最后通过对成品仪表进行测试验证,符合当前液晶仪表应用需求;该方案为当下HMI开发市场提出了一种便捷的方案。
参考文献:
[1]丁冠源,王淑琴,刘朝阳,等.全液晶仪表的现状及发展趋势浅
谈[J].科学与信息化,2019(6):118.
[2]曾勇,麻友良,陈典.电动汽车仪表关键技术分析与研究[J].
电测与仪表,2019,56(2):139-144.
[3]曹晓琳,王登峰,车晓镭,等.汽车CAN总线数字组合仪表设
计[J].汽车工程,2010,32(1):86-89.
[4]李睿琦,牛新环,王征宇,等.基于i.MX6Q和OpenGLES的汽
车虚拟仪表的设计[J].河北工业大学学报,2017,46(2):1-5.
[5]代政,王成,金星.电动汽车全液晶仪表系统的硬件设计[J].
电子设计工程,2017,25(15):170-175.
[6]Bellotti F,Gloria A,Poggi A.Designing Configurable Automotive
Dashboards on Liquid Crystal Displays[J].Cogn Tech Work,2004
(6):247-265.
[7]陈典,郭健忠,谢斌,等.基于QT技术的汽车显示系统的设计
与实现[J].电子器件,2019,42(2):530-534.
[8]Inseok Choi,Hojun Shim,Naehyuck Chang.Low-Power Color TFT
LCD Display for Hand-Held Embedded System[C]//International Symposium on Low Power Electronics and Design,2002.Monterey,
CA.ACM SIGA.2002:112-117.
[9]王海峰,杨淑燕,张凤生.用于液晶显示器背光的LED驱动电
路设计[J].液晶与显示,2008(4):442-447.
[10]富士通半导体推出新版CGI Studio可支持OpenGL ES3.0[J].
电子设计工程,2014,22(16):131.(富士通半导体推出新版CGI Studio可支持OpenGL ES3.0China Academic Journal Electronic Publishing House).
[11]孙伟,李瑞豹,丁伟,等.基于OpenGLES的移动终端三维地图
可视化[J].计算机应用与软件,2017,34(3):154-159. [12]Kevin Krewell.Khronos Releases OpenGL ES3.0[J].Micropro
cessor Report,2012,26(8):4-4.
廖许苇(1994—),男,汉族,湖北荆州
人,武汉科技大学,硕士研究生,研究
方向为汽车电子与信息技术
。
发布评论