基于CAN总线的低成本测试/诊断工具开发

2019-09-02 05:52赵颖慧白杨赵聪聪
汽车文摘 2019年9期
关键词:总线通讯模块

赵颖慧 白杨 赵聪聪

(1.中国第一汽车股份有限公司 智能网联开发院,长春 130013;2.一汽大众汽车有限公司成都分公司 技术开发部,长春 130012;3.吉林农业大学 工程技术学院,长春 130118)

主题词:汽车电子 测试 诊断 CAN总线

缩略语

TFT Thin Film Transistor(薄膜晶体管)

UART Universal Asynchronous Receiver/Transmitter(通用异步收发传输器)

RFI Radio Frequency Interference(射频干扰)

ESD Electro-Static discharge(静电释放)

UDS Unified Diagnostic Services(统一诊断服务)

1 前言

汽车电子产品的广泛应用,极大程度地提高了乘坐舒适性、驾驶安全性和环保性能,但也使得汽车电子系统更加复杂[1]。目前,汽车电子产品的测试和验证工具多从国外测试设备厂商进行采购,国内比较常见的汽车电子测试设备包括CANcase系列CAN总线测试工具,Vtsystem系列硬件(I/O)测试工具及CANdela系列汽车诊断工具。这些测试工具虽然技术成熟、功能强大、运行可靠,但价格昂贵,比如一个CANcase售价约12万元人民币,且应用专业性强,对操作者要求高、培训难度大,一定程度上限制了其应用范围。因此,急需开发一款面向国内市场的低成本汽车电子测试工具。针对这一问题,本文基于CAN总线通讯模块和统一诊断服务协议,利用嵌入式控制系统开发了一种能够对汽车电子产品进行快速测试和诊断的工具。应用此工具可以快速方便的读取仪表等车载控制单元的软件版本、零件号等信息。

2 系统工作原理

系统工作原理如图1所示:用户通过测试工具的人机交互界面对被测设备发布测试、控制、诊断等指令。设备根据具体产品选择相应指令和动作,操作被测设备实现相关功能,并将反馈信息通过人机界面显示给用户。用户还可以通过电脑对测试工具进行维护和升级。

图1 系统工作原理

3 系统设计

3.1 硬件设计

系统硬件主要实现与用户交互、与被测设备通讯及系统升级的功能。为达到简单方便的用户操作体验,人机交互模块采用五向开关、编码旋钮与薄膜晶体管(Thin Film Transistor,TFT)显示屏相结合的实现方式,菜单深度不超过3级。由于汽车电子设备之间利用CAN接口进行通讯,故硬件需要预留CAN通讯模块。利用通用的UART通讯方式进行系统升级。

系统硬件采用模块化设计,主要包括CAN通讯模块、UART通讯模块、主控制核心板、电源模块、LED显示模块、人机交互模块及I/O模块,结构如图2所示。

图2 硬件结构框图

(1)主控制核心板

主控制核心板使用NXP公司最新开发的Cortex-M3内核控制芯片LPC1788,工作主频120 MHz。LPC1788集成了LED图像控制器,支持TFT显示器,可以实现低成本、高质量的图像应用。同时,该控制器提供了双通道CAN控制器和五个UART小数波特率发生器,能够满足系统硬件需求[2]。

(2)CAN通讯模块

对于汽车电子设备的测试诊断而言,如何实现测试工具与被测对象之间的通信至关重要,也是检测设备开发的核心[3]。本文所开发的测试工具利用CAN模块与被测设备进行数据交互。CAN通讯模块采用符合汽车网络协议规定的收发电路,并配有静电释放保护措施,具有高性能和高可靠性,能够支撑各种控制器及各类传感器之间的数据通信和信息共享[4]。基于CAN通讯模块的硬件电路如图3所示。

图3 CAN通讯模块硬件电路[5]

该硬件设计符合ISO 11898-2:2016(Road vehicles—Controller area network(CAN)—Part 2:Highspeed medium access unit)[6],最高速率达到 1 Mbps。具有以下特点:

●抗环境瞬间干扰,具有总线保护能力;

●斜率控制,降低射频干扰(RFI);

●热保护以及电源和地短路保护;

●未上电的节点对总线无影响;

