大家好,又见面了,我是你们的朋友全栈君。
1.总线布局
2.差分信号线
J1939 通讯传输的是一系列的“1”或“0” 。
1 代表在J1939(+)与J1939(-)之间是高电压差。
0 代表在J1939(+)与J1939(-)之间是低电压差
250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。
3.ISO标准对应
J1939/73: 应用层,故障信息。
4.术语
SPN–特定参数–特定参数对应的号码,例如:
SPN 190 = 发动机转速
SPN 513 = % 扭矩
组号码 –总线上的信息被以 “ 组 ” 的形式广播,例如:
5.CAN标准帧和扩展帧
6.协议数据单元(PDU)
7.参数组编号(PGN)
参数组编号唯一标识一个参数组,在通讯过程中起到“索引”的作用,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。可以理解为同类(或者有共同特征的设备)参数的集合的索引。
pgn61443 – Electronic EngineController #2 – EEC2 –
Transmission Repetition Rate: 50ms ->信息发送周期
Data Length: 8 Bytes ->数据域长度(CAN扩展帧中的数据域)
Data Page: 0 ->数据页(PGN中的数据页DP)
PDU Format: 240 ->PDU格式(PDU1(<240)和PDU2(240~255))(CAN格式中的PF)
PDU Specific: 3 ->PDU特定域(PF<240,DA,240≤PF≤255,组扩展)
Default Priority: 3 ->优先级
Parameter Group Number: 61443 (00F00316) ->PGN
Bit Start Position / Byte Length SPNDescription SPN (对应的SPN号) ->数据域分布
1.1 2 bits Accelerator Pedal Low Idle Switch 558 ->1.1表示第一个字节第一位
1.3 2 bits Accelerator Pedal Kickdown Switch 559 ->2bits表示该SPN对应的数据长度
1.5 2 bits Road Speed Limit 1437
2 1 byte Accelerator Pedal Position 91
3 1 byte Percent Load at Current Speed 92
4 1 byte Remote Accelerator 974
8.特定参数号(SPN)
spn91 – Accelerator PedalPosition – The ratio of actual acceleratorpedal position to maximum pedal position. Although it is used as an input to determine transmission and ASRalgorithms about driver’s actions.
Data Length: 1 Bytes ->SPN号对应的数据的长度
Resolution: 0.4%/ bit, 0 offset ->计算方式(见下)
Data Range: 0 to100% ->数据范围(涉及偏移量计算)
Type: Measured
Suspect Parameter Number: 91 ->SPN号
Parameter Group Number: [61443] ->隶属的PGN号
如下是一个实际的 J1939信息
0.1000 1 OCF00300x Rx d8 7DC3 C0 2D FFFFFFFF
转换步骤:
十六进制转成十进制
乘以转换系数
加上偏置
举例:
查询PGN:
SPN110如下:
SPN175:
其他类同。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139897.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...