收藏 分销(赏)

CAN总线协议自适应算法研究.pdf

上传人:自信****多点 文档编号:523647 上传时间:2023-11-06 格式:PDF 页数:5 大小:1.92MB
下载 相关 举报
CAN总线协议自适应算法研究.pdf_第1页
第1页 / 共5页
CAN总线协议自适应算法研究.pdf_第2页
第2页 / 共5页
CAN总线协议自适应算法研究.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 61 卷 第 8 期Vol.61 No.82023 年 8 月August 2023农业装备与车辆工程AGRICULTURAL EQUIPMENT&VEHICLE ENGINEERING0 引言随着对重型车污染物排放监管力度的加大,国家生态环境部发布的 GB17691-2018重型柴油车污染物排放限值及测量方法(中国第六阶段)明确规定所有国车型必须安装 OBD 车载终端,使用 SAEJ1939、ISO15765、ISO27145 通信协议实现 OBD 车载终端与车辆 CAN 总线的通讯,对发动机尾气排放状况进行实时监控和故障诊断1。由于各个主机厂采用的通信协议类型不尽相同,致使不同车型的通

2、信参数配置也存在较大差异2。整车各控制域 CAN 通道通信参数一致时,车载终端系统可以快速配置相同的通信参数并实现通信,但是由于车型更新、配置升级、网络结构优化等需求变化,整车各控制域通信机制也不断调整,导致单个车辆的多通道CAN总线可能存在不同的波特率、通信协议,车载终端若无法实现通信协议自适应,将导致其与车辆 ECU 通讯失败,无法起到 OBD 车载终端的实时监控诊断功能3。目前存在的 CANdoi:10.3969/j.issn.1673-3142.2022.08.024CAN 总线协议自适应算法研究李青涛1,钱枫1,3,王明达2,王洁1,祝能1,王超1(1.430081湖北省武汉市武汉科

3、技大学;2.100012北京市中国环境科学研究院;3.264207山东省威海市山东鸣川汽车集团有限公司)摘要 为提高环境空气质量,减轻重型柴油车排放尾气对大气的污染,重型柴油车后处理系统功能和配置不断改进,整车通信网络也不断升级优化,导致车辆多通道 CAN 通信参数包括波特率和通信协议类型存在差异,加装的OBD 车载终端与车辆 CAN 总线适配困难。针对此类问题,提出一种 CAN 总线协议自适应算法,该算法通过波特率自动识别和特征字识别对 CAN 总线协议进行精确辨别,应用于 OBD 车载终端,实现对重型车不同通道 CAN 总线上通信协议类型的自动识别。通过模拟实验和实车测试从不同角度进行验证

4、分析,实验结果表明,应用 CAN 总线协议自适应算法的 OBD 车载终端对车辆常用 CAN 总线协议有较高的识别率和准确率,能高效自动识别车辆各通信参数,实现与车辆高效匹配连接并进行稳定的数据传输。关键词 CAN 总线;通信协议;自适应;OBD 车载终端 中图分类号 TP273 文献标志码 A 文章编号 1673-3142(2023)07-0120-05引用格式:李青涛,钱枫,王明达,等.CAN 总线协议自适应算法研究 J.农业装备与车辆工程,2023,61(8):120-124.Research on adaptive algorithm of CAN bus protocolLIQingt

5、ao1,QIANFeng1,3,WANGMingda2,WANGJie1,ZHUNeng1,WANGChao1(1.WuhanUniversityofScienceandTechnology,Wuhan430081,Hubei,China;2.ChineseResearchAcademyofEnvironmentalSciences,Beijing100012,China;3.ShandongMingchuanAutomobileGroupCo.,Ltd.,Weihai264207,Shandong,China)AbstractInordertoimprovetheambientairqual

6、ityandreducetheairpollutioncausedbytheexhaustgasofheavy-dutydieselvehicles,thefunctionsandconfigurationsoftheafter-treatmentsystemofheavy-dutydieselvehicleswerecontinuouslyimproved,andthecommunicationnetworkofthewholevehiclewasalsocontinuouslyupgradedandoptimized,resultinginthemulti-channelCANcommun

7、icationparametersofvehiclesincludingBaudrateandcommunicationprotocoltype,anditwasdifficultfortheinstalledOBDvehicleterminaltoadapttothevehicleCANbus.Therefore,aself-adaptivealgorithmofCANbusprotocolwasproposed.ThealgorithmaccuratelydistinguishedtheCANbusprotocolthroughBaudrateautomaticrecognitionand

