便携式汽车诊断设备设计方案

所属栏目:电子技术论文 发布日期:2020-03-31 09:25 热度:

 

  由于汽车在生产、售后等环节中都可能涉及诊断,因此供应商提供的解决方案需要覆盖各个场景所涉及的所有诊断需求,这就意味着每次执行某个操作前首先需要在设备端完成所有模块的加载,然后通过层层菜单选项完成功能选择,费时费力,技术门槛高。显然,这对于部分应用场景(如生产、返工或检查等等),高频次单一的简易诊断操作来说非常不友好,每次均需花费相对较长的时间。再加上供应商专用诊断设备价格高昂,操作复杂,需要专业人员具备较强的技术背景,从而更进一步对整体工作效率产生影响。本文通过对整车诊断技术的分析与研究,基于嵌入式系统开发了一种便携式的汽车诊断设备,从而解决上述传统方案所存在的费时、操作复杂等问题。

便携式汽车诊断设备设计方案

  诊断设备设计思路

  传统的汽车诊断一般通过一台用于操作的手提式电脑及一个由线缆或蓝牙等方式与电脑连接的专用诊断头实现,电脑上通常需要安装整车厂认可的专用软件,一方面通过连接在车辆OBD口上的诊断头向车辆发送相关指令,另一方面则解析从诊断头传输来的车辆反馈报文信息,并显示为可读性强的内容格式。这类解决方案包含了诊断可能使用到的全功能模块,因此不论在硬件设计还是软件结构上都比较复杂,还必须借助外设电脑进行操作,而且需要一定技术背景的且受过培训的专业人员才能操作。实际上有很多的诊断场景只涉及少数单一的诊断操作,而且这些操作需要高频次地执行,这种场景下使用传统的诊断方法执行效率的非常低下。嵌入式系统通常执行的是带有特定要求并预先定义的任务,因此不依赖外设电脑的基于嵌入式系统开发的诊断设备完全可以满足这类场景的需求,而对应的软硬件设计也可以得到很大程度的简化,最终使得设备整体减小体积降低成本,并提高执行效率。作为一个诊断设备,要实现整车诊断,最基本也是最重要的是实现与车辆间报文信息的双向传输及处理。在此基础上,考虑到对用户进行信息提示的需求,必须设计声光外设;考虑到嵌入式系统软件的更新以及与上位机的通信,需要设计USB接口;考虑到存储诊断操作记录的需求,需要设计扩展存储外设;诊断设备需要支持多种诊断操作,因此需要建立用户HMI(HumanMachineInterface)借助外设来对功能进行选择和信息交互,我们选用使用广泛的手机作为媒介,开发专用APP,通过蓝牙功能实现与诊断设备的连接。如图1所示为传统汽车诊断解决方案(a)与下文将要介绍的便携式汽车诊断设备解决方案(b)的整体对比图。

  诊断设备设计方案

  硬件模块设计硬件模块主要基于STM32单片机开发,可与车辆OBD口直接连接,相关外设扩展模块包括主电源模块,离线电源模块,LED显示模块,蜂鸣器发声模块,光耦隔离模块,USB接口模块,CAN驱动模块,蓝牙模块以及TF卡存储模块等。单片机模块承担整个系统的运算及信息处理任务,选用STM32F1系列32位单片机,采用3.3V供电,程序存储空间为256KB,主频最高72MHz,具有体积小、速度快及功耗低等特点,同时具有良好的程序扩展空间,因此可以提高设备的便携度及运行速率,同时保证功能的丰富性。系统电源包括主电源模块和离线电源模块两部分,前者主要功能是将12V整车电瓶电压转换为5V和3.3V两种电压,分别用于CAN驱动电路和单片机控制电路的供电。而后者直接使用3V纽扣电池,用于离线模式下单片机低频时钟电路的供电,以保证系统万年历时钟的运行。显示及发声模块主要用于诊断操作过程中的基本信息交互,采用RGBLED灯和蜂鸣器,通过单片机的I/O口进行驱动,在需要时通过灯光或声响对用户进行提示。举例而言:由于整车诊断操作的前提条件为车辆KL15上电,故需要通过同样使用单片机I/O口驱动的EL357光耦隔离模块来对整车上电状态进行识别,如果检测到车辆未达到要求的上电状态则通过声光模块提醒用户,直到完成KL15上电操作。在整个系统以及各项功能的调试过程中,常常需要通过USB接口与上位机通信,以显示相关调试信息或软件更新,对应模块使用USB控制器CH340G并结合单片机的USART串口进行驱动。诊断设备与车辆ECU的通讯是通过在整车CAN数据总线上传输相关CAN报文实现的,因此单片机的CAN控制器TTL信号必须通过CAN驱动模块转变为满足CAN2.0协议的差分信号,这里选用TJA1050芯片作为驱动模块主体,并采用5V供电,如图2所示。在部分使用场景下,诊断设备需要通过手机蓝牙设备对诊断设备进行操作,因此选用支持蓝牙2.0协议的HC05标准模块作为蓝牙驱动模块,通过单片机的USART串口进行驱动,以实现与手机的通信。为了能够将诊断设备的操作记录进行离线保存,选用单片机自带的SD/TF卡驱动单元SDIO对TF卡驱动模块进行驱动,以实现FAT文件系统的创建和编辑,从而将操作过程和结果实时保存在TF卡中。如图3所示为硬件模块设计最终的整体实物图。软件模块设计软件模块主要基于嵌入式C语言编写,支持CAN2.0A/B协议和UDS诊断协议,支持蓝牙2.0通信协议和USB2.0串口协议,并支持各种中断服务。整个软件部分采用柔性设计方法进行模块化开发,以驱动+算法的软件结构为基础,各个驱动在调试通过后无需再做更改,而当客户有新增功能需求时也只需在算法层进行相应的新增程序编写即可,大大降低了整个软件升级的开发难度。诊断设备通电运行后,首先进行各外设扩展模块的初始化,完成后确认车辆是否已KL15上电,若没有则通过蜂鸣器进行提醒,直到成功上电后LED灯显示为绿色并常亮。然后向车辆发送车架号读取的CAN报文,以获取车辆车架号。接下来开始手机蓝牙设备的循环搜索,找到并连接后,再开始等待手机蓝牙设备传来的指令。一旦成功接收指令则转入该指令对应的子函数,向车辆发送相应功能的请求报文,同时LED灯显示为蓝灯并不停闪烁。在功能执行完毕并通过中断程序判断已成功接收到回复报文后,对报文进行解析,并根据实际需求将诊断结果传输至手机蓝牙设备以进行显示,同时存储至TF卡中。最后,LED灯闪烁停止,重新显示为绿色,一个功能执行完毕,诊断设备继续等待下一个执行指令。以上完整流程用于通过手机蓝牙连接诊断设备进行功能选择和对应操作的场合,而如果诊断设备只是用于固定地执行某个单一功能,则可在程序中取消循环等待外部指令的部分,直接执行所需功能对应的子函数,这样即可以保证设备的即插即用。手机端App设计手机端App在安卓系统上进行开发,基于ionic框架,选用typescript作为开发语言。打开App,首先需要设计用户名和密码登录和录入用户相关个人信息的界面,前者用于权限管理,而后者用于识别当前操作者以在TF卡和手机log文件中进行记录。登录及信息录入成功后,即可进入主功能选择界面,如图4所示。整个界面主要分为四个区域,包括最上方的蓝牙连接区,下方的车辆信息及图标显示区,主功能选择区,以及最下方的工具栏。在蓝牙连接区中,通过点击右侧可以选择需要连接的诊断设备,连接成功后则会显示相应设备的名称。如果此时诊断设备已连接车辆OBD口并准备就绪(LED灯显示为绿色并常亮),则车辆图标上方会显示当前车辆的车架号。在主功能选择区的功能中心可以进行诊断功能选择,点击对应按键后实际会通过蓝牙发送相应功能指令给诊断设备,此时App也将进入相关界面,并根据诊断设备传来的诊断结果进行详细显示。在最下方的工具栏中,可以查询历史诊断日志、帮助信息及用户信息。

  结语

  本文通过对整车诊断的分析与研究,基于嵌入式系统开发了一种便携式的汽车诊断设备,主要包括基于STM32单片机的硬件模块,采用柔性设计方法进行模块化开发的软件模块,以及基于安卓系统的手机端App。相比于传统的诊断解决方案,本文设计的诊断设备外形小巧、便携度高,而且成本较低;可以实现即插即用或通过手机端App进行快速操作和信息交互,非常便捷,对于操作人员来说不需要具备相关的技术知识和资质,可以说是零门槛;手机端信息LOG和TF卡存储实现了双向操作记录备份,从而具备操作过程和结果的可追溯性;软件模块的开发方式提供了强大的功能扩展性,使得设备可以根据用户的实际需求进行快速功能开发和定制;由于设备采用直接报文形式与车辆ECU进行通讯和交互,,因此可以保证执行的高效和快速,从而在实际操作过程中帮助用户节省工时,提高效率。经过实际测试,该诊断设备对于目前已有功能中包含的高频次单一诊断操作来说,平均可以节省70%~80%的时间。目前基于用户需求,共开发了十多项单一诊断功能,如DTC读取/删除、运输模式开关、高压低压SOC读取、整车静态电流读取等等。部分已应用在生产、开发、质量检查等多个环节,得到了良好的用户反馈和使用黏性。相信随着功能的不断扩展和优化,这个便携式诊断设备可以发挥越来越大的作用,具有极大的推广价值。

  《便携式汽车诊断设备设计方案》来源:《汽车与配件》,作者:杨健 潘学松

文章标题:便携式汽车诊断设备设计方案

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/dianzijishu/42334.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3