0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【看点】浅析SAE-J1939与CAN2.0B之间的关系

亿佰特物联网应用专家 2023-01-06 09:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是SAE-J1939?

SAE-J1939(以下简称J1939)是美国汽车工程协会(SAE)的推荐标准,广泛用于是商用车(重卡、大客车等道路车辆和工程机械、农业机械、轨道机车、船舶等非道路车辆及设备)上电子部件间的数字通讯。

SAE-J1939与CAN2.0的关系

CAN2.0(前文指路)是一种总线规范,是数据链路层的技术。J1939是SAE(美国汽车协会)基于CAN总线定义的的规范,主要用于解决不同发动机厂商、不同ECU厂商之间的兼容性问题。

J1939定义了一系列的PGN和SPN,这些PGN包含了发动机、变速器、车轴等汽车上各部件的信息;对参数的表示方法(状态和值)又定义了SLOT(Scaling—比例、Limit—界限、Offset—偏移、Transfer—传送)。ECU厂商开发设备时都应该遵循这个规范。ECU模块的功能不同、厂商不同,在J1939的基础上,又表现出其多样性:支持或者不支持某些PGN、SPN和SLOT;新增了某些J1939未定义的PGN和SPN。

SAE-J1939与CAN2.0B消息帧格式

CAN2.0规范包括CAN2.0A(标准帧格式),CAN2.0B(扩展帧格式),二者使用不同的帧格式位码。J1939是在CAN2.0B的基础上进一步封装,对仲裁场部分的29位ID的重新定义。SAE-J1939中只为扩展帧格式定义了标准化的通信,因此,SAE-1939设备必须使用扩展帧格式。

SAE-J1939将每个数据帧(PDU,协议数据单元)融合进一个CAN2.0数据帧中,其结构如下:

7b156ac2-8c2b-11ed-bcbd-dac502259ad0.png7b44da5a-8c2b-11ed-bcbd-dac502259ad0.pngCAN扩展帧的数据帧格式与SAE-J1939协议数据单元对比如下图:
7b866f56-8c2b-11ed-bcbd-dac502259ad0.png

参数群编号(PGN):

PGN对于制定基于SAE-J1939的CAN协议来说十分重要,很多ECU厂商规定在接受CAN报文时识别的就是PGN而不是整个报文的ID。参数群编号是由24位组成的(其实是18位),主要包括下面几个部分:保留位(R,1bit,默认为:0),数据页位(DP,1bit,多数情况下为:0),PDU格式(PF,8bit)和特定PDU(PS,8bit,目标地址是否群扩展)。当PF值为:0~239之前时PGN的低字节将被设置为:0;当PF值为240~254之时,PGN的低字节为PS的值。PGN结构如下表:

