国际标准 ISO 11898 解读

news2024/11/26 12:46:30

        从 1993 第一个版 CAN 国际标准(ISO 11898:1993 和 ISO 11519-2)发布至今,ISO 11898 逐渐被分割整合成了相互独立的 6 个部分。分别以 Part 1 ~ Part 6 来标识。在旧版本(2003年之前)中

  • ISO 11898 是通信速度为 5kbps - 1Mbps 的 CAN 高速通信标准。规范中同时定义了 数据链路层和高速物理层。
  • ISO 11519 是通信速度为 125kbps 以下的 CAN 低速通信标准,也就是容错CAN(LSFT CAN)。提供从5 Kbit/s到125 Kbits/s的波特率。该标准允许在CAN总线连线失败时CAN总线通信得以继续进行。

  从 2003 年开始,ISO 将原先的 ISO 11898 CAN标准的数据链路和高速物理层的标准分离为 ISO 11898-1 和 ISO 11898-2 两部分。后续又发布了其他几个部分!在 2016 年,又再一次进行了整合。下图是 2016 年之前各部分的官方命名(来自于 ISO 11898-1-2015 的 Foreword 章节):

 

在经过审核和重组的 ISO 11898 系列中,各部分的功能如下:

  • Part 1: defines the data link layer including the logical link control (LLC) sub-layer and the medium access control (MAC) sub-layer, as well as the physical signalling (PHS) sub-layer; 定义数据链路层,包括逻辑链路控制(LLC)子层和媒体访问控制(MAC)子层,以及物理信令(PHS)子层;
  • Part 2: defines the high-speed physical medium attachment (PMA); 高速物理媒体附属层
  • Part 3: defines the low-speed fault-tolerant physical medium attachment (PMA); 低速容错物理媒体附属层
  • Part 4: defines the time-triggered communication; 时间触发通讯
  • Part 5: defines the power modes of the high-speed physical medium attachment (PMA); 低功耗的物理媒体附属层
  • Part 6: defines the selective wake-up functionality of the high-speed physical medium attachment (PMA). 选择性唤醒的物理媒体附属层

啥是 PMA ??:将物理信号转换为逻辑信号或者将逻辑信号转换为物理信号的子层

        在 2016 年,其中的 Part 2、Part 5 和 Part 6 被合并成了一个新的 Part 2,即:ISO 11898-2-2016。 下图显示了 ISO 11898 标准,对比 OSI 模型的分布情况


AUI attachment unit interface
MDI media dependant interface
OSI open system interconnection

 

  CAN 总线(ISO 11898-1)最初指定的链路层协议仅包括对物理层的抽象需求。 高速物理层关于电气方面的(电压,电流,数量导体)规定来自于 ISO 11898-2,该协议目前被广泛接受;低速则在 ISO 11898-3 中。但是,物理层关于机械方面的(接头种类和数量、颜色、标签、标准输出)并没有标准文档来正式指定。 因此,汽车的电子控制单元(ECU)通常会有定制的接口和各种线缆组成 CAN 总线。

  各部分标准文档在不同年份下还有不同的版本。根据 ISO 的惯例,新版发布后,旧版就会被撤销。下面通过 ISO 官方网站对于各时期标准的发布情况详细说明一下:

  • ISO 11898:1993 和 ISO 11898:1993/Amd 1:1995: 从下图可以看到, ISO 11898:1993 是 CAN 标准的第一个版本,到 2003 年被分成了两部分。随着新版本的发布,这些都已经被 ISO 撤回了。

 

  • ISO 11898-1-2003 和 ISO 11898-1-2015: ISO 11898-1-2015 是 ISO 11898-1-2003 的最新修订版本, 全名为 ISO 11898-1:2015 Road vehicles – Controller area network (CAN) – Part 1: Data link layer and physical signalling 指定经典 CAN 帧格式和新引入的CAN FD 帧格式。 经典 CAN 帧格式允许比特率高达1 Mbit/s,有效载荷最高可达每帧 8 字节。 CAN FD 帧格式允许比特率高于 1 Mbit/s,有效载荷超过每帧 8 字节。

 

  ISO 11898 的这一部分根据 ISO/EC 7498-1 的开放系统互连(OSI)的 ISO 参考模型,以分层的方式描述了CAN 的通用结构。CAN数据链路层根据 ISO/EC 8802-2 和 ISO/EC 8802-3 规定。包含以下详细规范:

  • 逻辑链路控制子层(LLC)
  • 媒体访问控制子层(MAC)
  • 物理编码子层(PCS)

        更详细的内容,后续再详细介绍,这里不再多说!

