汽车电控模块在线配置系统设计

2024-02-23 01:38杜玉峰秦春清覃海挥
汽车与驾驶维修(维修版) 2024年1期
关键词:通讯服务器流程

杜玉峰、秦春清、覃海挥

(上汽通用五菱汽车股份有限公司,柳州 545007)

0 引言

汽车生产是一个多厂家合作的过程,相关的汽车模块厂家根据国际标准生产特定的汽车模块和零部件。这些汽车模块在车辆下线时就已经批量刷写好了相关的电控单元(Electronic Control Unit,ECU)程序并给予相配的通讯协议[1]。车辆模块ECU配置系统主要将储存于本地服务器中的ECU配置值写入对应车辆ECU中,保证各ECU通过车载总线正常通讯,并上传配置结果至制造执行系统(Manufacturing Execution System,MES)供生产商查看。

在互联网和通讯技术不断发展的情况下,车内控制网络的发展决定着车内模块ECU不断增多[2]。ECU配置所需要的车辆配置信息,由人工整理方式录入到本地数据库这一方式已经不再适合实际生产。与此同时,目前所使用的本地数据库的品种代码数量也在快速增加。面对大量的车辆配置信息数据,人工更新本地数据库的方式效率低下,在数据管理方面更新维护复杂,且人工整理过程中容易出现数据录入错误,配置协议版本不匹配等错误,导致生产下线受到一定影响。所以,针对上述问题,必须对现有传统人工ECU配置系统作相应升级。

1 在线配置系统方案

在线配置系统主要分为两部分,包括数据管理端和在线配置工位端。数据管理端主要负责下线检测的数据管理,包括检测情况查询、在线检测协议发送和车辆信息管理等需求。在线配置工位与车辆直接接触,完成检测的实际操作内容。主要方案如图1所示。

汽车在流水线生产时,自身会携带一份随车卡记录在装配期间的相关信息,其中包括车辆识别代码(Vehicle Identification Number,VIN)和车辆配置代码(Vehicle Scheme Number,VSN)。由引车员使用扫描枪对车辆随身码进行扫描,获得的车辆相关信息发送至测试电检服务器,测试电检服务器则根据此信息对配置服务器进行数据请求。

在线配置服务器根据获得的车辆信息在其数据库内部进行数据检索,检索到车辆相关配置信息后,经由中间件进行车辆信息的处理,再将车辆配置信息发回。发回的车辆配置信息(如ECU配置协议等)被提取并保存在本地数据库中,同时测试终端也获得此ECU的在线配置协议。测试终端根据在线协议对车辆进行相关通讯检测,得到检测反馈结果后,将车辆各ECU的配置结果保存于本地数据库,同时也将配置结果上传到在线配置服务器中,以更新车辆数据状态供管理端查询检测实时情况。基本流程如图2所示。

图2 方案业务流程图

2 在线配置系统架构

在线配置系统架构主要包括系统部署结构设计和软件流程设计。考虑车辆配置过程与配置设备的通讯、数据库与检测应用的通讯以及服务器与检测应用的通讯等流程,设计的系统在符合上述要求的同时,还必须保证有良好的交互界面交予操作员使用。

2.1 在线配置系统部署结构

系统结构主要分为3个部分,仿照传统的软件MVC(View,Controller,Model)三层架构设计。具体的部署结构图如图3所示。

图3 系统部署结构图

表示层(View)主要在系统结构中负责承担用户输入、数据显示和状态显示。

控制层(Controller)主要负责整个系统内部处理逻辑,承担着包括车型信息匹配、通讯板卡初始化、IMMO钥匙匹配检测以及车辆模块ECU在线配置等主要处理流程。除此之外,控制层还需要接收表示层所传入的相关请求,经由内部处理逻辑处理结束后返回给表示层相关的处理结果。控制层也会根据内部处理逻辑需要与数据层进行交互,以提取或者更新数据库数据。

