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

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

3天内不再提示

关于CAN的高层协议J1939的基础和应用以及开发详解

嵌入式程序员 来源:CSDN技术社区 作者:嵌入式程序猿 2021-04-19 10:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CAN做为应用比较广泛的通信总线,受到了越来越多的客户喜欢和青睐,广泛应用于工业和汽车,常见的高层协议有CANopen,J1939,DeviceNet等,在公众号曾经分享过超过15篇有关CAN的高层协议J1939的有关内容,今天起我们将连续分6次推文来详细介绍CAN的高层协议J1939的基础和应用以及开发,应该算是比较全面系统的介绍,希望对大家有帮助,如果对你有帮助,欢迎关注嵌入式程序猿公众号。今天我们来看第二部分数据链路层的上半部分,数据链路层比较重要,内容也比较多,分为上下两部分来讲。

SAE J1939通信是基于CAN通信的一种高层协议,广泛应用于商用车,各种卡车,重型建筑车辆,发电机组,农业机械,森林防火车辆,以及特种车辆,现在也被广泛应用移植于工业控制。现在也广泛应用于新能源

SAEJ1939 协议是由汽车工程协会(SAE)定义的,基于传输可靠性能优越的CAN-bus总线,常用250Kbps,500Kbps的通讯速率。在协议中,报文内容本身做了精确的定义, SAE J1939 协议由美国SAE( Society of AutomotiveEngineers)组织维护和推广。

今天我们来看数据链路层的第二部分,主要搞懂以下问题

如果一个节点不能处理其它的会话通信,就应该拒绝其它节点的建立连接要求

网络上的每个节点每次可以发起一个给定目标地址的指定目标地址连接传送。

在一个指定时刻,一个发送者只能发送一个多包 BAM 消息

响应者必须能识别来自多个不同发送者的多包消息,接收时不能搞混。

一个节点必须能够支持同时来自于同一个源地址的一个 RTS/CTS 会话和一个 BAM 会话发送者和响应者分别有自己的传输和接收时间要求。

44540518-9ff4-11eb-8b86-12bb97331649.jpg

44943f2a-9ff4-11eb-8b86-12bb97331649.jpg

44e6a99a-9ff4-11eb-8b86-12bb97331649.jpg

4500a368-9ff4-11eb-8b86-12bb97331649.jpg

457b9974-9ff4-11eb-8b86-12bb97331649.jpg

46023344-9ff4-11eb-8b86-12bb97331649.jpg

466e3d8c-9ff4-11eb-8b86-12bb97331649.jpg

46e42eca-9ff4-11eb-8b86-12bb97331649.jpg

473425ce-9ff4-11eb-8b86-12bb97331649.jpg

4742627e-9ff4-11eb-8b86-12bb97331649.jpg

47524874-9ff4-11eb-8b86-12bb97331649.jpg

475dff48-9ff4-11eb-8b86-12bb97331649.jpg

47c52ad8-9ff4-11eb-8b86-12bb97331649.jpg

4887be0e-9ff4-11eb-8b86-12bb97331649.jpg

48d49a1c-9ff4-11eb-8b86-12bb97331649.jpg

48eaad3e-9ff4-11eb-8b86-12bb97331649.jpg

4909078e-9ff4-11eb-8b86-12bb97331649.jpg

49598a2e-9ff4-11eb-8b86-12bb97331649.jpg

49bbb690-9ff4-11eb-8b86-12bb97331649.jpg

49c96056-9ff4-11eb-8b86-12bb97331649.jpg

49d7b8fe-9ff4-11eb-8b86-12bb97331649.jpg

这个系列已经更新过半,收到了不少私信留言,谢谢大家的支持。
编辑:lyn

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

    关注

    58

    文章

    3010

    浏览量

    471448
  • J1939
    +关注

    关注

    1

    文章

    11

    浏览量

    10920