●低电流待机模式。

(3)通用串行通讯模块

为了使所开发的测试工具适应汽车电子产品的升级换代,需要对测试工具的软件进行升级,本文利用串行通讯模块实现这一功能。利用串行总线将测试工具与电脑连接,实现软件版本的在线升级维护。测试工具的UART模块框图如图4所示。

图4UART模块框图

(4)LED及人机交互模块

为了显示被测设备的相关信息,利用人机交互模块建立用户与被测试设备之间的友好连接。显示部分利用控制芯片自带的LED驱动接口,同时配合4.3寸真彩TFT显示屏。显示模块框图如图5所示。

图5 显示模块框图

(5)I/O模块

所开发的测试工具应对较宽范围内的模拟数字输出量及整个工作电压范围内的数字输入量具备检测功能。根据实际情况,可配置主控制芯片I/O端口,并做出相应的输入、输出响应,实现开关量的控制。

(6)可扩展性设计

系统采用模块化的柔性设计以适用不同的应用要求。预留了车载系统另一种常用的通讯接口:LIN接口[7]。

3.2 软件设计

本测试工具系统以嵌入式实时操作系统-uCOSII和嵌入式图形用户接口-uCGUI作为软件平台的核心,应用软件采用3层结构设计,即驱动层、交互层和应用层。系统软件结构如图6所示。

图6 系统软件结构框架

(1)驱动层

驱动层主要负责系统底层硬件的驱动和配置,为上层软件和具体硬件外设搭建连接通道。驱动层采用标准驱动库CMSIS技术。CMSIS能够方便实现与处理器和外设之间的软件接口,从而简化软件的重用、实现标准化并降低成本。

(2)交互层

交互层在应用层和硬件驱动层之间形成一个缓冲和控制通道,为应用层和硬件驱动层提供信号转换、控制流缓冲等工作。

(3)应用层

应用层为最顶层软件,实现系统的人机交互功能和测试/诊断功能。

a.人机交互应用软件

为达到使用简洁、方便的目的,同时保证系统菜单组织的结构合理,人机交互应用的系统菜单采用两级管理方式。菜单显示过程的软件流程如图7所示。

图7 菜单显示过程软件流程图

b.测试/诊断功能模块软件

测试/诊断功能是测试工具开发的核心工作,其实现依据是被测设备的测试/诊断需求文档和UDS协议。

通过人机交互接口向被测设备下达相应的测试/诊断指令,根据测试/诊断需求文档解析用户输入的交互指令,将相应指令转换为CAN报文并发送给被测设备;同时接收被测设备反馈的CAN报文,根据UDS协议解析接收报文,并将状态反馈给用户,相关流程如图8所示。

图8 人机交互流程

某被测设备的测试/诊断需求文档如表1所示,规定通过Input Output Control指令控制所有LED灯。当人机交互接口下达打开所有LED灯指令后,测试/诊断模块通过CAN总线发送0x2F 0x0A 0x00 0x03 0xFF数据。当测试/诊断模块接收到被测模块发送0x6F 0x0A 0x00 0x03 0x00时,人机交互界面告知用户操作成功[8]。

表1 需求文档

4 测试工具应用

本文所开发的测试工具已成功应用于某系列车型多个产品的测试/诊断。应用测试单元和测试项目如表2所示,图9为某车型仪表在暗室中做光学测试。

表2 测试工具应用

图9 暗室中光学测试

5 结束语

综上,本文从汽车电子产品的测试特点出发,开发了基于CAN总线通讯的测试/诊断工具。该测试工具不依赖电脑,成本低、操作过程简单,且具有较强的可扩展性。同时,该设备具有定制性的特点,能够根据被测设备的测试/诊断需求文档定制属于被测设备特定的测试/诊断工具,从而实现被测设备测试/诊断需求文档中定义的所有UDS协议诊断功能。

猜你喜欢
总线通讯模块
《茶叶通讯》编辑委员会
《茶叶通讯》简介
28通道收发处理模块设计
“选修3—3”模块的复习备考
关于CAN总线的地铁屏蔽门控制思路论述
国内首个AR通讯应用浮出水面
国内首个AR通讯应用浮出水面
必修模块相关知识过关训练
浮瓶通讯
Q&A热线