8、characteristicwordrecognition.ItwasappliedtoOBDvehicleterminaltorealizetheautomaticidentificationofcommunicationprotocoltypesonCANbusofdifferentchannelsofheavyvehicles.Throughthesimulationexperimentandrealvehicletest,theverificationandanalysiswerecarriedoutfromdifferentangles.Theexperimentalresultss

9、howedthattheOBDon-boardterminalusingtheadaptivealgorithmofCANbusprotocolhadahighrecognitionrateandaccuracyforthecommonlyusedCANbusprotocolofthevehicle,couldeffectivelyandautomaticallyidentifythecommunicationparametersofthevehicle,realizetheefficientmatchingconnectionwiththevehicleandcarryoutstableda

10、tatransmission.Key wordsCANbus;communicationprotocol;adaptive;OBDon-boardterminal收稿日期:2022-06-24121第 61 卷第 8 期总线转换器多数是协议转换或者是波特率转换,功能单一,不能对 CAN 总线各通信参数进行较完整的识别,且应用于车载终端系统,不仅增加成本,而且也会降低数据传输效率和增加误码率4-5;汽车 OBD 诊断仪可以识别车辆各种通信参数,但是需要手动选择匹配,使得量产的车载监控终端安装使用更为繁琐。针对当前国重型车适配的 OBD 车载终端对CAN 总线波特率和协议类型不能进行自动识别,为了

11、提高终端的通用性、兼容性和自适应性,设计了一种 CAN 总线协议自适应算法。该算法首先通过轮询法对 CAN 总线的波特率进行准确识别;其次利用协议通信模式特征和数据包特征字符对车辆各 CAN 通道总线通信协议类型进行自动识别,相对于单一的识别算法,该算法识别率和准确率更高,可以快速匹配车辆总线并进行可靠的数据通信。1 硬件环境介绍OBD 车载终端遵循模块化设计原则,旨在降低整体设计复杂程度6。车载终端通过 CAN 数据采集模块采集车辆实时运行数据、诊断数据、状态参数以及其他需求信息,经加密签名后,利用 2G或 4G 无线通信模块按照国标准规定的通信协议上传于网络平台。图 1 是终端系统硬件架构

12、,MCU选用国产芯片 GD32F403RC,负责整个系统的运行调度,具有低功耗、高集成度和高性能的特点。CAN 控制器与车辆 CAN 总线的硬件连接如图2 所示。CAN 收发器采用恩智浦公司的 TJA1042 芯片,控制车辆 CAN 总线信号采集工作。CAN 收发器与车辆上的 CAN 总线之间采用双绞线形成的差分信号进行异步串行通信,依靠收发器中的位定时寄存器对总线电平分位,进而实现波特率设置;利用 CAN 总线协议实现数据的稳定传输7-8。2 CAN 总线协议自适应算法设计2.1 波特率识别波特率参数配置在 CAN 数据采集模块的底层驱动中进行设置,根据波特率的计算公式(1)-(6),只需要

13、合理设置 BAUDPSC、BS1 和 BS2 三个参数的值即可改变 CAN 波特率。BaudRate=1/Bit_Time (1)Bit_Time=tSYNC_SEG+tBS1+tBS2 (2)tSYNC_SEG=1tq(3)tBS1=(1+BS1)tq(4)tBS2=(1+BS2)tq (5)tq=(1+BAUDPSC)tpclk1 (6)式中:BaudRate 波特率;Bit_Time 位时间;tSYNC_SEG同步段占用时间单元;tBS1 位段 1总时间单元;tBS2位段 2 总时间单元;tq 最小时间单元;tpclk1总线系统时钟周期;BS1、BS2位段 1、位段 2;BAUDPSCC

14、AN 总线系统时钟预分频系数。MCU 内部集成的 CAN 控制器功能模块有 3 种工作状态:初始化状态、正常通讯状态和睡眠状态,通信过程中处于正常通讯状态。寄存器 CAN_INTEN 是 CAN 中断使能寄存器,控制各个中断使能位,如图 3 所示。其中位 2 和位 5 分别是接收 FIFO0 和 FIFO1 满中断使能位,1 使能,0 禁用;位 15 为错误中断使能位,1 使能,0 禁用。在CAN 处于正常通讯状态时,分别使能寄存器 CAN_INTEN 位 2、位 5 和位 15,读取 CAN_RFIFO0 接收 FIFO0 寄存器、CAN_RFIFO1 接收 FIFO1 寄存器和 CAN_E

