基于MC9S12XET256的电动汽车UDS诊断仪设计

 公司新闻     |       来源:火狐直播下载官网    发布时间:2024-07-11 15:36:56

  :本文结合当前应用广泛的车载CAN总线UDS协议,在飞思卡尔的16位车载平台MC9S12XET256上,实现了一款应用于新能源电动汽车的UDS远程故障诊断仪。文章首先对系统使用的关键器件进行了简单说明,然后对接口电路进行了描述,接着介绍了UDS诊断相关联的内容,并且介绍了使用的具体场景,最后对设计进行了总结。

  摘要:本文结合当前应用广泛的车载CAN总线UDS协议,在飞思卡尔的16位车载平台MC9S12XET256上,实现了一款应用于新能源电动汽车的UDS远程故障诊断仪。文章首先对系统使用的关键器件进行了简单说明,然后对接口电路进行了描述,接着介绍了UDS诊断相关联的内容,并且介绍了使用的具体场景,最后对设计进行了总结。

  随着传统能源面临的环境问题、成本问题等逐渐突出,国家从长远战略发展角度考虑全力发展新能源产业。而作为一个汽车保有量巨大的国家,汽车尾气污染也是环境污染的主要的因素。所以作为汽车产业中重要力量的纯电动汽车的发展也得到了国家的全力支持。与传统汽车的成熟度相比,纯电动汽车在汽车的动力系统、传动系统等都发生了重大的变化,而动力来源更是来自于充电电池组。因为整车恶劣的工作环境,电池的安全性问题也是很突出。为了达到对新能源汽车的整车系统的全面监控,同时结合国家对新能源纯电动汽车的使用规范要求,结合CAN总线UDS诊断协议,本文设计并实现了针对新能源电动汽车远程诊断系统,该系统能够实时监控整车及电池等关键模块的运行数据,并能够最终靠手机或者电脑客户端等监控手段远程查询整车的运作时的状态,并能远程对车辆进行故障诊断,同时能将采集的数据上传服务器。为增加系统的科技感,同时为了更好的提高纯电动汽车的客户体验度,本文设计并实现了手机远程控制电动汽车的充电状态,同时能通过手机远程控制空调及车门等部件的开关,以及远程查询各部件的状态。

  1.实时监控车载CAN总线上整车控制模块、电池模块、电机模块等总线.监控整车的极值数据,比如最高温度、最低电池组电压、最高电池组电压等数据,当超过安全门限时向服务器上报故障数据;

  3.根据UDS诊断协议,通过手机或者电脑客户端界面远程诊断车载CAN总线的其它节点或者是UDS诊断仪自身,同时根据诊断配置选项,把诊断结果上传到服务器;

  4.通过手机或者是电脑客户端实现对纯电动汽车的远程控制,控制车门开关、充电启动或停止、空调的启动或者关闭。

  T256,MC9S12XE系列16位单片机主要特性如下:● 飞思卡尔16位内核 CPU,最高40MHz工作频率;

  ● 最大下行传输速率:85.6kbps,最大上行传输速率:42.8kbps;

  模块使用方式简单,仅需1路4.2V供电电源以及一个电源开关接口,通过RS232串口接口使用AT指令对模块进行操作,使用方便。通过AT指令可以实现模块与数据服务中心的数据链接建立、断开等,也可以实现与数据中心的数据发送与接收,也能够最终靠AT指令实现GSM的语音通话和EMS短信功能。

  CAN单元包含两路CAN接口,一路作为标准车身CAN通信接口,波特率500bps,另一路预留。CAN收发器选用NXP公司的收发器TJA1042/3,工作时候的温度-40℃~125℃。最大传输速度为1Mbps。芯片内部带过压保护,CANH、CANL管脚耐压值范围-27V~40V,抗瞬态脉冲电压范围达到-200V~200V。

  为了保证CAN电路的电磁兼容特性,在收发器的CAN总线外围电路上还加入了共模电感和ESD保护。CAN部分具体电路图见图2。

  UDS诊断仪终端是应用于12V新能源电动汽车,汽车电磁环境比较恶劣,进入系统的电源一定要经过严格处理,才能保证系统的稳定工作。同时因为新能源电动车上是电池供电,然后通过电机来驱动系统,这就比传统的汽车产生更多的干扰,电磁环境会更恶劣。因此本文设计了比较完整的电源电路系统,对系统的供电电源处理电路采取了包括防反接保护电路模块、浪涌保护单元、EMI静噪滤波器、π型滤波和DC-DC处理五个部分,处理框图见图3。各部分说明如下:防反接保护是通过一个普通二极管实现的,当电源反接时二极管就会断开,达到对系统的保护。浪涌保护包括一个TVS管,可以有效抑制类似于脉冲5的干扰,能够保证系统的良好的电磁兼容特性。EMI静噪滤波器是一款小尺寸、引线型结构,实现了良好的高频性能。π型滤波电路能进一步滤除噪声,净化进入后端电路的电源。DC-DC处理结合实际应用完成各种类电源转换。

  UDS诊断仪的软件采用模块化分层设计的思路,UDS诊断仪软件底层的驱动模块都封装成dll链接库,向中间层或者是应用层提供应用接口。

  CAN协议栈或者是平台协议栈也是调用底层提供的dll库接口来实现协议栈的功能。供应商应用软件或者是用户应用软件调用底层或者是协议栈层软件提供的接口,实现用户功能。系统软件的层级结构如图4所示。