SAE J1939学习笔记(一)「建议收藏」

SAE J1939学习笔记(一)「建议收藏」1.总线布局2.差分信号线J1939通讯传输的是一系列的“1”或“0”。 1代表在J1939(+)与J1939(-)之间是高电压差。0代表在J1939(+)与J1939(-)之间是低电压差250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。3.ISO标准对应–Layer…

大家好,又见面了,我是你们的朋友全栈君。

1.总线布局

SAE J1939学习笔记(一)「建议收藏」

2.差分信号线

J1939 通讯传输的是一系列的“1”或“0” 。 

1 代表在J1939(+)与J1939(-)之间是高电压差。

0 代表在J1939(+)与J1939(-)之间是低电压差

SAE J1939学习笔记(一)「建议收藏」

250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。

SAE J1939学习笔记(一)「建议收藏」

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请求发动机降速,最终发动机会选择降速。
源地址和目的地址 – 指示信息是从哪一个控制器发出,或发送到哪一个控制器。
    00 h – 发动机控制器--主机
    01 h – 发动机控制器--辅机
    03 h – 变速箱

5.CAN标准帧和扩展帧

SAE J1939学习笔记(一)「建议收藏」

标准帧只有11位的标识符(ID)
扩展帧有11+18=29位标识符(ID)
以后均以扩展帧作介绍。

6.协议数据单元(PDU)

标识符+数据域=协议数据单元(PDU)。
SAE J1939学习笔记(一)「建议收藏」

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

转换步骤:

    十六进制转成十进制
    乘以转换系数
    加上偏置

举例:

SAE J1939学习笔记(一)「建议收藏」

查询PGN:

SAE J1939学习笔记(一)「建议收藏」

SPN110如下:

SAE J1939学习笔记(一)「建议收藏」

SPN175:

SAE J1939学习笔记(一)「建议收藏」

其他类同。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139897.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【01】初识ThreadX

    【01】初识ThreadX简介ThreadX是一个成熟的商用硬实时嵌入式操作系统,被广泛应用于消费电子、航空航天、通信、工业控制与医疗等应用领域中,至今已服务超过62亿设备。它以轻量级的规模,提供了良好的实时性、可靠性与易用性,是嵌入式开发中不错的RTOS选择。凭借良好的发展势头,其母公司ExpressLogic于2019年被微软收购。技术上,ThreadXRTOS提供了高级调度、通信、同步、定时器、内存…

    2025年7月11日
    8
  • Javadoc 使用详解

    Javadoc 使用详解一:简介Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html二:写在类上面的Javadoc写在类上的文档标注一般分为三段:第一段:概要描述,通常用一句或者一段话简要描述该类的作用,以英文句号作为结束第…

    2025年12月8日
    5
  • android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法「建议收藏」

    android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法「建议收藏」AndroidStudio运行按钮灰色的完美解决方法今天新建项目的时候突然发现编译后运行按钮为灰色。解决方案:第一步:点击图中的AddConfiguration,出来如下界面第二步:点+号,并选择AndroidApp选项出来下图所示界面第三步:在Module中下拉框中选择app如果在Module下拉框没有app这个选项点击搜索框,输入sync,从搜索结果中选择如下项:点击运行…

    2022年8月28日
    3
  • Pytest(6)重复运行用例pytest-repeat[通俗易懂]

    Pytest(6)重复运行用例pytest-repeat[通俗易懂]前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

    2022年7月30日
    14
  • 什么是面向切面编程_简述面向切面编程思想

    什么是面向切面编程_简述面向切面编程思想学习完面向对象编程和面向接口编程,下一步就是面向切面编程,快来mark!

    2025年8月25日
    3
  • 生物化学与分子生物学分析技术 Analytical Techniques in Biochemistry and Molecular Biology 英文原版[通俗易懂]

    生物化学与分子生物学分析技术 Analytical Techniques in Biochemistry and Molecular Biology 英文原版[通俗易懂]长期以来,生物化学被定义为生命科学的核心学科,现在它使我们能够以十年前甚至做梦都想不到的方式控制生命系统。随着植物生物学和生物技术在科学议程上不可阻挡地向前发展,其相关性也与日俱增。这本综合卷探讨了植物生物学、生物化学和生物技术研究人员必须掌握的众多实验技术。随着人们对调查生理过程的生化和分子方法的兴趣上升,新的、更快、更敏感的实验程序也在同步发展,使我们能够探索动物和植物有机体的内部运作。ebook获取<<<…

    2022年7月11日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号