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

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

3天内不再提示

琢磨了一天的CAN协议

撞上电子 2024-01-10 08:00 次阅读

最新公司需要利用J1939的CAN协议进行数据通信,琢磨了一天,才明白,现在整理成笔记,内容如下:

1.数据帧格式

数据帧格式应遵循CAN 29位标识符的扩展帧格式,CAN 数据帧由很多域组成(仲裁域+控制域+数据域+CRC域)。

516559e6-af4b-11ee-aa22-92fbcf53809c.jpg

2.协议数据单元(PDU)

数据帧是通过PDU进行组织的。PDU由数据帧中的 29 位标识符(ID号)和数据场组成。ID又划分为 6 个部分:优先级P(3 位),保留位(1位),数据页 DP位(1位),PDU格式PF(8位),PDU细节PS(8位),源地址SA(8位)。扩展帧协议数据单元及场分布如下图:

5168d38c-af4b-11ee-aa22-92fbcf53809c.jpg


2.1优先级(P)

长度:3位,位于ID最前面,用来优化报文传输到总线的传输延迟。一条报文的优先级可以从最高0(000)设置到最低7(111)。

2.2保留位(R )

保留此位以备今后开发使用,可能扩展 PDU 格式域,定义新的 PDU 格式,扩展优先级段或增加地址空间。所有报文的保留位应设置为 0。

2.3数据页(DP )

DP 默认设置为0。

2.4PDU 类型

PDU格式决定了是到具体ECU通信(特定目标地址)或是广播通信(全局目标地址发送)。

2.5目标地址(DA)

DA 场定义的特定目标地址要求任何源地址与该目标地址不同的节点忽略此报文。

2.6群扩展(GE)

GE场与PF场的低4位(当 PF 场高 4 位全部设置为 1 时表示 PS 场是组扩展)提供每个数据页 4096 种参数组。对于每个数据页有 4096 个参数组只在 PDU2 格式下可用;此外,还有 240 个参数组只在 PDU1 的格式下可用。当前,两个数据页共有 8672 个参数组可用。

2.7源地址(SA)

SA 场是一个 8 位域。给定的一个源地址在网络中应当只有一个设备与其相对应,源地址应是唯一的。

网络中一个特定源地址只能匹配一个设备。因此,源地址域确保CAN标识符符合CAN协议中的唯一性要求。

2.8 数据场

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

    关注

    0

    文章

    91

    浏览量

    16822
  • CAN协议
    +关注

    关注

    1

    文章

    31

    浏览量

    12595
  • 数据帧
    +关注

    关注

    0

    文章

    33

    浏览量

    6647
收藏 人收藏

    评论

    相关推荐

    一天可以发多少帖子

    一天可以发多少帖子
    发表于 07-17 11:32

    一天征服傅里叶变换

    一天征服傅里叶变换
    发表于 08-20 13:30

    labview一天

    labview一天点很有意思的
    发表于 12-22 22:47

    想了一天,没想通

    位新手菜鸟求大神告知下,8254的a0,a1为什么要接到cpu的a1,a2啊?还有82537a,8259a也有类似的!还有就是cpu用那几跟地址线寻他们的端口号,怎么寻额…找了一天,想了好久也没想明白,求救啊!
    发表于 07-11 20:42

    分享个教程学习程序-做了一天时间

    本帖最后由 财承天下 于 2013-7-12 16:40 编辑 分享个教程学习程序-做了一天时间各种脉冲频率和瞬态观察
    发表于 07-12 16:37

    新的一天新的开始

    新的一天开始了,大家对电子大赛都有些什么想法呢,都来说说看吧···
    发表于 09-02 08:48

    自己做的单片机测电压和IO口控制(用郭翔的板子)

    可以测5v以内电压,也可通过上位机控制LED。单片机用的是郭翔的TX -1C 板子,我也是labview初学者,自己琢磨了个下午搞出来的。欢迎探讨。
    发表于 03-10 10:37

    一天

    一天 求关于数字滤波的labview教程
    发表于 06-19 01:20

    画了一天的ST-link,大家随便看看

    画了一天的ST-link
    发表于 08-05 20:24

    学习的第一天

    1.先找了个软件,叫什么quartus II 13.1,下载了好久,网超级慢,基本就是这一天时间用完了;2.找了这块板子的原理图,好像是什么特权同学出的板子;3。找了本教程(例说FPGA:可直接
    发表于 09-27 15:51

    一天学会用Allegro画电源板

    一天学会用Allegro画电源板
    发表于 10-01 08:24

    一天一天学FPGA,第二至芯昭哥教你FPGA工程建立

    一天一天学FPGA,第二至芯昭哥教你FPGA工程建立
    发表于 08-03 13:22

    一天征服傅里叶变换

    一天征服傅里叶变换
    发表于 05-11 09:27

    学习jQuery的第一天

    学习jQuery第一天
    发表于 05-19 06:18

    拼搏+第一天

    拼搏+第一天今日也是头秃画图的一天,排版真的累哇
    发表于 07-13 14:14