15、RR 错误寄存器的状态值,判断当前波特率是否正确。基本模块CAN 模块USB 模块 GPS 定位模块 4G 联网模块调试模块电源模块晶振模块复位模块下载模块AI 接口 DI 接口DO 接口 ACC检测防拆除检测本地存储外置存储SD卡安全芯片LED 状态指示 基本接口通信模块MCUSPI 总线ADGPIOCANUSBUSART基本模块图 1 终端系统结构示意图Fig.1 Schematic diagram of terminal system structure图 2 终端 CAN 模块与车辆通信示意图Fig.2 Schematic diagram of terminal CAN module

16、and vehicle communicationstructure李青涛等:CAN 总线协议自适应算法研究122农业装备与车辆工程 2023 年汽车 CAN 总线上广泛使用高速 CAN:250kB/s和 500kB/s9,考虑到车载终端与车辆匹配使用的特性,车载终端仅需要检测车辆总线上这 2 种波特率即可。波特率自适应流程如图 4 所示,在自动识别波特率过程中,控制器不断读取错误寄存器的状态值并进行判断,若有错误中断发生,说明当前波特率不正确,错误寄存器累加计数,当计数值大于设定的错误报文阈值时,设置波特率参数,切换波特率;若无错误中断发生,说明当前波特率正确,波特率匹配成功。2.2 协议类

17、型识别协议类型主要通过不同协议通信模式特征进行区分。SAEJ1939 协议、ISO15765 协议和 ISO27145协议均以开放式系统互联参考模型为基础进行制定,相比OSI的7层协议,3种诊断协议在物理层、数据链路层、网络层和应用层进行详细规定,并且各有不同,总线通信机制也具有很大差别10-13。如图 5所示,对于 SAEJ1939 协议,通讯报文多以广播形式发送于 CAN 总线,对于特定需求的消息报文,需要节点请求相应 PGN 来获取;对于 ISO15765 协议和 ISO27145 协议,所有通信报文是基于请求回复型的通信机制,需要节点周期间隔性请求信息才能获取数据。因此,根据总线上报文

18、通信模式特征即可区分是广播型 SAEJ1939 协议还是请求回复型 ISO15765 或 ISO27145 协议。如表 1 所示,可以根据各协议通信模式特征的不同,先区分出广播型协议和请求回复型协议。对于广播型协议如 SAEJ1939 协议,车辆各个电控节点会周期性向 CAN 总线上发送数据,当波特率匹配一致时,终端会接收到相应报文,终端以此来初步区分广播型和请求回复型协议。表 1 通信模式特征区分 Tab.1 Communication mode feature distinction类别协议区分通信模式广播型协议请求回复型协议协议类型SAEJ1939 协议ISO15765 或 ISO271

19、45对于请求回复型协议 ISO15765 协议和 ISO27145 协议,利用特征字匹配算法对数据流中的净荷内容的更深层次的扫描和匹配,识别数据报文中的指纹信息,与已定义的特征字进行匹配比对,进而确定协议类型。ISO27145 协议虽然基于 ISO15765 协议制作,但是两者在一些固定的参数标识符上存在较大不同,因此可以根据静态特征标识符进行区分14,ISO15765 协议和 ISO27145 部分服务标识符 SID 和参数标识符 PID 对比如表 2 所示。表 2 ISO 15765 协议和 ISO 27145 部分 SID 和 PID 对比 Tab.2 Comparison of par

20、tial SID and PID between ISO 15765 protocol and ISO 27145序号 数据项SIDPIDISO15765 ISO27145ISO15765 ISO271451VIN012202F8022IUPR012207F8073车速09220DF40D4转速09220CF40C图 3 CAN_INTEN 中断使能寄存器Fig.3 CAN_INTEN interrupt enable register3118171615141211109876543210保留SLPWIEWIEERRIE保留ERRNIE BOIEPERRIEWERRIE 保留PFOIE1 R

21、FFIE1RFNEIE1RFOIE0RFFIE0RFNEIE0TMEIER/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W图 4 波特率自动识别图Fig.4 Baud rate automatic identification diagram图 5 广播型协议和请求回复型协议消息传输机制对比Fig.5 Comparison of broadcast and request-reply protocol message transmission mechanisms123第 61 卷第 8 期李青涛等:CAN 总线协议自适应算法研究依据不同数据流的传输规则

