- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DBC汽车CAN报文远程采集与分析系统设计
基于DBC汽车CAN报文远程采集与分析系统设计 摘 要 应用CAN网络信息描述文件DBC,实现从汽车CAN总线上实时获取网络中所有节点的工况数据,并利用移动通信技术实现远程中心系统实时监测汽车内部ECU的工作状态,为汽车研发及试验提供重要参数,为汽车售后服务提供基础数据。 【关键词】CAN ECU DBC 远程采集分析 1 引言 随着CAN总线技术在汽车上的广泛应用,汽车上集成车载智能电子系统种类繁多,电子系统核心是ECU,例如:电子稳定控制系统(ESP)、防抱死制动系统(ABS)、电子驻车制动系统(EPB)等。虽然汽车自动化程度越来越高,但内部结构也日趋复杂。因此,实时监测ECU工况数据是汽车研发及试验过程中一项重要的工作。 1.1 CAN总线 CAN是德国博世在1986年研制出面向汽车的总线协议,随后英特尔推出第一款CAN控制芯片,标志着CAN总线技术的正式诞生。CAN已通过ISO11898 和ISO11519国际标准,其高性能特性不仅被应用于汽车工业,还广泛应用于各种自动化领域,成为当前技术发展的热点之一。 1.2 DBC文件 DBC文件是由德国维克多公司发布的,它被用来描述单一CAN网络中各逻辑节点信息,依据该文件可以开发出用来监视或分析CAN网络中所有逻辑节点的运行状态,也可以是有针对性的ECU通信应用软件。 2 系统设计 2.1 业务描述 本系统主要业务功能是依据DBC文件,动态配置CAN数据采集表,对收到的CAN数据依据信号关系快速转换、清洗及分类,并对每种信号进行统计存储,最终通过Matlab引擎和amCharts图表控件实现数据分析,以图表方式将工况数据展现出来。 2.2 数据通信设计 本系统依据TCP/IP网络协议,采用异步I/O模型实现Socket通信处理,有效提高系统并发量。其通信数据结构定义如下: (1)总体封包结构(或称消息结构)由{标识位}+{消息头}+{消息体}+{检验码}+{标识位}组成。一个封包数据称为一条消息,它可能被拆分成多个子封包后再进行无线传输。这里的标识位用来表示一条消息的起始和结束,消息头用来表示消息特有的属性,消息体携带的是用户数据,检验码用来保障数据准确性。(2)消息头结构由{消息ID}+{消息属性}+{终端设备ID}+{消息流水号}+{封包项组成},被用于附加每条上报消息的特殊属性。(3)消息体结构可根据实际业务进行扩展,本系统主要实现CAN数据上报,其结构由{流水号}+{信号数据总包数}+{数据长度}+{时间序列}+{CAN数据}组成。车载终端依据上述封包结构对汽车CAN报文进行封包,并以每秒的频率向实时上报,并且需保障某一个毫秒系列的数据封包中,不能出现重复的数据。 2.3 DBC文件处理 DBC文件编译器用来从文件中提取CAN总线逻辑信息,包括ECU逻辑地址(或称CANID),ECU对象结构信息,ECU对象提供的信号对象结构信息,并且被转化为一系列哈希映射关系,为CAN数据转换信号值提供快速映射。依据Vector发布的DBC文件规范,以厂商提供的某一路CAN对应的文件为例,其文件结构如下所示: VERSION NS_ : BU_SG_REL_ BU_BO_REL_ BS_: BU_: TCU SRS EMS BO_ 824 TCU_338: 8 TCU SG_ AT_SlopeRatio : 31|8@0+ (0.2,-25) [-25|25] % EMS SG_ AT_ClearDiagnosticInfo : 9|2@0+ (1,0) [0|3] EMS BO_ 616 TCU_268: 8 TCU SG_ AT_VehicleSpeed : 28|13@0+ (0.05625,0) [0|360] km/h SG_ AT_NeutralControl : 6|1@0+ (1,0) [0|1] EMS 该文件经过编译转换后,除了在程序内存中建立了映射表外,还被转化为采集配置表,为用户进行动态采集提供依据。ECU对象信息表提供ECUID,CANID,ECU名称等。信号对象信息表提供信号ID,ECUID,信号名称,信号起始位,信号偏移量,信号类型,信号值有效范围等。文件编译处理流程如下: (1)从文件中提取ECU对象的CANID,如:“BO_616”,并开辟一个对应的ECU对象内存,取得该内存地址值作为该ECU对象内存ID,将该内存ID与该CANID绑定,通过CANID就可以快速取得ECU对象内存地址信息。 (2)从文件中提取该ECU对象全局信息,包括ECU名称、信号周期,存入步骤(1)已开辟的ECU对象内存结构中,如:“BO_616
原创力文档


文档评论(0)