datasheet

基于LabVIEW和J1939协议的CAN总线通讯平台开发

2016-10-09来源: elecfans关键字:LabVIEW  J1939协议  CAN总线  通讯平台
 

  应用领域:商用车CAN 总线通讯

  挑战:CAN2.0B 规范的工业总线通讯、报文标识符和数据帧定义没有形成统一的标准,参数定义

  随意性很大。商用车CAN 总线通讯标准,遵循建立在CAN2.0B 基础上的SAE J1939 协议。报文标识

  符ID,按照SAE 标准制定的车速、发动机转速、扭矩、温度、压力、燃油消耗量等参数的物理定

  义,报文数据帧格式对应协议数据单元相应数据内容的封装。面临的挑战是将J1939 协议融会贯通

  于CAN 总线通讯平台的设计之中。

  应用方案:使用NI LabVIEW 软件开发平台和PXI 模块化仪器系统中的CAN 通讯模块,创建过滤

  识别J1939 协议报文标识符ID 及多帧报文按协议格式解析接收和封装发送的设计方法,并据此方

  法构建CAN 通讯平台;完成整车电环境半实物仿真、发动机台架试验CAN 总线信息的收发、存贮及

  实时计算显示。

  使用的产品:

  LabVIEW2009 软件平台

  PXI-1045 机箱

  PXI-8108 嵌入式控制器

  PXI-8464/2 CAN 通讯模块

  概述:

  进入21 世纪以来,商用车CAN 总线网络的应用得到了异常迅猛的发展。现今市面上满足国3~国5 排放标准的商用车,无一例外均应用CAN 总线网络,进行整车VECU、发动机EECU、自动变速箱ECU、汽车组合仪表ECU、车轮防抱死制动ECU 之间的数据通讯。基于J1939 协议的商用车CAN总线,针对单片机微控制器MCU 节点的MCU + CAN 控制器 + CAN 收发器的CAN 通讯接口,在车载网络控制系统中得到了大量应用;而对整车道路试验、发动机台架试验、整车电环境半实物仿真测试的上位机节点的PC 机或笔记本电脑 + CAN 通讯模块,大都使用价格昂贵的Vector CANoe 模块。

  存在的问题:

  1)PXI 测控装置无基于J1939 协议的CAN 通讯功能,不能满足试验工况对CAN 总线报文信息分析的功能需求。

  2)CANoe 模块时序不受PXI 仪器时钟速率控制,无法与PXI 时序的其它测量参数同步触发测量。

  基于LabVIEW 和J1939 协议的CAN 总线通讯技术方法,在国内汽车行业PXI 测控装置的应用属于空白,难点是如何将LabVIEW 软件开发平台与复杂的J1939 协议有效结合,实现报文信息的过滤接收、合成重组及封装发送。针对商用车CAN 总线通讯网络的特点,构建基于LabVIEW 和J1939 协议的CAN 总线通讯平台,嵌入在NI PXI 模块化接口的测控装置中,用于发动机台架试验、整车电环境半实物仿真测试。

  J1939 协议

  J1939 协议以CAN2.0B 规范为基础制定,对CAN2.0B 扩展帧29 位标识符ID 定义形成J1939 的编码系统,包括优先级P、预留位R、数据页DP、协议数据单元PF、扩展单元PS、源地址SA 和数据字节Data,如图1 所示。这七部分在开放式系统互联参考模型(OSI)应用层,通过协议数据单元PDU(Protocal Data Unit)被封装成一个或多个CAN 数据帧,通过物理层发送给总线网络其它设备节点。

  

  图1 J1939 数据帧格式

  PDU 定义了数据帧中与J1939 协议相关的信息,由标识符ID 和数据场组成。

  PDU1 格式报文PF 在0~239 之间,报文为点对点向目标地址发送,PS:报文接收的目标地址,

  SA:报文发送的源地址,在目标地址中填入255,为全局地址发送。

  PDU2 格式报文PF 在240~255 之间,报文向全局地址发送,PS:参数组扩展值,J1939 协议大部分报文为PDU2 格式。PDU 数据场包含参数组中数据内容,参数组编号PGN(Parameter Group Number)用于唯一标识参数组的号码,由一个或几个参数构成一帧或多帧报文,而参数组是应用层中定义的与某个ECU相关的若干参数(例如发动机水温、燃油温度等)的组合。

  J1939 协议与CAN2.0B 标准区别

  标识符ID:CAN2.0B 不同功能的报文信息可以使用相同的ID,根据制造商特定的协议使用CAN设备,在集成时会产生ID 不能识别或识别不一致问题。J1939 每帧报文的标识符唯一,且每帧报文都有自己的PGN,为每个节点规定唯一的源地址,并将源地址映射到CAN 标识符中,避免多个节点使用相同的标识符,例如ID:0CF00400 代表发动机转速、扭矩报文。

  OSI 模型:CAN2.0 规范定义了七层OSI 参考模型的物理层和数据链路层,是底层标准,如图2所示, CAN 总线产品的兼容性、互换性和可集成性差。J1939 是面向OSI 参考模型应用层的高层协议,在应用层定义了针对车辆应用的信号(参数)和报文(参数组)。通过参数描述信号,并给每个参数分配了一个编号SPN(Suspect Parameter Number),参数定义了PDU 数据场中字节的物理意义,例如SPN190 代表发动机转速。一个PGN 中可能有几个SPN,PGN61444 包含了SPN190 发动机转速和SPN513 发动机扭矩等参数。多帧报文:CAN2.0B 规范定义只能使用单帧报文传输,J1939 协议除单帧报文传输外,还使用对话式、广播式多帧报文传输,并按多帧数据传输协议进行打包封装发送和接收合成重组处理,其中对话式多帧报文发送接收节点需要握手协议,广播式多帧报文面向全局地址发送。

  

  图2 开放式系统互联参考模型(OSI)

  模块接口

  PXI-8464/2 双通道CAN2.0B 通讯接口模块,内含SJA1000T CAN 控制器和TJA1041T 高速CAN收发器及TJA1054AT 低速CAN 收发器。J1939 数据链路层通过PDU 格式实现报文的打包封装,通过CAN 控制器发送CAN 数据帧必须具有的同步、顺序控制、错误控制和流控制,自动产生CRC 校验位和ACK 应答位插入数据帧中。J1939 物理层协议规定了每个网段最多30 个ECU,CAN 总线通讯速率250 kBits/s,总线电平显性、隐性,差分电压3.5V/1.5V,差分传输双绞线线缆颜色CAN-H 黄色、CAN-L 绿色,CAN 收发器完成MCU 至CAN 总线之间收发电平的匹配转换。
 

  软件设计

  基于J1939 协议的CAN 总线报文收发多任务处理流程,如图3 所示,采用生产者/消费者循环数据结构。生产者循环使用“元素入队列”函数向报文簇队列中添加数据,消费者循环使用“元素出队列”函数从报文簇队列中移出数据。循环间采用队列的方式进行通信,避免多任务处理竞争状态,当生产数据比消费处理数据的速度快时,队列的缓冲作用保证报文数据不丢失。

  

  图3 基于LabVIEW 和J1939 协议的CAN 总线通讯报文收发多任务处理

  建立接收报文ID 解析过滤的识别方法。确定报文标识符ID 的枚举型状态变量识别报文,根据状态变量条件结构过滤报文。PDU1、PDU2 格式单帧报文全部入队列,数据场大于8 字节的对话式、广播式多帧报文按J1939协议多帧数据合成重组后入队列,其它无数据场的报文帧舍去,处理完的接收报文簇分解后出队列计算、存贮和显示。广播帧报文接收合成,首先进行TP.CM-BAM 命令帧解析,提取EECU 发送报文的PGN 和帧数,其次对接收的TP.DT-BAM 数据帧组报文删除帧序号,通过替换数组子集对接收报文合成重组,还原PGN 标识的数据长度大于8 字节的广播帧报文。建立发送报文ID 解析封装的识别方法。报文解析首先确定帧类型状态变量,其次根据状态变量的条件判断,进行报文格式的封装定义。数据场小于或等于8 字节的PDU1、PDU2 单帧发送报文直接入队列,数据场大于8 字节的对话式、广播式多帧报文按J1939 协议多帧数据处理打包封装簇合成后入队列,处理完的J1939 发送报文簇分解后出队列并写入CAN 口。广播帧报文发送封装,ID 解析将发送报文的PGN 封装在广播报文命令帧标识符ID-TP.CM 中,报文数组解析进行字节数和帧数计算,创建帧序号加报文子集的8 字节多帧数组,与数据帧标识符ID-TP.DT 打包封装簇合成TP.DT-BAM,TP.CM-BAM 与TP.DT-BAM 组成广播帧格式报文。

  应用效果

  在整车电环境的半实物仿真报文接收测试试验中,应用图4 所示的基于LabVIEW 和J1939 协议的CAN 总线通讯平台,与Vector CANoe 模块在同一时间段比对测试,接收的某型号发动机稳态工况EECU 报文如图5 所示,一秒内接收EECU 发出的526 帧报文,比对测试接收的报文无丢失现象。发动机燃油消耗量报文,实时反映了发动机燃油经济性,在商用车J1939 协议CAN 总线网络中,分别被车辆VECU 接收,作为换挡控制策略控制自动变速箱汽车;组合仪表ECU 接收并实时显示,提示驾驶员形成良好的驾驶习惯,操纵汽车达到最佳燃油经济性的路况行驶。为使发动机获得最佳的动力性、经济性和兼顾排放达标,需要对发动机电控单元EECU 进行标定匹配,获得最佳喷油脉宽的标定参数。标定之后做比对试验,验证EECU 的标定效果。发动机稳态工况试验,能够反映车辆的等速工况;而发动机变工况瞬态试验,能够模拟实际道路循环中发动机状态。通过将实时报文油耗和实际测量瞬态油耗的对比,研究两者之间的对应吻合关系,判断发动机EECU 的控制效果。

  

  (a)整车电环境的半实物仿真 (b)发动机台架试验

  图4 基于LabVIEW 和J1939 协议的CAN 总线通讯平台应用

  

  注:一秒内接收报文 39736 – 39210 = 526

  图5 发动机稳态工况EECU 报文

  

  图6 发动机变工况台架试验油耗比对测量

  某型号发动机十工况台架试验瞬态油耗比对测量曲线见图6 所示,从J1939 协议CAN 总线接收并解析的EECU 油耗报文数据,与台架油耗仪实测数据在发动机低负荷时存在差异,即发动机低负荷时实际喷油量较小,设定喷油量与实际喷油量的差异值较大。这个差异是因为发动机低负荷共轨轨压波动较大,导致喷油量波动变化而客规存在。两条曲线总体吻合一致,通过CAN 总线接收的发动机喷油目标值,与实际测量值接近,且变化趋势和时序同步,反映了发动机EECU 标定匹配获得了最佳喷油脉宽的目标值。

  总结

  基于LabVIEW 和J1939 协议的NI PXI 模块化系统架构的CAN 总线通讯平台的开发,建立了NICAN 模块在商用车CAN 总线通讯的应用基础,项目具有推广和商品应用前景。在发动机台架试验、整车电环境半实物仿真分析中,实现对CAN 总线报文信息的过滤识别、合成接收、封装发送、存贮、解析计算及实时显示。应用LabVIEW 软件平台强大的数学分析运算及队列处理能力,以及适应整车苛刻测试环境的NI PXI 仪器及CAN 接口模块,满足试验工况对CAN 总线报文信息解析的功能需求,同时实现对报文数据与NI PXI 仪器其它测量参数同步采样,试验数据比对分析处理具有实时性和真实性。