(1)这部分综合了 Bosch CAN 2.0 规范 和 Bosch CAN FD
(2)ISO 11898-2 和 ISO 11898-3 共用 ISO 11898-1。也就是 ISO 11898-1 规定的数据链路层是共用的!
(3)从 2003 开始,ISO 11898-1 不再包含 高速物理层的相关定义,这部分被独立到了ISO 11898-2 中

  • ISO 11898-2-2003 和 ISO 11898-2-2016: ISO 11898-2-2016 是 ISO 11898-2-2003 的最新修订版本,全名为 ISO 11898-2:2016 Road vehicles – Controller area network (CAN) – Part 2: High-speed medium access unit。 此外,11898-5:2007 和 11898-6:2013 被整合到 11898-2:2016 之中,原有的 11898-5:2007 和 11898-6:2013 被撤回。

  Part 2 指定了controller area network (CAN) 的高速物理媒体附属层(HS-PMA),包括没有和具有低功耗模式功能以及具有选择性唤醒功能的 HS-PMA(High-Speed Physical Media Attachment) 。依赖于物理媒体的子层不在本文档的范围内。


        此外,具体内容如下:

 

  •         HS-PMA 测试电路

 

  • 基于以上定义,定义了收发器的电器特性

 

其他图见规范,这里不再贴了。

  • 定义CAN_H / CAN_L上的最大输出电流; 

  • 定义可选的 TXD 超时

 

 

  • 接收器输入电阻范围已经改变
  • 已定义 CAN FD 的位时序参数,最高可达 2 Mbps;
  • 定义 CAN FD 的位时序参数,最高可达5 Mbps
  • 已经集成了ISO 11898-5和ISO 11898-6的内容,以确保所有HS-PMA实施都有一个ISO标准;
  • 选择性唤醒(以前的ISO 11898-6)已定义CAN FD 容差;
  • 唤醒滤波器时序(以前在ISO 11898-5中)已经改变
  • 有关 PMD 子层的要求和假设已转移到附件A,以明确关注 HS-PMA 的实施。

这部分不是 Bosch CAN 2.0 规范的一部分
从 2003 年开始,从 ISO 11898-1 中 独立出来的

  • ISO 11898-3-2006 和 ISO 11898-3:2006/Cor 1:2006: 全名为 ISO 11898-3:2006 Road vehicles – Controller area network (CAN) – Part 3: Low-speed, fault-tolerant, medium-dependent interface 规定了在配备 CAN 的公路车辆的电子控制单元之间建立数字信息交换的特性,传输速率为 40 kBit/s 至 125 kBit/s。其取代了最早发布的 ISO 11519-2:1994。ISO 11898-3:2006/Cor 1:2006 为勘误和修改版本。

 

        ISO 11898的这一部分描述了低速CAN应用的容错行为,以及根据ISO / OSI层模型的物理层的部分。 ISO 11898 的这一部分涵盖了物理层的以下部分:

  • medium dependent interface (MDI);
  • physical medium attachment (PMA).

此外,物理层信令(PLS)的部分和媒体访问控制(MAC)的部分也受到 ISO 11898 的这一部分提供的定义的影响。
OSI 模型的所有其他层在 CAN 协议中没有对应部分,并且是用户级别的一部分,不影响低速 CAN 物理层的容错行为,因此不属于 ISO 11898 的这一部分。

