找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于OBD协议的Android平台汽车虚拟仪表设计

[复制链接]
admin 发表于 2013-3-24 03:06:51 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘   要: 关键词: 车载诊断系统; 安卓; 汽车; 虚拟仪表
       OBD(On Board Diagnostics)即“车载诊断系统”[1],装载OBD协议的汽车能够自动监测汽车各项运行参数,具有很高的安全性。但是受到OBD仪表高额制造成本的制约,绝大部分汽车只支持OBD协议并提供OBD接口,但是未设置OBD车载检测仪表,因此OBD的各项功能未得到有效发挥。
     Android是一款基于Linux平台的开源移动通信终端操作系统,由Google公司研发,目前全球长期使用的Android平台设备约有1 300万台。
     本文介绍一种能够应用在Android设备平台的OBD汽车虚拟仪表设计方案。
1 系统整体设计
1.1 需求分析

     OBD系统能够输出汽车电子控制单元ECU(Electronic Control Unit)通过车载传感器获得的燃油系统、温度系统、点火系统、动力系统以及废气控制辅助装置系统运行状态数据,在发生故障的情况下则输出故障码。
     基于OBD协议的Android平台汽车虚拟仪表需要实现的功能是扩展OBD接口功能,与OBD接口通信,解析相关报文数据流,将解析结果以图形化的方式显示,如动力监控界面能够显示发动机状态、发动机转速、当前时速、剩余油量、发动机温度等。
1.2 整体设计
     用系统工程的方法划分虚拟仪表设计工作,参照模块化软件开发规范,按照以下步骤实现汽车虚拟仪表:
     (1)分析OBD接口,设计硬件连接器,将电平转换到Android平台设备可接受的范围;
     (2)虚拟仪表软件初始化连接器,读取输入信号,解析OBO信号报文并以图形化的方式显示。系统子模块图如图1所示。
   
   
2 OBD接口
     根据ISO DIS 15031-3规范,OBD接口被定义为双排16针插座,有A、B两种外形规范,A用于小型乘用车,B用于载重汽车[2]。A型接口一般位于转向柱和汽车中线之间。16个引脚信号定义如下。
     如图2,插座的02、06、07、10、14 和15号引脚用于传输不同的汽车通信协议,通常用其作为诊断通信接口。因为一个型号的汽车只使用一种协议,所以同一型号的汽车,只需要使用其中的一个接线柱。插座01、03、08、09、11、12 和13 未做分配,由车辆制造厂商自行定义。如第4节工程实测中使用的长城CC7130SM00 汽车,将11 脚定义为发动机防盗信号、12定义为ABS(Anti-locked Braking System)车轮防抱死信号、13脚定义为安全气囊信号。
    2012110705103804598537.gif
   
3 硬件连接器设计
3.1 连接器设计

     连接器的作用是将OBD接口输出信号转换为Android平台设备能够识别的信号并输入。此处选用ELM电子生产的OBD转RS232专用芯片ELM327作为连接器主控芯片,连接器一端连接OBD插座,OBD接口16号引脚为芯片供电,OBD信号通过芯片转换后从数据收发口RXD、TXD输出。基于ELM327的连接器组成框图如图3所示。
    2012110705103809285538.gif
   3.2 电平转换
     Android平台设备一般采用无线蓝牙、WLAN或有线USB端口进行数据通信,这里选择USB端口作为信号输入端口。ELM327输出的信号范围是0 V~12 V,Android平台设备USB端口接收的信号范围为0 V~5 V,两者不匹配[3],设计以PL2303芯片为核心的转换电路完成转换,电路图如图4所示。
    2012110705103849909539.gif
   4 虚拟仪表软件设计
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-25 13:04 , Processed in 0.058913 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表