7ba95cb4-8c2b-11ed-bcbd-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3097

    浏览量

    473532
  • 总线
    +关注

    关注

    10

    文章

    3060

    浏览量

    91870
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在S32K146中使用CAN2.0B协议的示例项目

    hi, 我们正在项目中使用s32k146,希望在我们的板子上使用CAN2.0B协议,但无法配置设置。因此,请提供一个CAN2.0B协议的示例项目。
    发表于 04-17 08:31

    汽车网络安全 ISO/SAE 21434是什么?(一)

    ISO(国际标准化组织)与SAE(美国汽车工程师学会)联合制定,2021 年 8 月正式发布,核心替代此前的 SAE J3061 指南,成为汽车网络安全的核心技术基准。 1. 核心定位 汽车网
    发表于 04-07 10:37

    基于FPGA的轻量级CAN总线控制器实现方案

    CAN总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。CAN总线的非破坏性仲裁机制依赖于帧ID,CAN2.0A和CAN2.0B分别规定了11bit
    的头像 发表于 04-03 10:10 2380次阅读
    基于FPGA的轻量级<b class='flag-5'>CAN</b>总线控制器实现方案

    Infineon TLE7268:双LIN 2.2/SAE J2602收发器的卓越性能与应用

    Infineon TLE7268:双LIN 2.2/SAE J2602收发器的卓越性能与应用 在汽车电子领域,对于可靠且高效的通信解决方案的需求日益增长。英飞凌(Infineon)的TLE7268双
    的头像 发表于 03-25 16:05 223次阅读

    2026最新CAN转Modbus网关评测:IPCSUN捷宸电子PBC0022如何搞定J1939与私有协议?

    正在寻找2026年靠谱的CAN转Modbus网关?本文深度评测IPCSUN捷宸电子PBC0022,实测其原生J1939解析、CAN长帧重组及WEB免驱配置功能。对比普通网关,看它如何解决新能源BMS
    的头像 发表于 03-23 14:56 794次阅读
    2026最新<b class='flag-5'>CAN</b>转Modbus网关评测:IPCSUN捷宸电子PBC0022如何搞定<b class='flag-5'>J1939</b>与私有协议?

    重型车辆J1939通信协议是什么

    重型车辆J1939通信协议是美国汽车工程师协会(SAE)制定的基于控制器局域网(CAN)的高层通信协议标准,主要用于重型车辆及商用车辆中电子控制单元(ECU)之间的实时、可靠数据交换。
    的头像 发表于 02-04 17:46 1406次阅读

    Profinet 转 SAE J1939 网关 实现重型车智能控制 西门子 PLC 渣土自卸车改造案例

    互不互通,存在举升动力分配不精准、油耗偏高、故障排查困难等问题。 项目采用 西门子 S7-1500 PLC (Profinet 主站)作为整车控制核心,搭配西门子 SIMOTICS S 系列 伺服电机 (适配 SAE J1939 协议)驱动上装举升机构,并引入 Profi
    的头像 发表于 01-23 09:38 609次阅读
    Profinet 转 <b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b> 网关 实现重型车智能控制 西门子 PLC 渣土自卸车改造案例

    TDK B32912H/J4 - B32918H/J4 EMI抑制薄膜电容器深度解析

    TDK B32912H/J4 - B32918H/J4 EMI抑制薄膜电容器深度解析 在电子设备的设计中,电磁干扰(EMI)抑制是一个关键问题,它直接影响着设备的性能和稳定性。TDK的
    的头像 发表于 12-25 15:20 759次阅读

    Amphenol ER系列SAE J1772充电电缆及插座设计解析

    Amphenol ER系列SAE J1772充电电缆及插座设计解析 在电子工程师的日常工作中,充电设备的设计是一个重要的领域。今天我们就来详细探讨一下Amphenol的ER系列SAE J
    的头像 发表于 12-10 11:20 549次阅读

    MCP251863 CAN FD控制器技术解析与应用指南

    格式 (CAN 2.0B) 和CAN灵活数据速率 (CAN FD) 格式中的CAN帧格式,符合ISO 11898-1:2015标准。集成的高
    的头像 发表于 10-14 15:43 1281次阅读
    MCP251863 <b class='flag-5'>CAN</b> FD控制器技术解析与应用指南

    STM32已经用标准库写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准库。而RT THREAD STUDIO自动生成的是HAL库,请问有什么好方法在我原来的代码上添加RT THREAD吗?
    发表于 09-19 06:16

    从手写代码到AUTOSAR工具链:J1939Tp应用篇

    J1939Tp是我学习AUTOSAR CP诸多BSW模块的起点,其分层架构完美体现了AUTOSAR规范的精髓,掌握J1939Tp有助于深入理解通信(COM)相关模块的程序执行过程。
    的头像 发表于 07-10 16:37 5566次阅读
    从手写代码到AUTOSAR工具链:<b class='flag-5'>J1939</b>Tp应用篇

    盟通方案|如何集成J1939协议

    SAEJ1939是美国汽车工程师协会开发的商用车行业标准通信协议,基于CAN总线技术构建,专为重型车辆(卡车、客车)及工业设备设计,实现ECU间实时数据交换与控制。J1939采用CAN
    的头像 发表于 06-13 11:35 1000次阅读
    盟通方案|如何集成<b class='flag-5'>J1939</b>协议

    STM32已经用标准库写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准库。而RT THREAD STUDIO自动生成的是HAL库,请问有什么好方法在我原来的代码上添加RT THREAD吗?
    发表于 05-27 06:01

    南芯科技推出车规级高速CAN/CAN FD协议收发器

    /s 的数据传输速率。SC25042Q 集成了振铃抑制功能,抗电磁干扰能力强,可实现无损时间传输,保证信号的高效可靠。该产品通过 AEC-Q100 认证,符合 ISO 11898-2:2016、SAE J2284-1 至 SAE
    的头像 发表于 04-30 14:10 2466次阅读
    南芯科技推出车规级高速<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> FD协议收发器