基于obd协议的android平台汽车虚拟仪表设计.docxVIP

基于obd协议的android平台汽车虚拟仪表设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于obd协议的android平台汽车虚拟仪表设计 obd(onboardremotecontrol)是“车载诊断系统”。具有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 引脚信号的定义 根据ISO DIS 15031-3规范,OBD接口被定义为双排16针插座,有A、B两种外形规范,A用于小型乘用车,B用于载重汽车。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脚定义为安全气囊信号。 3 硬件连接设计 3.1 连接器控制芯片 连接器的作用是将OBD接口输出信号转换为Android平台设备能够识别的信号并输入。此处选用ELM电子生产的OBD转RS232专用芯片ELM327作为连接器主控芯片,连接器一端连接OBD插座,OBD接口16号引脚为芯片供电,OBD信号通过芯片转换后从数据收发口RXD、TXD输出。基于ELM327的连接器组成框图如图3所示。 3.2 输出信号输入端口 Android平台设备一般采用无线蓝牙、WLAN或有线USB端口进行数据通信,这里选择USB端口作为信号输入端口。ELM327输出的信号范围是0 V~12 V,Android平台设备USB端口接收的信号范围为0V~5V,两者不匹配,设计以PL2303芯片为核心的转换电路完成转换,电路图如图4所示。 4 forj环境平台的开发平台 软件设计平台选用Java JDK、Eclipse IDE for Java EE Developers和Android SDK共同构建的开发平台。采用模块化的设计方法,将虚拟仪表软件分为通信初始化模块、OBD数据解析模块、计算与显示模块。 4.1 汽车obd测试 通信初始化模块功能是通过连接器实现OBD插座与Android平台设备的互联。 (2)设定串行通信参数,SAE J1979协议规定,工程实测中使用的长城CC7130SM00汽车OBD工作波特率为9 600 Kb/s,每一帧数据由8位数据位和1位停止位组成,帧数据中无奇偶校验位。Android平台将USB端口当做终端I/O文件管理,其参数设置使用Struct Termios结构体实现: 4.2 汽车obd接口实现 报文解析模块是虚拟仪表的核心,以OBD报文组成为基础定义其主要工作流程图如图5所示。 (1)模式选择:SAE J1979定义了9诊断模式用以获得不同类型的诊断报文数据,本设计只选用选择模式2,即获取动力系统监控数据模式。发送指令“PID$02”到OBD接口,可指定OBD工作在诊断模式2,将当前动力系统监控数据送出。 (2)发送询问码:虚拟仪表软件通过USB端口发送命令到OBD接口用函数Write ()实现,关键代码如下: 以上代码将命令变量CMDbuf中的数据从Android平台设备输出到汽车的OBD端口,返回读

文档评论(0)

139****9425 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档