数据层(Model)主要负责系统的数据存储和提取。

在线配置系统部署结构中,电检服务器是一个较为特殊的部分。为了方便对诊断数据和结果的直接管理,通常检测的相关数据在本地数据库存储的同时也必须上传至电检服务器。这样可以在数据管理部门和线下的在线配置工位相互分隔的同时,保持检测数据的实时更新同步。

2.2 在线配置系统软件流程

根据在线配置系统的设计方案,设计出如图4所示的软件流程。完整的软件流程由车辆配置信息的获取和ECU在线配置两大部分组成。

图4 在线配置系统软件流程图

车辆配置信息的获取主要分为两个部分。第一部分为实时获取,即产线引车员利用扫描枪扫描车身的VIN码和VSN码获得车辆特定信息,根据此信息向在线服务器请求在线配置数据,并将所得到的数据存储进本地数据库。第二部分为批量下载部分,在线配置工位的服务器运行获取在线配置的后台程序,此后台程序定时向数据管理端服务器发动请求,下载数据管理端在线服务器中对应总线上的车辆配置信息,并保存在本地数据库中,作为数据管理端在线配置服务器宕机或者网络繁忙时的备用数据源。

ECU在线配置由特定的模块完成,经由应用层将获取到的ECU配置值通过车机通讯写入对应的车辆ECU中,以保证各个ECU之间的正常通讯。

3 车辆在线配置功能开发

确定在线配置系统结构之后,根据在线配置的软件流程设计,对车辆在线配置功能进行开发。目前车厂进行在线配置过程必须根据模块通讯协议进行。

3.1 在线配置通讯协议

目前车内通讯架构各个模块的数据交流一般使用车内控制器局域网络(Controller Area Network,CAN)通讯以及LIN(Local Interconnect Network)总线。某车型车内网络如图5所示。

图5 车内通讯网络

通讯架构内部自带网关控制器,负责协调不同结构和特征的CAN总线网络及其他数据网络之间的协议转换、数据交换和故障诊断等工作。不同总线系统的输出数据到达网关后,网关做进一步的处理,在网关中过滤各个信息的速度、数据量和紧急程度,并在必要时进行缓冲存储。同时,网关还要对系统故障进行监控和诊断[3]。ISO 11898-1《数据链路层和物理层信号》协议定义了CAN总线数据帧如图6所示[4]。

图6 标准格式和扩展格式的CAN总线数据帧

目前车辆使用较为广泛的是基于CAN总线的检测技术,且主流的通讯协议模型如图7所示。网络层、传输层和会话层使用ISO-15765协议(CAN诊断协议)为应用层提供控制接口的同时对通讯时间参数、通讯流控制等进行规定[5-6]。无论底层使用哪种通讯技术,一般来说应用层依旧使用ISO-14229协议,即统一诊断服务(Unified Diagnostic Services,UDS)协议[7-8]。UDS诊断协议规定了一些列的诊断服务,具体如表2所示(只列出与在线配置相关部分)。

表2 UDS诊断服务列表

图7 基于CAN诊断的OSI通讯模型

3.2 ECU安全访问

一般来说,车辆防盗控制器模块和ECM模块都内置了安全访问服务,在进行在线配置或其他检测过程前都需要通过其安全访问机制。当对应的ECU内部进入“安全模式”,才能对内部配置值进行改写。

安全访问服务是一种加密保护机制,加密策略采用了种子和密钥相关联的方法[9],种子和密钥长度都为32 bit。每次匹配设备与模块ECU请求种子时,模块ECU内部软件会产生一个随机的种子,测试设备接收此随机种子进行内部计算,计算得到的密钥重新发送给模块ECU进行密钥匹配。如果密钥正确匹配,则自身解锁。具体安全访问流程如图8所示。

图8 设备ECU安全访问流程

