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

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

3天内不再提示

浅析SAE-J1939与CAN2.0B之间的关系

kae1_cdebyte 来源:亿佰特物联网应用专家 2022-12-23 14:18 次阅读

什么是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数据帧中,其结构如下:

1520d504-8289-11ed-8abf-dac502259ad0.png

153fea7a-8289-11ed-8abf-dac502259ad0.png

CAN扩展帧的数据帧格式与SAE-J1939协议数据单元对比如下图:

1564f964-8289-11ed-8abf-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结构如下表:

15e82258-8289-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    56

    文章

    2471

    浏览量

    459321
  • SAE
    SAE
    +关注

    关注

    0

    文章

    25

    浏览量

    13126
  • 数字通讯
    +关注

    关注

    0

    文章

    6

    浏览量

    7208
  • SAE-J1939协议
    +关注

    关注

    0

    文章

    4

    浏览量

    1411

原文标题:【看点】浅析SAE-J1939与CAN2.0B之间的关系

文章出处:【微信号:cdebyte,微信公众号:亿佰特物联网应用专家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于J1939协议的组合仪表的设计与实现

    基于J1939协议的组合仪表的设计与实现摘要:本文首先介绍了CAN 总线和J1939 协议,然后重点介绍了基于J1939 协议应用AT90CAN
    发表于 05-17 11:45

    德国MicroControl公司的SAE J1939产品简价

    德国MicroControl公司的SAE J1939产品简价
    发表于 12-23 09:45

    sae1939培训教程

    sae1939培训教程
    发表于 07-16 08:57

    CAN总线通讯平台开发

    挑战:CAN2.0B 规范的工业总线通讯、报文标识符和数据帧定义没有形成统一的标准,参数定义  随意性很大。商用车CAN 总线通讯标准,遵循建立在CAN2.0B 基础上的SAE
    发表于 04-08 09:42

    J1939基础入门知识分享

    通信。J1939描述了CAN总线的一种网络应用,包括CAN网络物理层定义、数据链路层定义、应用层定义、网络层定义、故障诊断、和网络管理。在SAE J
    发表于 04-11 07:00

    基于SAE J1939协议的发动机总线数据模拟器开发设计

    在车载网络的开发过程中,需要发动机节点向总线网络发送报文,为了降低成本,提高开发效率,模拟发动机。基于SAE J1939协议巾车辆应用层子标准及应用层诊断子标准,通过软件编程进行发动机总线数据模拟器
    发表于 07-12 06:33

    SAE J1939 协议源代码分享

    发现一个刚开源的J1939协议栈,亲们相关地址如下:源代码下载地址github下载地址:https://github.com/XeiTongXueFlyMe/J1939源代码分析网址:http
    发表于 07-30 11:39

    充电机和BMS之间通信网络采用CAN2.0B通讯协议

    我们首先要了解的信息有以下五点:1、充电机和BMS之间通信网络采用CAN2.0B通讯协议。2、在充电过程中,充电机和BMS监测电压、电流和温度等参数,同时BMS管理整个充电过程。3、充电机和BMS
    发表于 09-14 06:07

    SAE J1939协议分析指南

    SAE J1939协议是由汽车工程协会(SAE)定义的,SAE J1939协议在商用车辆、舰船、轨道机车、农业机械和大型发动机中是应用最广泛
    发表于 03-13 13:50 189次下载

    基于SAE J1939协议的车辆网络通信

    目前,车辆的ECU产品大都带有SAE J1939 CAN接口。针对具有SAE J1939 CAN
    发表于 09-24 00:49 5525次阅读
    基于<b class='flag-5'>SAE</b> J<b class='flag-5'>1939</b>协议的车辆网络通信

    SAE-J1939协议培训教程

    厦门金龙SAE J1939培训,第一部分by吉林大学汽车动态模拟国家重点实验室 底盘控制研究室
    发表于 07-13 15:11 36次下载

    SAE-J1939协议培训教程2:应用培训

    厦门金龙SAE J1939培训,第二部分by吉林大学汽车动态模拟国家重点实验室 底盘控制研究室
    发表于 07-13 15:11 19次下载

    基于恩智浦MPC5744P的SAE J1939协议栈开发

    的,MPC5744P 支持CAN2.0BCAN 的高层协议,J1939 是基于CAN2.0B的扩展帧,29位标识符,支持单帧和多帧收发通信。本次设计主要实现
    的头像 发表于 09-24 16:15 7809次阅读
    基于恩智浦MPC5744P的<b class='flag-5'>SAE</b> J<b class='flag-5'>1939</b>协议栈开发

    什么是CAN2.0B协议

    首先咱们说说什么是CAN2.0b,它是CANBUS的一种协议类型,用人话说就是定义规则。它和can2.0A是目前应用的最为普遍的协议,被称作为是传统CAN。其中CAN2.0A协议仅支持
    的头像 发表于 07-04 09:40 5016次阅读

    【看点】浅析SAE-J1939CAN2.0B之间关系

    及设备)上电子部件间的数字通讯。二SAE-J1939CAN2.0关系CAN2.0(前文指路)是一种总线规范,是数据链路层的技术。J1939
    的头像 发表于 01-06 09:52 883次阅读
    【看点】<b class='flag-5'>浅析</b><b class='flag-5'>SAE-J1939</b>与<b class='flag-5'>CAN2.0B</b><b class='flag-5'>之间</b>的<b class='flag-5'>关系</b>