SAE J1939协议(二)

您所在的位置:网站首页 c0775故障码是什么 SAE J1939协议(二)

SAE J1939协议(二)

2024-07-14 17:40| 来源: 网络整理| 查看: 265

4、应用层 应用层主要定义常用物理参数的格式,数据格式规定了数据的长度、分辨率、取值范围和类型。其中,状态值一般用2位离散值表示,测量值用多个字节表示。实际 应 用 时,用户应对系统参数按 SAEJ1939的数据定义方法进行定义。

数据类型对每个参数都应该确定它的数据类型,数据的类型可以是状态或者是测量值。 状态类型表示一个多状态参数的目前状态,或者传输节点在执行操作后所产生的结果。 测量值类型数据表示了传输节点对某个参数测量后得到的当前值。

数据传输方式为了保证单个节点之间正常通信,就必须确定怎样传输消息,即对于两个以上字节的参数是首先传输高字节再传输低字节(Intel方式)还是首先传输低字节再传输高字节(Motorola方式)。

参数数值范围

 

新参数的数值范围分配这部分意在定义一组推荐的SLOT(比例Scaling;界限 Limit;偏移量 Offset和传送Transfer功能),用于在SAE J1939中增加新参数。这样可以在给定的参数类型(温度、压 力、速度等)中尽量保持数据的一致性。每个SLOT提供了适合给定类型中的大部分参数的数值范围和分辨率。若需要,可是用不同的比例 因子或偏移量。偏移量应该根据以下两点进行恰当的选择:a. 偏移量 = 0,或者b.偏移量 = 50%(等于±数值范围)

推荐SLOT定义

参数群中参数定义通常,参数根据以下准则来组成参数群:

a. 按照实现功能(汽油,冷却剂,燃料等)而不按照类型(温度,压力,速度等)b. 具有相近的更新速度(为了减少不必要的系统开销)c. 按照通用的子系统(用于测量和发送数据的设备)

例1:发动机燃料/润滑剂系统

例2:时间/日期调整

通信方式 由于SAE J1939的数据链路层和物理层采用CAN2.0B协议,所以SAE J1939网络支持多主竞争方式。 CAN协议废除了站地址寻址方式,然而SAE J1939通过对CAN标识符的重新定义,可同时支持基于节点传输和基于帧传输两种方式。

a 基于节点传输基于节点传输的通信方式只在两节点之间进行通信,其他节点并不参与。该方式的前提条件就是,在报文中包含目标地址,发送节点知道目标接收节点。对于接收节点而言,通过对接收报文标识符中的目标地址进行滤波,就可确定是否应该接收该报文。

基于节点传输的过程基于节点的分帧传输分为三步:建立连接、数据传输、拆除连接。

b 基于报文传输基于报文传输的通信方式就是某个节点把包含一个或多个参数的参数组报文发送给网络中所有的节点,也就是广播式的传输方式。 发送节点不需要确定接收节点的地址,接收节点根据报文标识符中的参数组号PGN进行滤波,如果几个节点对某个PGN参数组的报文感兴趣,它们可以同时接收该报文。

基于报文传输的过程

2、故障诊断SAE J1939在应用层中还定义了12种诊断报文(Diagnostic Message,简称DM)、诊断故障代码(Diagnostic Trouble Code,简称DTC)。

SAE J1939的DTC构成诊断故障代码由三部分组成:可疑参数号(Suspect Parameter Number,简称SPN)、故障模式标志(Failure Mode Identifier,简称FMI)及故障发生次数(Occurrence Count,简称OC)。一个故障代码由4个字节构成,三个部分的位数分配如表所示。

SAE J1939诊断报文的构成

诊断故障代码实例

激活状态的诊断故障代码一旦有一个DTC成为激活的故障,就有一个DM1消息会被传输,并在其之后处于正常的每秒仅一次的更新速度下。如果一个故障激活的时间是一秒或更长,然后变为不激活的状态,则应传输一个DM1消息以反映这种状态的改变。如果在一秒的更新期间有一个不同的DTC改变状态,则要传输一个新的DM1消息反映这个新的DTC。为了避免因高频率的间断故障而引起的高的消息传输率,建议每个DTC每秒只有一个状态改变被传输。

DM1格式

DM1诊断过程

故障指示灯一种只用于传达发送相关故障代码信息的灯。该灯仅当有一个发送的相关故障代码处于激活状态时才点亮。

红色停止灯该灯用于表达一种处于将是车辆停止的严峻形式下的故障代码信息。

琥珀色警告灯该灯用于表达一种被告知车辆系统出现问题但不须立即停止的故障代码信息。

