admin 管理员组

文章数量: 1087675


2024年3月22日发(作者:oracle查看数据库连接)

基于Android系统和CAN总线的车辆虚拟

仪表设计

作者:李玉洁

来源:《科技创新导报》 2012年第27期

李玉洁

(武警工程大学研究生管理大队38队 陕西西安 710086)

摘 要:在现代汽车业中,先进的通信网络技术CAN总线被应用到汽车仪表系统中,实现与

汽车各电控单元节点之间的资源共享,使得汽车仪表的功耗、安全性、可靠性得到改善。基于

Android系统和CAN总线的车辆虚拟仪表是具有支持驾驶员与车辆进行信息交流、行驶信息的

记录和管理及通信功能的平台。

关键词:Android系统 CAN总线 车辆虚拟仪表

中图分类号:TP216

文献标识码:A

文章编号:1674-098X(2012)09(c)-0032-01

为了简化汽车内部控制系统,降低汽车制造成本,提高人车交互界面的友好度,设计并实

现了一种新型的汽车虚拟仪表。本文致力于全数字式汽车液晶智能仪表系统的开发和研究,提

出了在嵌入式Android平台上用液晶显示屏图形化显示复杂车载信息的方法。该理论上是作为

汽车CAN总线上的一个节,通过CANBUS接口提取车速、发动机转速、燃油量、冷却水温度、汽

车档位及其他车况信息等各种数字量和模拟量,经S5PV210微处理器分析计算,采用数字及图

形化动态LCD显示,并可以通过触摸屏进行交互响应,既照顾到了驾驶员的习惯,又利用了现

代电子技术的优势,使仪表具有多功能、智能和高精度的特点。

1 系统软硬件平台的选择

本文选取基于三星A8处理器1GHz S5PV210为微处理器,选配REALV210核心板,支持

SD/MMC/SDIO接口存储卡,最高支持32GB,支持SD卡启动。而制作可用于启动的SD卡,即烧

写u-boot到SD卡中进行内核的烧写与移植。CAN总线通信模块在硬件上采用了独立高速CAN

控制器MCP2515结合收发器MCP2551的设计方法。

2 Android的程序开发和移植

将android及应用程序移植到目标机上需要经历编写相应的驱动程序、交叉编译android

及应用程序,安装android 到目标系统。首先本文采用windows+vmware+ubuntu 的方式,建

android编译环境,编译Android 需要许多的软件包的配合,可以直接在ubuntu 下输入命令

进行安装。Android的编译还需要使用到java开发环境,把下载的jdk1.6.0_2进行

解压,在ubuntu的终端命令输入sudo tar -jxvf jdk1.6.0_2便能在当前目录下得

到 jdk1.6.0_26 目录。安装结束后还要设置好环境变量让Android找到这个路径,编辑

/etc/,增加下面的语句:

exportJAVA_HOME=/home/work/jdk1.6.0_26

exportANDROID_JAVA_HOME=

$JAVA_HOME export PATH=$JAVA_HOME/bin:$PATH

这里要根据实际情况修改路径,保存退出。

把下载好的android_gingerbread_realv210_ver_1_2 Android源代码复制到

ubuntu主机下进行解压。便可得到Android、u-boot、linux kernel等源码包和交叉编译器。

在终端进入android目录,输入./进行编译,之后便可在

android_gingerbread_realv210_ver_1_0/out/target/product/smdkv210下得到 ,

,,等镜像文件,分别是 Linux内核镜像文件,

根文件系统镜像,data分区镜像,system分区镜像。在 SD卡上新建文件夹,命名为 sdfuse,

把需要烧写的文件放到sdfuse文件夹里。第一次烧写前,最好先格式化一下nandflash。开发

板连接pc,使用u-boot菜单烧写SD卡中的镜像文件。到此,Android成功移植到开发板。

3 CAN总线驱动程序的方案设计与实现

本文选用Microchip公司生产的MCP2515作为CAN总线控制器。MCP2515是一款独立的CAN

协议控制器,完全支持CAN2.0B技术规范,MCP251与主控制器的连接是通过标准串行外设接口

SPI(Searial Peripheral Interface)实现的。

(1)查看编译的Android系统是否自动启动CAN脚本。查看 中service can

/system/etc/ oneshot 如果不存在则需要在android的源文件

/device/samsung/smdkv210中修改。加入上面两句话,重新生成镜像烧写

(2)查看/system/etc/是否存在。不存在则创建。内容如下:

#!/system/bin/sh

ifconfig can0 down

ip link set can0 type can bitrate 125000 fconfig can0 up

同时将其push到响应位置。125000是波特率。根据情况自己修改。经以上修改后在启动

过程中可以看到mcp2515信息。

4 结语

本文所提出的虚拟仪表平台主要有以下二个优点:一是采用CAN总线技术,把各种模拟信

号转化为数字信号,能处理大量数据,提高精度和灵敏度,获取全面车况信息的同时解决了传

统行驶记录仪线束多的问题,增强了平台的扩展性;二是CAN设备在嵌入式操作系统Android

下驱动程序的成功实现,为在嵌入式系统中扩展其他硬件设备驱动程序提供了很好的参考价值。

参考文献

[1] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.

[2] Android移植环境手册[oL]./source/

[3] 蔡月明,刘浩.基于CAN总线的工业控制系统[J].中国仪器表,2001(5):16-18.

[4] 陈连坤.嵌入式系统的设计与开发[M].北京:清华大学出版社,2005.


本文标签: 系统 总线 信息 汽车 仪表