您当前的位置:五五电子网电子知识电子知识资料总线技术基于LabVIEW及J1939协议的CAN总线通讯平台的开发 正文
基于LabVIEW及J1939协议的CAN总线通讯平台的开发

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

点击数:7835 次   录入时间:03-04 11:46:02   整理:http://www.55dianzi.com   总线技术

    应用领域:商用车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 数据帧格式.jpg

图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).jpg

图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 总线之间收发电平的匹配转换。



www.55dianzi.com

    软件设计

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

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

图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 帧报文,比对测试接收的报文无丢失现象。

[1] [2]  下一页


本文关键字:开发  总线技术电子知识资料 - 总线技术