这部分不是 Bosch CAN 2.0 规范的一部分

  • ISO 11898-4-2004: 全名为 ISO 11898-4:2004 Road vehicles – Controller area network (CAN) – Part 4: Time-triggered communication 指定CAN中的时间触发通信。该标准最后一次审查并于2019年确认。因此该版本仍然是最新版本。


这部分不是 Bosch CAN 2.0 规范的一部分

 

参考
History of CAN technology
CAN bus - Wikipedia
http://home.eeworld.com.cn/my/space-uid-469267-blogid-224148.html
https://www.edaboard.com/showthread.php?217912-Difference-between-CAN1-0-and-CAN-2-0
CAN FD协议介绍


附件
Intel 82526 / Philips 82C200 / Intel 82527 数据手册
Bosch CAN 2.0 和 CAN FD
ISO 11898 集合
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二维笛卡尔坐标系下的角的概念

文章目录 参考环境笛卡尔坐标系二维笛卡尔坐标系三维笛卡尔坐标系 任意角角的静态定义角的动态定义二维笛卡尔坐标系下角的概念方向正角、负角及零角 象限角象限象限角 终边相同角圆心角终边相同角 参考 项目描述搜索引擎Google 、Bing百度百科首页韩庆波正负角佟大大还是ETT【…

前端学习---Vue(6)路由

一、前端路由的概念和原理 Hash地址与组件的对应关系。 Hash:url中#之后的都是Hash地址 location.hash 1.1 前端路由的工作方式 ① 用户点击了页面上的路由链接 ② 导致了 URL 地址栏中的 Hash 值发生了变化 ③ 前端路由监听了到 Hash 地址的变化 ④ 前端路由把当前 Hash…

doris分区、join

动态分区和临时分区 动态分区 旨在对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。 目前实现了动态添加分区及动态删除分区的功能。只支持 Range 分区。原理 在某些使用场景下,用户会将表按照天进行分区划分,每天定时执行例行任…

tidyverse中filter行筛选时缺失值存在的一个坑

大家好,我是邓飞,好久没有更新博客了,是因为好久没有进步了。 之前我认为鲁迅说的对,他在《野草》中写道:“当我沉默着的时候,我觉得充实;我将开口,同时感到空虚”。现在确切的情况…

msvcr90.dll丢失的解决方法

在使用计算机的过程中,我们时常会遇到一些问题,比如应用程序无法正常启动,提示msvcr90.dll文件丢失,这个问题困扰了许多计算机用户。那么,怎么才能解决这个问题呢? 首先,让我们先了解一下msvcr…

c语言编程练习题:7-65 字符串替换

#include <stdio.h>int main() {char c;while (scanf("%c", &c) 1 && c ! \n) {if (c > A && c < Z) {c Z - (c - A);}printf("%c", c);}return 0; }代码来自&#xff1a;https://yunjinqi.top/article/190

Spring:spring-web中DeferredResult执行过程分析

对于HTTP请求的处理&#xff0c;有时处理请求的时间较长&#xff0c;可能会采用异步处理方式来处理。一般常用的异步处理方式是采用DeferredResult&#xff0c;本文会简单分析一下spring-web的整个处理过程。 首先&#xff0c;提供一个简单的DeferredResult例子&#xff1a; R…

C++map和set

目录&#xff1a; 什么是关联式容器&#xff1f;键值对树形结构的关联式容器 set的概念multiset的使用pair和make_pair map的概念用“[]”实现统计水果的次数 multimap的使用 什么是关联式容器&#xff1f; 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比…

Centos7 Failed to start login service 问题

最近发现Centos7有个问题&#xff0c;用普通用户登录的时候&#xff0c;打开命令窗口无法进行操作一直卡在那里&#xff0c;但切换到root用户后命令输入又正常。因为我需要从 window 上的 SecureCRT 去连接 Centos7&#xff0c;每次都需要用户登录&#xff0c;然后把防火墙关闭…

TLD7002学习笔记(一)-芯片介绍