关键字:LabVIEW  J1939协议  CAN总线  通讯平台

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/article_2016100917616.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:如何实现对示波器的远程控制
下一篇:测量仪表设计关键之数据采集(一)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Dr. T与Jeff Kodosky入选美国国家发明家名人堂

1976年,Dr. T与Jeff Kodosky等人共同创立NI公司。40多年来,NI致力于开发高性能的自动化测试和测量系统,旨在帮助客户解决当前和未来的工程挑战。 eff Kodosky(右一)与Dr. T(右二)三十年磨一剑,NI LabVIEW平台自面世以来,提供无与伦比的图形化编程方法,为用户轻松集成测量硬件、在程序框图上展示复杂的逻辑、开发数据分析算法以及设计自定义工程用户界面。目前,NI已推出全新的LabVIEW 2018与LabVIEW NXG版本,持续为工程设计提供最佳测试性能。 到2018年为止,已有562名发明家入选美国国家发明家名人堂,其中包括电话发明者Alexander Graham Bell、X射线光谱仪
发表于 2019-01-17
Dr. T与Jeff Kodosky入选美国国家发明家名人堂

更快更灵活,NI推出LabVIEW NXG最新版本

NI (美国国家仪器公司,National Instruments,简称NI) 是一家以软件为中心的平台供应商,致力于帮助用户加速自动化测试和自动化测量系统的开发和性能,该公司今日宣布推出LabVIEW NXG最新版本,这充分证明了NI对其下一代LabVIEW工程系统设计软件的持续投资。 最新版本的LabVIEW NXG简化了自动化测试和测量应用中一些最耗时的任务,如设置和配置系统、编写测试和测量代码以及开发可部署为网页的应用程序。 这些改进可帮助工程师满足日益紧迫的上市时间要求。 NI平台软件副总裁Dave Wilson表示:“自2017年LabVIEW NXG首次亮相以来,我们一直在努力让工程师和科学家
发表于 2018-11-30