22、,特征字匹配识别存在单帧识别与多帧识别的差别,单包识别通过单帧报文匹配即可确定协议类型,多帧报文匹配则需多次检验比对才能准确辨别协议类型。本文特征字匹配识别主要考虑多帧报文的识别,报文特征字匹配处理流程如图 6 所示,通过逐包分析和匹配的识别技术,对CAN总线协议能做到比较准确的识别。2.3 CAN 总线协议自适应算法实现自适应算法的核心思想是根据车辆上多通道CAN 总线通信参数的差异动态匹配车载监控终端的波特率和通信协议,各通信参数配置格式如表3所示。表 3 CAN 总线通信参数配置Tab.3 CAN bus communication parameter configuration序号 波

23、特率/(kB/s)协议类型帧类型通道1250/500SAEJ1939扩展帧CAN1/CAN22250/500ISO15765 标准帧/扩展帧 CAN1/CAN23250/500ISO27145 标准帧/扩展帧 CAN1/CAN2组合公式为式中 n 与 m 均为自然数。可知共有 24 种组合方式,但由于 SAEJ1939 只有扩展帧格式,实际上只需考虑 20 种匹配方式。CAN 总线协议自适应算法实现流程如图 7 所示。具体步骤:(1)在终端启动自检后,会从FLASH 配置区读取保存的协议检测状态参数,若协议已经检测成功,则直接省略检测步骤;若未检测成功,则开始初始化 CAN 通信参数,执行协议

24、检测程序。(2)车载终端在尚未确定车辆总线各通信参数的情况下处于监听检测模式,终端在规定时间内循环监听检测各通道上的报文信息。(3)检测各通道总线上是否有接收错误产生或者数据格式不正确或未接收到数据,如果有则表示当前波特率不匹配或协议错误或者总线处于空闲状态;反之,说明当前通信通道波特率、协议类型及数据帧类型与车辆上通信参数一致。(4)若协议检测成功,则保存当前通道的通信参数,该通道可正常通信;若还未检测成功,则轮询切换协议及波特率类型,直至匹配成功为止。为提高协议检测效率,进行以下优化:(1)依据 CAN 总线波特率使用广泛性,各通信通道的波特率默认设置为 250kB/s。(2)由于重型汽车

25、多采用 SAEJ1939,故终端初始匹配的各通道协议类型均为 SAEJ1939。(3)自适应算法是利用轮询遍历方式进行检测参数,参数检测时间需设定上限,该项服务时间必须考虑总线信息访问冲突、信息传递延时时间15、报文优先级及周期性报文时分调度等因素的影响,保障各个检测部分的公平性16。(4)考虑到检测过程中的软硬件运行环境变化,设置循环检测次数上限,到达次数上限后终端自动重启,重新开始循环检测,提高正确匹配性能。(5)为进一步增强 OBD 车载终端的 CAN 总线协议的自适应性能,对于终端出厂后未配置任何通信参数、外界干扰导致终端和车辆通信异常、车辆升级或其他原因导致总线波特率改变等特殊情况,

26、软件设计中加入了总线通信参数实时判断并配置功能。3 CAN 总线协议自适应算法验证对 OBD 车载终端的 CAN 总线协议自适应算法实验验证主要利用的工具有车载 24V 电源、周立功CAN 适配器、PC 机、车载终端、仿真器和串口线束及其他线束,用 CANTest 测试软件和 SecureCRT调试终端对车载终端中 CAN 总线协议自适应状态进行记录。实验之前,将电源、CAN 适配器、PC 机、车载终端、仿真器和串口线束连接可靠。图 6 特征字匹配处理流程Fig.6 Feature word matching processing flow图 7 CAN 总线协议自适应算法实现流程Fig.7

27、CAN bus protocol adaptive algorithm implementation process124农业装备与车辆工程 2023 年以重型柴油车为测试对象,针对不同车型进行测试,进一步观察 OBD 车载终端的 CAN 总线协议自适应性能。终端在车辆上安装成功后,对多通道的 CAN 总线协议进行自动识别。结果表明,OBD车载终端的 CAN 总线协议自适应模块能正常满足功能需求,实现与车辆总线协议可靠匹配,其中两通道上的 SAEJ1939 协议和 ISO15765 协议自适应实验环境和日志信息如图 8、图 9 所示,实验结果和实车各通道总线协议一致。4 结论(1)本文在重型车