保护灯该灯用于表达一种代码信息,用于提示被告知车辆系统出现问题且极有可能不是相关电路子系统引起的故障。例如,发动机冷却液的温度超出了它的规定温度范围。

可疑参数编号( SPN)19位的SPN用于多种目的,用于诊断的有: ( 1)用于识别可修复的失效最小子系统; ( 2)用于识别有严重错误的子系统; ( 3)识别一个将要告知的专门事件或情况; 可疑参数编号赋值给一个参数组内每个单独的参数,以及不包括在参数组内但与诊断有关的参数项目。可疑参数编号有独立的源地址发送消息。然而,该源地址有必要确定由网络上的哪个控制器来执行诊断。

 

故障模式标志符( FMI)FMI定义了为一个SPN所识别的子系统中发现的故障类型。如:FMI=0―数据有效但超出了正常操作范围-最严重水平FMI=1―数据有效但低于正常操作范围-最严重水平

 

3、网络管理SAE J1939网络管理的主要任务就是节点的地址分配或确定。节点地址是SAE J1939网络正常工作的前提条件,这和单纯的CAN网络不同。 SAE J1939网络初始化期间,所有节点都要检查它们自己静态配置的节点地址,从而确定这个地址在网络中是独一无二的,每个节点在获得响应的地址后才能进行正常通信。

地址分配SAE J1939采用“地址声明”(address claiming)的方法来进行地址分配。 SAE J1939网络中要求每个节点有一个名字,由设备编号、使用场合、设备类型等位场组成。节点名字具有优先级,节点编号越小,优先级就越高。 如果两个或多个网络节点同时申请同一个节点地址,那么节点名字优先级最高的将获得该地址,失去该地址的节点必须在全网络范围内重新申请新的地址。

ECU名字在一个网络中,每个ECU至少应该有一个名字,这样ECU就可以根据功能唯一地被标示出来。反过来,网络中的每个ECU至少应该有一个唯一的地址,这样ECU可以与其它ECU进行CAN消息 帧的仲裁。 名字相对于地址,表明网络中ECU的功能,网络管理协议中的网络管理过程允许将一个源地址与ECU的功能和网络中相关布告联系在一起。

节点地址配置等级SAE J1939根据网络节点的可配置性将网络节点分为四级:1、不可配置的网络节点:该节点的地址在程序写入时就确定了。2、可通过专用工具配置的网络节点:该节点地址可以通过专用工具调整,调整时该节点必须处于某种特殊的工作模式下。

3、可通过命令来配置的网络节点:节点处于在正常工作模式下,通过网络使用命令报文来调整节点的地址。4、可以自配置的网络节点:节点借助内部算法确定自己的地址,即通过“地址声明”的方法来实现地址分配。如果发生地址冲突可重新确定一个地址,然后通知网络中的其他节点。

节点配置方式节点有静态配置方式和动态配置方式:使用静态配置地址的节点通常固定在网络中,上面提到的不可配置或可通过专用工具配置的节点应属于静态配置方式。对于可以更换地址或经常不在网络中运行的节点,可使用动态配置方式。

动态地址分配-地址声明节点通过“地址声明”方法可以在网络范围内声明自己的地址。发送节点向网络上其它节点发送“地址声明帧”,该帧的标识符包括该节点要声明的地址,该帧的数据场包含了64位的节点名字。如果地址有冲突,那么就根据名字的优先级决定哪一个节点将最终获得声明的地址,而其它未获胜的节点将放弃原来声明的地址,重新在网络范围内通过“地址声明帧”申请新的地址。无论什么原因,当“地址声明帧”的节点不能重新申请新地址时,都应该发送一个“不能进行地址声明”帧,这样该节点就不能参与网络通信。

 

动态地址分配-地址索取节点A将自己静态配置的地址X作为目标地址向网络中发送“地址索取请求帧”。等待一段时间后,如果还没有节点响应该“地址索取请求”帧,那么节点A就以该地址向网络中的其它节点发送一个“地址声明帧”,等一段时间后就可以发送报文。

节点A通过“地址索取请求帧”向网络中其它节点提出请求,请它们发送节点地址和名字, 然后根据获得的地址和一定的算法选择一个空闲的节点地址,再向网络发送一个“地址声明帧”,源地址就是刚才选择的节点地址,等待一段时间后就可以与其他节点开始通信。

通过“地址命令”报文帧进行节点地址的分配。地址命令报文帧可以借助服务工具对节点有目的地进行地址分配,当然该节点应该属于可以通过命令配置的类型。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3