原文标题:详解CAN的高层协议(三)

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CAN 总线自定义协议使用说明

    关于can总线的设置
    发表于 11-05 17:00 1次下载

    三轴加速度计P/N 336-9655在卡特彼勒履带式推土机与小型挖掘机中的监测应用

    三轴加速度计P/N 336-9655通过同步测量X/Y/Z轴加速度及Z轴侧滑速度,为卡特彼勒履带式推土机和小型挖掘机提供六自由度运动监测。在斜坡作业防侧滑、回转稳定性控制等场景中,基于CAN J1939协议实现精准数据反馈,有效
    的头像 发表于 10-20 09:52 659次阅读
    三轴加速度计P/N 336-9655在卡特彼勒履带式推土机与小型挖掘机中的监测应用

    三轴倾角P/N 334-1658在卡特彼勒重型设备中的监测应用

    三轴倾角传感器P/N 334-1658通过同步测量X/Y/Z轴加速度及Z轴侧滑速度,为重型工程机械提供六自由度姿态监测。其在推土机斜坡作业、压路机压实均匀性控制及旋挖钻机桅杆垂直度校准等场景中,通过CAN J1939协议实现精准
    的头像 发表于 10-16 09:52 214次阅读
    三轴倾角P/N 334-1658在卡特彼勒重型设备中的监测应用

    IMU P/N 333-8538在卡特彼勒挖掘机、自卸车与装载机中的应用价值

    IMU P/N 333-8538通过集成三轴陀螺仪与加速度计,为卡特彼勒重型设备提供六自由度运动感知。它精准监测车身倾斜、回转角速度等关键参数,支持斜坡作业防倾覆、卸料稳定性优化等功能。其IP67防护与宽温设计适配严苛工况,基于CAN J1939
    的头像 发表于 10-14 11:23 294次阅读
    IMU P/N 333-8538在卡特彼勒挖掘机、自卸车与装载机中的应用价值

    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 4739次阅读
    从手写代码到AUTOSAR工具链:<b class='flag-5'>J1939</b>Tp应用篇

    一文读懂CAN XL协议

    随着汽车和工业应用中数据通信量的增加,传统的CAN协议已无法满足更高的数据速率需求。传统CAN协议在数据速率和总线负载能力方面存在限制,难以满足高带宽和高实时性的应用场景。为此,
    的头像 发表于 07-03 14:53 3639次阅读
    一文读懂<b class='flag-5'>CAN</b> XL<b class='flag-5'>协议</b>

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

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

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

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

    经纬恒润VDE Cloud深度赋能汽车智能通信网络设计

    当前汽车产业正加速向电动化、智能化、网联化转型,电子电气架构复杂度呈现指数级攀升。面对车型快速迭代、多团队协同开发、数据安全管控等现代研发需求,以及混合多总线协议CAN/
    的头像 发表于 05-12 09:52 1418次阅读
    经纬恒润VDE Cloud深度赋能汽车智能通信网络设计

    浅谈CAN协议转换模块

    CAN(Controller Area Network)协议转换模块在现代工业自动化、汽车制造、航空航天等领域扮演着至关重要的角色。作为连接不同CAN网络或CAN与其他通信
    的头像 发表于 02-05 16:37 741次阅读

    基于Vector工具进行CAN协议错误帧的分析实践

    CAN(ControllerAreaNetwork)协议是当前使用最普遍的车载通信协议之一,其优点不只体现在多主并行、最高达1Mbit/sec的传输速率(针对标准CAN)、基于优先级的
    的头像 发表于 01-15 10:03 992次阅读
    基于Vector工具进行<b class='flag-5'>CAN</b><b class='flag-5'>协议</b>错误帧的分析实践

    基于Xilinx的A7系列FPGA的CAN总线协议开发

    一、CAN总线协议介绍 CAN是 Controller Area Network 的缩写(以下称为 CAN ),是 ISO 国际标准化的串行通信协议
    的头像 发表于 12-21 14:49 3072次阅读
    基于Xilinx的A7系列FPGA的<b class='flag-5'>CAN</b>总线<b class='flag-5'>协议</b><b class='flag-5'>开发</b>

    深入解析J1939-73:车辆诊断通信的标准与应用

    和设备之间的实时数据交换。J1939基于CAN(ControllerAreaNetwork)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250K
    的头像 发表于 12-11 10:01 2127次阅读
    深入解析<b class='flag-5'>J1939</b>-73:车辆诊断通信的标准与应用

    【RK3562J开发笔记】MCP2518FD外部CAN-FD控制器的调试方法

    MCP2518FD是一款在各行业中都有着广泛应用的CAN-FD控制器芯片,本文就将为大家介绍如何在飞凌嵌入式RK3562J开发板上适配MCP2518FD芯片。
    的头像 发表于 12-07 14:22 2692次阅读
    【RK3562<b class='flag-5'>J</b><b class='flag-5'>开发</b>笔记】MCP2518FD外部<b class='flag-5'>CAN</b>-FD控制器的调试方法