文章目录 1. 前言2. TLD7002-16ES简介3. TLD7002-16ES基本功能介绍3.1 引脚和功能框图3.2 状态机3.2.1 正常工作时状态机3.2.2 OTP烧录或者仿真时的状态机 3.3 GPIN0和GPIN1引脚3.4 器件地址3.5 电流配置3.6 PWM配置3.7 并行输出&热降额&热过载保护 TLD7002-16ES诊断功…

高完整性系统:INTRODUCING ADA

目录 1. ADA的历史 2. ADA的特点 2.1 Strong, Static Typing 强语言、强静态类型语言 2.1.1 ADA is Strong, Static Typing 2.1.2 C is Weak, Static Typing 2.2 Module System 2.3 Portable 2.3.1 ADA 2.3.2 C 2.3.3 Cost of Runtime Checking 2.4 Readability …

Java jvm调优

系列文章目录 文章目录 系列文章目录前言JVM 基础面试题11. JDK&#xff0c;JRE以及JVM的关系2. 我们的编译器到底干了什么事&#xff1f;3. 类加载机制是什么&#xff1f;3.1 装载(Load)3.2 链接(Link)验证(Verify)准备(Prepare)解析(Resolve) 3.3 初始化(Initialize) 4. 类加…

chatgpt赋能python:Python三次幂与其应用

Python三次幂与其应用 Python是一种高级编程语言&#xff0c;因其简单易用的语法和广泛应用而备受欢迎。在该语言中&#xff0c;三次幂是其中一个常用操作之一。本文将介绍Python三次幂的概念及其应用&#xff0c;为您带来有价值的参考。 什么是Python三次幂&#xff1f; Py…

KubeSphere 社区双周报 | 杭州 Meetup 报名中 | 2023.05.12-05.25

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.05.12-2023.…

Linux - Java 8 入门安装与重装教程集锦

一、入门初始安装 1. 具体安装教程 1. linux 系统中如何安装java环境&#xff08;通过tar.gz文件&#xff09; 安装包下载链接 Java 的 tar.gz 安装包下载链接传送门 Linux 系统的 Java 环境变量配置教程 1. linux查看java版本&#xff0c;以及配置java home 2. Linux环…

stackqueue

这篇主要讲栈(stack)和队列(queue)&#xff0c;实际要学习的数据结构有三个&#xff1a;stack、queue、priority_queue 这些数据结构已经不属于容器了&#xff0c;而是容器适配器。 list的第二个参数是空间配置器&#xff0c;支持申请空间&#xff1b;而list和queue的第二个参…

Windows下利用Anaconda创建多个CUDA环境

参考 https://blog.csdn.net/qq_42395917/article/details/126237388 https://blog.csdn.net/qq_42406643/article/details/109545766 (待学习补充) https://blog.csdn.net/qq_43919533/article/details/125694437 (待学习补充) 安装cudatoolkit和cudnn # 前提是我已经安装了…

【Python 打包应用发布程序】零基础也能轻松掌握的学习路线与参考资料

Python是一种流行的编程语言&#xff0c;因其易学易用、灵活和高效而受到广泛关注和应用&#xff0c;尤其是在开发Web应用、数据科学和人工智能方面。Python的强大之处在于其丰富的第三方库和工具&#xff0c;可以让开发者轻松地构建复杂的应用程序和脚本工具。但是&#xff0c…

完全掌握git入门到精通各类免费书籍整理

大型软件项目开发&#xff0c;多人群组开发都离不开的版本控制工具 git&#xff0c;命令简单&#xff0c;想要完全掌握却需要付出一点时间。我们将一些评价较高的git免费学习资料网站做了整理&#xff0c;收录到 学习使用git完全指南各种免费书籍分享 完全掌握git入门到精通各…

【IDEA插件开发】快速入门系列01 开发一个简单的Idea插件

IDEA插件开发流程 IDEA插件开发官方文档 英文好的建议阅读官方文档 IDEA插件开发官方文档&#xff1a;https://plugins.jetbrains.com/docs/intellij/welcome.html 搭建IDEA插件开发环境 1.安装社区版IDEA 在这里我们需要下载IDEA社区版的历史版本。 历史版本的下载网址&a…