基于Android车载虚拟仪表人机界面设计.doc

基于Android车载虚拟仪表人机界面设计.doc

ID:27869976

大小:26.50 KB

页数:5页

时间:2018-12-06

基于Android车载虚拟仪表人机界面设计.doc_第1页
基于Android车载虚拟仪表人机界面设计.doc_第2页
基于Android车载虚拟仪表人机界面设计.doc_第3页
基于Android车载虚拟仪表人机界面设计.doc_第4页
基于Android车载虚拟仪表人机界面设计.doc_第5页
资源描述:

《基于Android车载虚拟仪表人机界面设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、前主流的嵌入式平台支持良好,Android系统的优越性能己在多款移动设备上得到验证。它包括操作系统用户界面和应用程序而且不存在任何以往阻碍移动产业创新的专有权障碍。文中提出利用Android作为车载虚拟仪表软件开发平台,在Android提供的应用程序框架上来实现虚拟仪表的人机界面。  1系统硬件体系  虽然Android是作为一款手机软件平台进行开发的应用程序框架和应用程序但其本质是一个嵌入式软件开发平台。若将Android用于车载虚拟仪表系统的开发,需要对仪表系统应用的特点进行调整,系统采用的硬件平台是REAL210,CPU处理速度600MHz~1GHz,基于Cortex-A8架构。

3、系统中主要的硬件模块有音频模块、CAN模块、液晶显示模块、串口和以太网通信模块。  2Android软件系统的定制  由于Android最初是基于手机软件开发平台进行设计的,而且其中大部分模块都是为手机通信所设计,为节约开发板资源,需要将Android系统中不必要的组件剪裁掉,保留必要的最小系统。因此必须对框架进行修改,将与电话、短信等相关的模块移除。仅留下必需的Android的核心模块,包括PackageManager、SystemService、InputService、HardwareSerVice和SystemServer等。通过修改SystemServer的加载过程可以去掉不

4、需要的服务和模块,另外还要实现底层硬件的驱动程序,重新交叉编译Linux2.6内核,并在驱动程序实现的基础上封装函数库,以便Android的应用程序通过JNI的方式访问底层驱动。  车载虚拟仪表人机界面的应用程序需要进行重新开发,主要是界面模块、CAN模块、数据访问模块和告警模块。其中CAN模块设计成Service的方式。数据访问模块设计为ContentProvider.告警模块采用的通知方式为BroadcastReceiver和NoTIfica.系统通电后,在Android的SystemServer中首先启动CAN模块,然后启动主界面的程序。    3应用程序的设计与实现  应用程序

5、的系统架构。通过PackageManager提供的各个APK的信息以菜单方式对各个功能模块进行调用。    3.1CAN模块  CAN模块用于数据的采集和处理,CAN模块接到数据后,要对数据进行解析,判断出接收到的数据类型。最终得到所需要的值。计算方法为根据参数所在数据域的字节位置提取其对应的原始数,再根据该参数对应的分辨率和偏移量得到参数值,其参数值的计算方法为:参数值=参数原始数&TImes;分辨率+偏移量。通过编程计算出数据代表的实际发动机状态值,即可准确地在车辆实时功能模块中显示当前的车辆状态。    3.2数据访问模块  程序的数据访问模块,采用Android系统内置的SQL

6、ite数据库,对一些重要车况信息自动记忆存储,便于分析和维修,起到汽车“黑匣子”的作用。存储的车况信息可以通过点击回放按钮直接在仪表界面上回放,真实再现汽车行进过程中的状况。  首先调用。openOrCreateDatabase()创建vehicle_database.db数据库,然后配置SQLite数据库属性通过。创建一个数据表分别定义:行驶日期、出厂信息、车速、转速信号、启动、停止时刻、行使里程、报警信息等。将黑匣子接收到的数据对应数据表定义的格式通过。insert()向数据表中插入数据,通过。delete()指定日期来删除过期的数据。显示历史数据需要先通过DatePicker获取

7、用户输入的年、月、日,并将具体日期数值提取出来,将条件放入SQL查询语句。query()中来查询,定义一个Cursor返回结果,然后创建一个数据适配器将Cursor的结果直接映射到ListView中的对应的TextView上。    3.3功能模块  功能模块用于测控车辆的速度、发动机转速、水温和燃油、告警事件的显示。    3.4告警模块  告警模块本身是一个BroadcastReceiver,它负责接收其他模块的告警事件,超速、油量、水温、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。