本科毕业设计基于android车载虚拟仪表人机界面设计.docx
《本科毕业设计基于android车载虚拟仪表人机界面设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于android车载虚拟仪表人机界面设计.docx(8页珍藏版)》请在冰豆网上搜索。
![本科毕业设计基于android车载虚拟仪表人机界面设计.docx](https://file1.bdocx.com/fileroot1/2022-10/11/cb88d1f7-8b61-48f3-ad00-7ed03b4b67c4/cb88d1f7-8b61-48f3-ad00-7ed03b4b67c41.gif)
本科毕业设计基于android车载虚拟仪表人机界面设计
摘要
车载虚拟仪表人机界面,是驾驶员获取汽车工况数据的主要界面,便于驾驶员实时全面地掌握汽车工作状态,有效地与汽车进行人机交互,对保障汽车安全稳定的行驶有着重要意义,目前普遍使用的是WindowsCE和Linux操作系统。
WindowsCE操作系统功能稳定,有完善的技术支持,但价格昂贵、源代码封闭、网络可利用资源较少;Linux操作系统的最大优势在于免费和开源,是车载信息显示系统的主流操作系统,但其并不是基于移动设备开发的,不能完全满足移动设备的需求。
Android是Google开发的一款基于开源操作系统Linux的开放、开源移动平台,对于目前主流的嵌入式平台支持良好,Android系统的优越性能己在多款移动设备上得到验证。
它包括操作系统用户界面和应用程序而且不存在任何以往阻碍移动产业创新的专有权障碍。
文中提出利用Android作为车载虚拟仪表软件开发平台,在Android提供的应用程序框架上来实现虚拟仪表的人机界面。
关键词:
虚拟仪表操作系统人机界面Android
Abstract
Vehiclevirtualinstrumentinterface,isthemaininterfacedrivergetsconditiondataofautomobile,itisconvenientforthedrivertoreal-timetograsptheworkingconditionsofautomotive,effectivehuman-computerinteractionandtheautomobile,hasthevitalsignificancetoguaranteesafeandstablerunningofthecar,atpresentthewidespreaduseofWindowsCEandtheLinuxoperatingsystem.FunctionofWindowsCEoperatingsystemstability,asoundtechnicalsupport,butthepriceisexpensive,thesourcecode,canusefewerresourcesclosednetwork;maximumadvantageofLinuxoperatingsystemisfreeandopensource,isavehicleinformationdisplaysystemofmainstreamoperatingsystem,butitisnotbasedonthemobiledevicedevelopment,cannotmeetthedemandsofmobileequipmentdemand.
AndroidisthedevelopmentofaGooglebasedonopensourcemobileplatform,opensourceoperatingsystemLinux,forthecurrentmainstreamembeddedplatformsupport,superiorperformanceoftheAndroidsystemhasbeenvalidatedinavarietyofmobiledevices.Itincludestheoperatingsystemuserinterfaceandapplicationprogramandthereisnopasthinderthemobileindustryinnovationproprietaryobstacles.InthispaperusingAndroidasthevirtualinstrumentsoftwaredevelopmentplatform,applicationframeworkprovidedbyAndroidtorealizevirtualinstrumentinterface.
KEYWORD:
VirtualinstrumentoperatingsysteminterfaceAndroid
目录
第一章绪言1
第一节系统硬件体系1
第二章Android软件系统的定制4
第一节Android系统架构4
第二节程序重新开发5
第三章应用程序的设计与实现8
第一节模块的分类8
第四章结束语10
结论11
致谢12
参考文献13
第一章绪言
第一节系统硬件体系
虽然Android是作为一款手机软件平台进行开发的应用程序框架和应用程序但其本质是一个嵌入式软件开发平台。
若将Android用于车载虚拟仪表系统的开发,需要对仪表系统应用的特点进行调整,系统采用的硬件平台是REAL210,CPU处理速度600MHz~1GHz,基于Cortex—A8架构。
系统中主要的硬件模块有音频模块、CAN模块、液晶显示模块、串口和以太网通信模块,如图1.1所示。
图1.1硬件系统架构
以嵌入式系统的硬件为背景,对主要部件给予客观的分类和评价。
硬件是软件的基石,固然它硬件是有多么的重要。
嵌入式系统开发与软件开发有巨大的差别!
只有充分了解硬件,软件才能更大限度的挖掘硬件的能力。
所谓硬件系统,是指构成计算机的物理设备,即由机械、光、电、磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。
如CPU、存储器、软盘驱动器、硬盘驱动器、光盘驱动器、主机板、各种卡及整机中的主机、显示器、打印机、绘图仪、调制解调器等等,整机硬件也称“硬设备”。
随着电子系统的复杂化,系统设计已经成为一门重要的学科,传统的反复试验法已经越来越不适应时代的发展。
发展迅速的软硬件协同设计技术越来越受到人们的重视。
它是在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,最大限度地挖掘系统软硬件之间的并发性,协调设计软硬件体系结构,以使系统工作在最佳工作状态。
硬件系统分为三种典型结构
一、单总线结构
即用一组系统总线将计算机系统的各部分连接起来,各部分之间可以通过总线交换信息。
这种结构的优点是易于扩充新的I/O设备,并且各种I/O设备的寄存器和主存器的存储单元可以统一编址,使CPU访问I/O设备更方便灵活;其缺点是同一时刻只能允许挂在总线上的一对设置之间互相传送信息,也即分时使用总线,这就限制了信息传送的吞吐量,这种结构一般用在微型计算机和小型计算机中。
二、双总线结构
为了消除信息传送的瓶颈,常设置多组总线,最常见的是在主存和CPU之间设置一组专用的高速存储总线。
这种结构的优点是控制线路简单,对I\O总线的传送速率要求低;其缺点是CPU的工作效率较低,因为I/O设备与主存之间的信息交换要经过CPU进行。
以存储器为中心的双总线结构中,主存储器可通过存储总线与CPU交换信息,同时还可以通过系统总线与I/O设备交换信息,这种结构的优点是信息传送速率高;其缺定是需要增加硬件的投资。
三、采用通道的大型系统结构
为了扩大系统的功能和提高系统的效率,在大、中型计算机系统中采用通道结构,在这种结构中,一台主机可以连接多个通道,一个通道可以连接一台或多台I/O控制器,一台I/O控制器又可以连接一台或者多台I/O设备,所以它具有较大的扩展余地,另外由通道来管理和控制I/O设备,减轻了CPU负担,提高了整个系统的效率。
最小硬件系统
嵌入式系统的硬件设计与其应用场合和应用系统的不同而有所差别。
一般情况下,用户可以根据自己的要求,选用合适的微处理器类型,根据相应的接口电路搭配不同类型外设,构成不同用途、不同不同规模的应用系统。
这些系统,无论其规模多大,从硬件上看,都可以分为由核心电路构成的最小系统以及各种各样外部设备所需的外围接口电路。
通常最小硬件系统指的是,由处理器以及SDRAM和FLASH构成的存储电路,再加上一些必要的辅助电路构成的核心系统。
最小硬件系统不仅是整个硬件系统的核心部分,它的构成对软件系统也有重要的影响,其构成决定了处于软件系统最底层的Bootloder的设计,同时它也是嵌入式操作系统正常运行的基础。
换而言之,最小硬件系统及其之上的最底层的最小软件系统构成了嵌入式系统最基本最核心的部分
第二章Android软件系统的定制
第一节Android系统架构
由于Android最初是基于手机软件开发平台进行设计的,而且其中大部分模块都是为手机通信所设计,为节约开发板资源,需要将Android系统中不必要的组件剪裁掉,保留必要的最小系统。
因此必须对框架进行修改,将与电话、短信等相关的模块移除。
仅留下必需的Android的核心模块,包括PackageManager、SystemService、InputService、HardwareSerVice和SystemServer等。
通过修改SystemServer的加载过程可以去掉不需要的服务和模块,另外还要实现底层硬件的驱动程序,重新交叉编译Linux2.6内核,并在驱动程序实现的基础上封装函数库,以便Android的应用程序通过JNI的方式访问底层驱动。
经过定制和修改过的Android系统架构如图2所示。
图2.1定制的Android系统架构
车载虚拟仪表人机界面的应用程序需要进行重新开发,主要是界面模块、CAN模块、数据访问模块和告警模块。
其中CAN模块设计成Service的方式。
数据访问模块设计为ContentProvider。
告警模块采用的通知方式为BroadcastReceiver和Notifica。
系统通电后,在Android的SystemServer中首先启动CAN模块,然后启动主界面的程序
第二节程序重新开发
应用程序的设计与实现
应用程序的系统架构。
通过PackageManager提供的各个APK的信息以菜单方式对各个功能模块进行调用。
51CTO为大家介绍过《AndroidSNK初探》,Android开发必须要了解构造块,Android应用程序是由四个重要组成部分组成的,这四种构造块如下:
◆Activity
◆IntentReceiver
◆Service
◆ContentProvider
51CTO推荐专题:
Android开发应用详解
但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种中的几种组合成我们的应用。
当我们明确了我们的应用需要哪些构造块后,我们就需要在AndroidManifest.xml中登记这些构造块的清单。
这是一个XML配置文件,这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。
这个配置文件是每个Android应用必需的。
对于AndroidMainfest.xml的Schema,参考SDK包附带的文档。
以下,我们对四种构造块做一些说明:
一、Activity
Activity是Android构造块中最基本的一种,在应用中,一个activity通常就是一个单独的屏幕。
每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。
这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。
大部份的应用都会包含多个的屏幕。
例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。
每一