在进入模块ECU安全模式之前,配置设备首先需要发送“10 03”指令进入“10”诊断服务,服务子功能为“03”,进入模块ECU扩展会话模式。进入扩展会话之后,配置设备发送“27”诊断服务内“01”子功能请求计算种子;收到模块ECU返回的请求种子进行计算之后,进入“02”子功能发送密钥进行密钥比对。若模块ECU密钥匹配正确则发送“6702”正反馈,并内部解锁。

3.3 在线配置通讯

目前汽车厂所使用的车辆配置流程主要是根据所采购的相关模块ECU通讯协议所规定。通讯协议包括了对模块ECU的模式设定,以及对特定的信号输入的正负反馈和应答操作等信息。

使用配置设备与ECU进行通讯,进入某一项配置功能时,软件会根据协议过程对模块ECU进行一系列的信号发送,并接收模块ECU的反馈数据。而模块ECU此时会根据配置设备所给的特定信号触发内置的特定程序,结合传入的配置数据以刷新配置状态。具体以BCM模块为例,其在线配置流程如图9所示。

图9 BCM模块在线配置流程

在BCM模块的配置流程中,配置设备首先尝试与模块ECU进行通讯,即发送“3E 00”指令来判断通讯线束是否正常连接至车辆。一般经过3次通讯无响应之后,程序提示“诊断线束未连接”。正常链接通讯后,模块ECU返回“7E 00”正响应。

在进行任何诊断服务或者检测服务前,一般都要对车辆信息进行识别和确认。配置设备发送“22”进入诊断服务读取模块ECU的内置车辆信息(VIN码),以供配置工位操作员确认。

VIN码确认后,配置设备根据此VIN码请求在生产服务器或直接在本地数据库中查询车辆配置信息。配置信息获取之后,配置设备与模块ECU通讯进入“安全访问模式”,此时模块ECU解锁。配置设备发送“2E”请求修改地址为“F1 B9”的设备内部配置代码,并随后发送“22”请求回读模块ECU内部配置代码与获取(在线/本地)的配置代码进行匹配。匹配正常后配置设备发送清除故障码代码,结束与特定模块的通讯。

4 软件界面设计

软件界面负责完成用户输入、数据显示和状态信息显示3个功能。良好的软件界面会给配置操作人员提供良好的人机交互界面,以获得较好的交互体验,减轻操作人员的操作难度。

本系统主界面由车辆信息栏、状态提示栏和联网状态栏3大板块组成(图10)。状态提示栏占用较大页面,可以给操作人员提供较为容易关注到的操作信息。车辆信息栏主要是在操作人员使用扫描枪扫描随车卡的条形码后,随即显示车辆VIN码和VSN码等车辆信息,供操作人员与车身VIN码和VSN码比对。联网状态栏主要显示配置设备的联网状态,供操作人员了解配置前信息请求和配置后信息上传的网络状态。

图10 软件主界面

软件配置界面由功能选择和设置两大板块组成(图11)。功能选择包括了各个模块的在线配置选项,这使得数据库在进行配置协议存储时,可以按照不同模块进行分类优化,以获得较快的查询速度。

图11 软件配置界面

5 结束语

本文针对目前汽车总装后对下线检测过程中,设备ECU配置流程所存在的问题,提出了一种新的在线配置系统的解决方案,包括了方案设计、实际系统架构设计以及软硬件设计。此方案对目前汽车厂商的配置协议管理、配置流程等都有着良好的参考作用。此在线配置系统将数据管理端和在线配置工位几乎完全解耦合。这对下线车辆的配置数据、车辆配置状态等信息提供了输出与输入结构。这也为车厂对车辆下线检测的完整数据分析提供了较好的数据综合管理。

猜你喜欢
通讯服务器流程
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
吃水果有套“清洗流程”
通信控制服务器(CCS)维护终端的设计与实现
违反流程 致命误判
中国服务器市场份额出炉
得形忘意的服务器标准
通讯简史
本刊审稿流程