首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM 和Qt/E的车载HMI终端的设计方案
来源:本站整理  作者:佚名  2012-04-27 16:55:00



首先,在Linux下利用open函数打开串口设备,用tcsetattr函数来设置串口属性。打开驱动设备UART0进行读写操作:constchar*devName="/dev/ttySAC0";fd=::

open(devName,O_RDWR|O_NONBLOCK);设置波特率等参数:serialAttr.c_cflag=B115200|HUPCL|CS8|CREAD|CLOCAL;serialAttr.c_cc[VMIN]=1;其中串口设备可使用Linux下I/O函数进行Read和Write操作。但是,在数据接收时当数据量过大会导致界面被阻塞(造成界面假死),于是创建了一个线程通过事件驱动实现数据接收。

Qt中可采用QSocketNotifier类来实现设备事件驱动的设计要求。QSocketNotifier类关联Signal/Slot机制,当有数据可读时会触发Ativated信号,LCDNumber控件Slot会被调用来连接到该信号并显示,从而实现数据采集与显示功能。在数据发送时,可通过Button控件Signal/Slot调用QObject对象的connect()函数来实现[3].当按键被按下时触发Signal信号,Slot会调用pressed()函数将定义好的数据通过串口Write函数发送到总线上。函数实现如下:

voidGlass::on_lu_pressed(){charmsg[]={160,34,16,0};//定义所发送数据myserial->myCom->write(msg,4);//写发送数据}

通过QPainter类进行对窗体界面和按键图像界面进行设计,达到美观的人机界面。最后将设计好的程序通过交叉编译,生产二进制文件移植到ARM中,然后在文件系统中调用执行,最终在LCD触摸屏上显示,如图2所示。

5系统集成与测试

首先将设计好的HMI终端通过交叉串口线与PC机连接,进行相互通信,测试是否能够进行数据收发,测试成功后通过CAN/RS232网关接入Polo车CAN试验台进行综合测试。试验台设备节点可通过触摸方式控制,同时可实时采集与显示运行状态信息,经过多次实验测试,运行稳定可靠,达到了设计要求。

6结束语

本文所设计的车载HMI终端集车身控制、仪表显示、导航、多媒体和无线上网为一体,简化了车载中控平台,降低了车辆控制系统操作的复杂性。经实验测试实现了车身设备的触摸控制,能够对各设备运行状态信息进行采集与显示。为车载HMI开发提供了一种可行的设计思路与性价比更合理的解决方案。

上一页  [1] [2] [3] 

关键词:方案 HMI 车载

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:112,285.20000 毫秒