LabVIEW之父:如何提高抽象层级改进软件效率

日前,在NIWEEK 2018上,NI共同创始人、Fellow、有着LabVIEW之父称号的Jeff Kodosky做了主题演讲,他畅谈了未来LabVIEW的软件架构。未来,LabVIEW将可通过更高级的抽象,实现在一个程序框架中对上位机和FPGA同时编程,双方的数据交互在统一平台下执行,而不像过去通过队列形式实现。这会给编程带来更大的便利性,尤其是面对复杂系统,采用更高级的编程语言可加速用户的开发周期。“就好像开车一样,如果你需要加速,采用自动变速箱直接踩油门的方式比手动换挡便捷很多,这就是通过提高抽象级别让软件变得更加简单高效。”Jeff说道。    NI共同创始人、Fellow、LabVIEW之父Jeff
发表于 2018-05-25
LabVIEW之父:如何提高抽象层级改进软件效率

NI市场副总裁Luke:如何通过定制化软件加速到来的未来

升测试效率,另外则是通过更好的编程软件加速客户的测试程序开发周期。面临这样的挑战,NI也在积极和客户进行沟通调研。Luke说道:“根据调研结果我们发现25%的客户想要API去做调用测试,47%的客户需要测试厂商提供特定的测试需求,这意味着有72%的客户需要自己定义测试仪器。”所以相比传统的封闭测试系统来说,NI基于平台化的测试方案更适合现在的市场需求。“我们始终认为,客户最了解他们的流程。”Luke表示。如图所示,LabVIEW可涵盖全产品周期,从产品的设计,Debug,V&V到最后的量产及维护。Luke表示,为了给客户提供的功能更多,LabVIEW 2018增强了对于Python的支持,同时也升级了FPGA,支持最新
发表于 2018-05-24
NI市场副总裁Luke:如何通过定制化软件加速到来的未来