28、适配的 OBD 车载终端基础上设计了一种 CAN 总线协议自适应算法。通过对CAN 总线波特率轮询识别、协议通信模式特征识别和特征字匹配识别等多种识别方法的结合大大提高了协议的识别率和准确率,利用 CAN 总线协议自适应算法使终端对车辆总线通讯参数具备自动识别能力,进一步优化了OBD车载终端的应用性能。(2)实验结果表明,应用 CAN 总线协议自适应算法后的 OBD 车载终端能在不同通道上完成各通信参数的自动识别,并可识别多种 CAN 总线通信协议,实现快速匹配,适应多样化的需求。算法系统具有较高的稳定性和实用性,大大提高 OBD车载终端的实际使用性能和应用范围。(3)本文设计的 CAN 总线

29、协议自适应算法已广泛应用于雄安、烟台、义乌、西宁、杭州等地重型车的 OBD 车载终端,并与山东凯马汽车制造有限公司深度合作。实践表明,OBD 车载终端应用CAN 总线协议自适应算法,很好地解决了重型车上出现的多通道通信参数不同导致车载终端与车辆总线适配困难的问题,具有显著的工程实践意义。参考文献1生态环境部大气环境管理司、科技标准司.重型柴油车污染物排放限值及测量方法(中国第六阶段):GB17691-2018 S.北京:中国环境科学出版社,2018.2何鑫,张会新,刘文怡,等.多通道波特率自适应 CAN 总线监测系统 J.仪表技术与传感器,2022(01):62-65,70.3ZHONGSho

30、uyang,CHENBin,LIANGQiankun,etal.DesignandimplementationofdetectionandadaptationplatformbasedonCANbusC/2021IEEEInternationalConferenceonPowerElectronics,ComputerApplications(ICPECA),2021:993-997.4翟耘萱,刘志宏,张晗,等.基于 FPGA 多通道总线转换器设计 J.单片机与嵌入式系统应用,2022,22(01):84-87.5TARIQH,ABDAOUIA,TOUATIF,etal.Designandim

31、plementationofmulti-protocoldatanetworksinterfacedetectorinheterogeneousIoTsC/2020IEEEInternationalConferenceonInformatics,IoT,andEnablingTechnologies(ICIoT),2020:563-569.6邓莹,徐家明,牛方兴,等.基于 CAN 通信自适应的商用车诊断系统开发及应用 J.汽车电器,2020(08):44-47.7延娓娓.CAN 总线位定时参数优化研究 D.长春:吉林大学,2014.8史小燕,朱建鸿.波特率自适应的 CAN 驱动在嵌入式 Lin

32、ux 下的实现 J.计算机系统应用,2018,27(01):231-234.9曹海燕,戴旭东.汽车 CAN 总线系统技术及故障诊断 J.汽车实用技术,2021,46(18):167-169.10 SocietyofAutomotiveEngineers.SAEJ1939-73,Applicationlayer-diagnosticsS.US-SAE,201511 Roadvehicles-DiagnosticsonControllerAreaNetworks(CAN)Part4:Requirementsforemissionsrelatedsystems:ISO/TC22,ISO15765-4

33、S.InternationalOrganizationforStandardization,2005.12 Roadvehicles-implementationofWWH-OBDcommunicationrequirements-Part4:Connectionbetweenvehicleandtestequipment:ISO/TC22,ISO27145-4-2012S.InternationalOrganizationforStandardization,2006.13 李歆昊,张旻,韩树楠,等.基于多重分形谱的链路层协议帧同步字盲识别 J.电子与信息学报,2017,39(7):1666

34、-1672.14 李军,倪宏,陈君,等.一种应用层协议解析加速算法 J.四川大学学报(工程科学版),2014,46(4):87-93.15 蔡一杰.车载 CAN 总线延时特性分析及优化研究 D.天津:天津职业技术师范大学,2020.16 汪佳文,王书培,徐立波,等.基于权重轮询负载均衡算法的优化 J.计算机系统应用,2018,27(04):138-144.作者简介 李青涛(1997-),男,硕士研究生,研究方向:汽车智能网联技术。E-mail:通信作者 王明达(1982-),男,硕士,工程师,研究方向:机动车噪声、污染物排放检测及试验系统开发。E-mail:wangmingdavecc-图 8 实验环境Fig.8 Lab environment图 9 检测日志Fig.9 Detection log

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服