SAE 1939学习笔记(一)
2016-07-13 11:14
1231 查看
转自:http://blog.csdn.net/Hugohut/article/details/24552509
1 代表在J1939(+)与J1939(-)之间是高电压差。
0 代表在J1939(+)与J1939(-)之间是低电压差
250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。
–Layer2– J1939/21: 数据层,定义分类PGN信息/传输协议.
–Layer3– J1939/31: 网络层,定义不同网络互连之间的转换技术。
–Layer7– J1939/71: 应用层,信息分享、解析。
J1939/73: 应用层,故障信息。
SPN 190 = 发动机转速
SPN 513 = % 扭矩
PGN –参数组号码–总线上的信息被以“组”的形式广播,例如:
PGN 61444 =发动机控制器#1 (EEC1)
PGN 61444 = SPN 190, SPN 513,等等.
发动机转速和扭矩百分比都属于PGN 61444参数组。
优先级–告诉ECM接收的信息的重要性:
0 = 最重要
6 = 最不重要
例如:如果变速箱用优先级3请求发动机升速,而牵引控制器用优先级0请求发动机降速,最终发动机会选择降速。
源地址和目的地址–指示信息是从哪一个控制器发出,或发送到哪一个控制器。
00h–发动机控制器--主机
01h–发动机控制器--辅机
03h–变速箱
标准帧只有11位的标识符(ID)
扩展帧有11+18=29位标识符(ID)
以后均以扩展帧作介绍。
参数组编号唯一标识一个参数组,在通讯过程中起到“索引”的作用,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。可以理解为同类(或者有共同特征的设备)参数的集合的索引。
SAEJ1939中的格式规定如下:
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
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号
由SPN数据(CAN格式中的读出的数据)计算实际的数据方法:
如下是一个实际的 J1939信息
0.1000 1 OCF00300x Rx d8 7DC3 C0 2D FFFFFFFF
转换步骤:
十六进制转成十进制
乘以转换系数
加上偏置
举例:
查询PGN:
SPN110如下:
SPN175:
其他类同。
1.总线布局
2.差分信号线
J1939 通讯传输的是一系列的“1”或“0” 。1 代表在J1939(+)与J1939(-)之间是高电压差。
0 代表在J1939(+)与J1939(-)之间是低电压差
250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。
3.ISO标准对应
–Layer1– J1939/11: 物理层,物理介质,总线的设计, 长度,节点,等等.–Layer2– J1939/21: 数据层,定义分类PGN信息/传输协议.
–Layer3– J1939/31: 网络层,定义不同网络互连之间的转换技术。
–Layer7– J1939/71: 应用层,信息分享、解析。
J1939/73: 应用层,故障信息。
4.术语
SPN–特定参数–特定参数对应的号码,例如:SPN 190 = 发动机转速
SPN 513 = % 扭矩
PGN –参数组号码–总线上的信息被以“组”的形式广播,例如:
PGN 61444 =发动机控制器#1 (EEC1)
PGN 61444 = SPN 190, SPN 513,等等.
发动机转速和扭矩百分比都属于PGN 61444参数组。
优先级–告诉ECM接收的信息的重要性:
0 = 最重要
6 = 最不重要
例如:如果变速箱用优先级3请求发动机升速,而牵引控制器用优先级0请求发动机降速,最终发动机会选择降速。
源地址和目的地址–指示信息是从哪一个控制器发出,或发送到哪一个控制器。
00h–发动机控制器--主机
01h–发动机控制器--辅机
03h–变速箱
5.CAN标准帧和扩展帧
标准帧只有11位的标识符(ID)
扩展帧有11+18=29位标识符(ID)
以后均以扩展帧作介绍。
6.协议数据单元(PDU)
标识符+数据域=协议数据单元(PDU)。7.参数组编号(PGN)
PGN(Parameter Group Number)参数组编号:参数组编号唯一标识一个参数组,在通讯过程中起到“索引”的作用,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。可以理解为同类(或者有共同特征的设备)参数的集合的索引。
SAEJ1939中的格式规定如下:
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号
由SPN数据(CAN格式中的读出的数据)计算实际的数据方法:
如下是一个实际的 J1939信息
0.1000 1 OCF00300x Rx d8 7DC3 C0 2D FFFFFFFF
转换步骤:
十六进制转成十进制
乘以转换系数
加上偏置
举例:
查询PGN:
SPN110如下:
SPN175:
其他类同。
相关文章推荐
- 【CF应用开发大赛】微博社交简历
- PHP Wrapper在SAE上的应用方法
- Python脚本实现下载合并SAE日志
- 在SAE上搭建最新wordpress的方法
- php实现SAE上使用storage上传与下载文件的方法
- 新浪SAE搭建PHP项目教程
- sae使用smarty模板的方法
- web.py在SAE中的Session问题解决方法(使用mysql存储)
- 在SAE上部署Python的Django框架的一些问题汇总
- Python Web框架Flask中使用新浪SAE云存储实例
- Maven的微信公众号项目部署到SAE用户消息无响应
- 新浪 SAE 真心坑比。。。
- PHP Wrapper在SAE上的应用方法
- ThinkPHP在新浪SAE平台的部署实例
- wordpress中加载JQuery库的几种方法
- 使用新浪SAE实现快速免费建站
- flask关于sae上传python第三方库及其调用
- php连接数据库例子
- 在sae中使用jfinal框架开发web工程遇到的问题
- SAE 免费配额用户 mysql 数据库 不支持InnoDB数据库引擎