NIWEEK 2018——更强大的软硬件造就未来

5G、工业互联网以及汽车,其所对应的行业则包括了半导体、轨道交通、航空国防以及教育市场。平台就是一切Luke表示,“NI内部流传着一句话,如果你问NI任何一个问题,我们都可以用LabVIEW解决。”但自从去年NI提出了平台化战略之后,今后也许一切问题都可以通过NI的平台化方案解决。Alex表示,NI已构建了一套复杂的生态系统平台,通过软件定义平台,可应对任何复杂和广泛的客户应用需求。完整的NI生态平台,通过NI核心软硬件,再配合超过千余家NI软硬件合作伙伴,构建了复杂且稳固的生态链系统。NI CPO(首席平台官)Dunkun Hudson介绍了NI的系统级平台方案,通过最新SystemLink的发布,NI实现了云端与终端的更完美结合
发表于 2018-05-23
NIWEEK 2018——更强大的软硬件造就未来

LabVIEW 2018,让您的创新速度更上一层楼

工程师可以使用LabVIEW 2018、LabVIEW NXG和NI软件组合来获得最佳测试性能 新闻发布 - 2018年5月23日 - NIWeek - NI(美国国家仪器公司,National Instruments),以软件为中心的平台供应商,助力于加速自动化测试和自动化测量系统的开发进程和性能提升,今日宣布推出LabVIEW 2018。几十年来,LabVIEW一直是业界领先的平台软件,提供了高效的测试工作流程。工程师可以利用LabVIEW 2018的新工具来简化系统集成,并通过硬件可访问性获得更多控制权,从而进一步加快创新速度。LabVIEW 2018 由于5G、工业物联网和自动驾驶汽车等行业趋势的快速
发表于 2018-05-23
LabVIEW 2018,让您的创新速度更上一层楼

小广播

更多相关热搜器件

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved