CAN总线的标准(二)

2023-05-16

一、OSI参考模型

CAN总线标准规定了物理层和数据链路层,至于应用层需要用户自定义。不同的CAN标准仅物理层不同。物理层和数据链路层ISO11898;应用层:不同的应用领域使用不同的应用层标准。

二、各层分析

1. 物理层和数据链路层

控制器局域网 (CAN) 是一种国际标准化的串行总线系统,最初是为车载网络制定的。1986 年,在底特律召开的SAE 大会引入了 CAN 数据链路层协议。1993 年,CAN协议和高速物理层成为国际标准 ISO 11898 的组成内容。

今天,该 ISO 标准包括以下组成部分:

  • ISO 11898-1: 数据链路层
  • ISO 11898-2: 高速收发器
  • ISO 11898-3: 容错收发器
  • ISO 11898-4: 时间触发 CAN
  • ISO 11898-5: 低功率模式高速收发器
  • ISO 11898-6: 带选择性唤醒能力的高速收发器 ( 正在制定中)

ISO 11898系列规定了称为控制器局域网的串行通信技术的物理和数据链路层(ISO/OSI 模型的第1级和第2级),该技术支持分布式实时控制和多路复用,以用于公路车辆。

在传统的 CAN 数据链路层协议中,整个帧使用一种比特率。最新引入的改进型 CAN 数据链路层协议 (也称为CAN FD) 为数据阶段使用更高的第二比特率,从而加速数据传送。此外,改进型 CAN 协议支持长数据字段 (最多达64 个字节)。 改进型 CAN 数据链路层协议不支持 CAN 远程帧。

2. 网络层

3. 传输层

4. 会话层

5. 表示层

6. 应用层

三、各种标准的应用

CAN 数据链路层是不同标准化高层协议的基础。在上个世纪九十年代中期,针对商业车辆柴油发动机动力系统应用,引入了 SAE J1939 系列。而用于工厂自动化的DeviceNet (IEC 62026-3) 以及用于嵌入式控制系统的CANopen (EN 50325-4) 也在此时制定出来。其它标准化高层协议还有用于车辆诊断的 ISO 传输层 (ISO 15765-2)和统一诊断服务 (ISO 15765-3),用于农林机械的 ISO11783 系列 (也被称为 Isobus) 以及用于卡车与拖车通信的ISO 11992 系列。用于船载导航设备的 NMEA 2000 应用层已被标准化为国际标准 IEC 61162-3。

CAN 网络的应用范围十分广泛。各种运输系统 (汽车、卡车、机车、轮船和飞机) 中的车载网络是其中最主要的一个应用领域。其它应用包括工业设备控制、工厂自动化、医疗设备、实验室自动化、升降机和门控制、发电与配电以及许多其它嵌入式控制系统。CAN 物理层使用不同的电压,具有很强的抗扰性,而CAN数据链路层协议具有可靠的通信能力,汉明距离达到6 ( 改进型 CAN 数据帧同样如此)。也就是说,可检测五个随机分布的位错误以及一个 15 位长的突发性错误。高层协议和子协议支持最高为现货即插即用层级设备的互操作性。

待续...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAN总线的标准(二) 的相关文章

  • 四、数据转换、ros-CAN通讯

    1 CAN通讯 1 1驱动安装 1 1 1在我的gitee上下载test功能包 xff0c 将libusbcan so文件复制到 lib 其他位置 计算机 lib 目录下 1 2参考 我另一篇博客一 2 1 3 下载功能包 1 3 1 在我
  • 学习CANopen --- [9] CAN总线的状态检查

    本文讲述如何判断CAN总线是否存在以及是否bus off xff0c 以vcan0进行讲解 xff0c vcan0是虚拟的CAN接口 xff0c 可以把它看做一个软件CAN适配器 xff08 区别于硬件CAN适配器 xff0c 如PeakC
  • Linux内核Socket CAN中文文档

    自己在年假中空闲之余翻译的内核中Socket CAN的文档 xff0c 原文地址在 xff1a http lxr linux no linux 43 v2 6 34 Documentation networking can txt 但是这篇
  • 一帧CAN数据需要多长时间发送

    1 CAN通讯速率 默认 500kbit s xff1b 2 xff1a 从下图CAN数据包的完整结构可知 xff0c 一包完整的扩展帧CAN数据总共包含 128bit xff1b 3 xff1a 发送一帧扩展帧CAN数据耗时 128 50
  • CAN通信数据帧介绍

    CAN通信有五个帧 xff0c 其中最重要的是数据帧 xff01 xff01 xff01 xff01 我们下面开始讨论数据帧 一 数据帧的格式 xff08 数据帧有七个段组成 xff09 xff0c 帧起始 表示数据帧开始的段 xff0c
  • Linux下CAN总线速率设置,socketCAN。

    背景 xff1a 飞思卡尔Freescale的ARM9处理器i MX25系列 socketCAN对于在Linux下操作CAN总线非常的快捷方便 xff0c 其配置方法和在Linux下对网卡的配置相似 xff0c 方法如下 xff1a 1 i
  • 解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

    如何解决ERROR 2003 HY000 Can t connect to MySQL server on localhost 10061 1 登录到安装Mysql的主机 xff0c 打开cmd命令行工具 xff0c 执行命令mysql u
  • ROS-虚拟CAN通讯/实质CAN通信

    xff11 xff0e 源码安装canopen 从官网下载canopen至Ubuntu xff0c 下载地址 xff1a https github com ros industrial ros canopen tree kinetic de
  • 大疆M3508、M2006必备CAN总线知识与配置方法

    大疆M3508 M2006必备CAN总线知识与配置方法 文章目录 大疆M3508 M2006必备CAN总线知识与配置方法前言 xff1a 0x00 需要 额外的 CAN收发器 xff01 xff01 xff01 0x01 硬件层面分析为什么
  • IMX6ULL与STM32F103的CAN通信实现

    IMX6ULL与STM32F103的CAN通信实现 硬件连接驱动层实现IMX6ULLSTM32F103ZET6 应用层实现IMX6ULLSTM32F103ZET6 结果 在上一篇博文中 xff0c 我们利用USBCAN设备及其上位机软件 x
  • linux-can编程(一)

    建立can的socket int can create socket char name int fd struct sockaddr can addr struct ifreq ifr socklen t len 61 sizeof ad
  • linux的socket CAN驱动介绍

    https blog csdn net linyangspring article details 27186911 在linux中 xff0c CAN总线的驱动有两种实现方式 xff1a 字符设备以及socket can驱动 Socket
  • QT5使用PCAN读取CAN数据

    文章目录 QT5使用PCAN读取CAN数据 CAN Bus example 重点讲解 pro文件 创建CAN bus Device 参数设置 接收报文 PCAN支持的QCanBusDevice ConfigurationKey类型 QT5使
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器 1 概述 STM32 CAN控制器 bxCAN 支持CAN 2 0A 和 CAN 2 0B Active版本协议 CAN 2 0A 只能处理标准数据帧且扩展帧的内容会识别错误 而CAN 2 0B Active 可以
  • CAN2.0和J1939协议的关系

    转发自http www cankau cn support help can vs j1939 html 很长时间没搞明白j1939与CAN2 0的关系 这篇文章让我明白了 CAN2 0是一种总线规范 是数据链路层的技术 J1939是SAE
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • 【汽车电子】浅谈汽车四大总线:LIN、CAN、FlexRay、MOST

    目录 1 前言 2 汽车四大总线 2 1 LIN总线 2 1 1 LIN总线概述 2 1 2 LIN总线工作原理 2 2 CAN总线 2 2 1 CAN总线概述 2 2 2 CAN总线工作原理 2 2 3 CAN总线的优点 2 3 Flex
  • MCP2515独立控制器

    1 简介 MCP2515 是一款独立控制器局域网络 Controller Area Network CAN 协议控制器 完全支持 CAN V2 0B 技术规范 该器件能发送和接收标准和扩展数据帧以及远程帧 MCP2515 自带的两个验收屏蔽
  • CAN总线的EMC设计方案

    一 CAN接口EMC设计概述 Controller Area Network简称为CAN 多用于汽车以及工业控制 用于数据的传输控制 在应用的过程中通讯电缆容易耦合外部的干扰对信号传输造成一定的影响 单板内部的干扰也可能通过电缆形成对外辐射
  • STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

    记录一下 方便以后翻阅 主要内容 1 CAN通信基础知识 2 STM32 CAN控制器简介 3 相关实验代码解读 参考资料 STM32中文参考手册 V10 第22章 控制器局域网 bxCAN 实验功能 CAN实验需要两个开发板 系统启动后

随机推荐

  • 原生安卓苹果APP-java抢单派单系统平台源码

    简介 xff1a java源码 派单系统平台源码完整版带项目说明 网盘下载地址 xff1a http kekewl cc 9qsCp179URb0 图片 xff1a
  • 基于Android和OpenCV的物体跟随系统设计 需要留言

    本设计为基于Android和OpenCV的物体跟随系统设计 本文对基于计算机视觉的物体跟随系统的特点和应用领域 国内外的研究现状及其发展分别做出了较详尽介绍 并且按照社会科技化进步的要求 xff0c 给出了具有参考意义的智能跟随模块系统 根
  • 【Linux C王者归来】【第十一章】【进程控制】

    1 程序可以有多个进程 xff0c 一个进程与进程id11 对应 2 PROC中的数字对应id号 xff0c getpid和getppid可以获得进程id父进程id 3 getuid geteuid 获得进程用户id和有效用户id 4 ge
  • DSP28335使用FIFO的串口中断总结

    一 串行通信与并行通信 DSP控制器间 xff0c DSP控制器与外部设备间交换信息 xff0c 通信 xff0c 可采取的通信方式主要两大类1 串行通信 2 并行通信 并行通信一般包括多条数据线 多条控制线和状态线 xff0c 传输速度快
  • 点阵屏上绘图——基于LCD12864 控制详解

    本文引用自 xff1a http blog csdn net s3c44b0x article details 7498706 原始地址 xff1a http www amobbs com thread 591361 1 1 html 相关
  • 使用iPad编写C++程序(转载)

    使用iPad编写C 43 43 程序 一 搭建C 43 43 环境 1在cydia内安装 deb 包 注 xff1a 在cydia 软件源 设置中改为开发者 xff0c 否则有些deb搜索不到 OpenSSH xff0c OpenSSL w
  • Python多线程学习(三、生产者与消费者)

    生产者与消费者问题是典型的同步问题 这里简单介绍两种不同的实现方法 1 xff0c 条件变量 view plaincopy to clipboardprint import threading import time class Produ
  • 在~Firmware下面用roslaunch 启动launch 报错 udp0: sendto:Invalid argument

    在 Firmware下面用roslaunch 启动launch 报错 xff0c 如下 roslaunch px4 mavros posix sitl launch 报错 ERROR 1658284290 546891096 udp0 se
  • roslaunch运行px4功能包 报错

    运行条件ubuntu 16 04 ros kinetic 隔段时间运行roslaunch 会如下错误 mavros posix sitl launch is neither a launch file in package px4 nor
  • tf2_ros::Buffer::Buffer(ros::Duration, bool)’未定义的引用

    新建一个功能包及 cpp文件后报错tf2 ros Buffer Buffer ros Duration bool 未定义的引用 opt ros kinetic include tf2 ros buffer h 51 xff1a 对 vtab
  • Android Studio 配置 JDK1.8 使用Lambda表达式

    Android Studio 配置 JDK1 8 使用Lambda表达式 JDK1 8 添加几项新特性譬如对集合的优化语法的便捷配合Lambda表达式使用可以让代码更加简便美观 xff0c 但对于一些没有接触Lambda表达式的同学们来说就
  • 深入解读四轴飞行器的硬件设计

    xfeff xfeff 转载自 xff1a http www openedv com posts list 20892 htm 传感器之一 xff1a 角速度传感器应用科里奥利力原理 xff1a 科里奥利力来自于物体运动所具有的惯性 xff
  • 【GIT】使用Vscode同步git仓库,错误和解决方法记录

    这里写目录标题 命令行操作仓库常见命令1 报错 在签出前 xff0c 请清理存储库工作树 2 报错 fatal unable to access 39 https github com 39 OpenSSL SSL read Connect
  • 基于k近邻(KNN)的手写数字识别

    作者 xff1a faaronzheng 转载请注明出处 xff01 最近再看Machine Learning in Action k近邻算法这一章节提供了不少例子 xff0c 本着Talk is cheap的原则 xff0c 我们用手写数
  • 机器学习算法地图(转自SIGAI)

    转自 xff1a http sigai cn paper 18 html 下面先看这张图 xff1a 图的左半部分列出了常用的机器学习算法与它们之间的演化关系 xff0c 分为有监督学习 xff0c 无监督学习 xff0c 强化学习 3 大
  • 一个非常适合单片机的滤波算法

    连接 xff1a http bbs 21ic com icview 170880 1 1 html 以下为原文 连接 xff1a http bbs 21ic com icview 170880 1 1 html 单片机大多资源小 xff0c
  • 6.蒙特卡洛方法(TSP)

    定义 xff1a 旅行商问题 xff0c 即TSP问题 xff08 Traveling Salesman Problem xff09 又译为旅行推销员问题 货郎担问题 xff0c 是数学领域中著名问题之一 假设有一个旅行商人要拜访n个城市
  • 云和AI时代下,需要怎样的存储?

    数字化浪潮席卷而来 xff0c 颠覆着传统的生产和生活方式 xff0c 随之产生的新经济和新应用给传统业务模式和产业结构带来前所未有的冲击 特别是云计算 人工智能 AI 和物联网 IoT 的兴起 xff0c 加快了传统产业升级改造的步伐 在
  • 人工智能6个核心技术

    机械学习 机械学习是多领域交叉的学科 xff0c 可以从学习模式和学习方法上面进行分类 xff0c 学习模式将机器学习分类为监督学习 无监督学习和强化学习等 xff0c 学习方法可以将机器学习分为传统机器学习和深度学习 机器学习按学习方式分
  • CAN总线的标准(二)

    一 OSI参考模型 CAN总线标准规定了物理层和数据链路层 xff0c 至于应用层需要用户自定义 不同的CAN标准仅物理层不同 物理层和数据链路层ISO11898 xff1b 应用层 xff1a 不同的应用领域使用不同的应用层标准 二 各层