一、CAN总线基础知识

注:参考江科大教程,瑞萨电子《CAN入门教程》。

CAN (Controller Area Network),是ISO国际标准化的串行通信协议。CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。CAN具有很高的可靠性,广泛应用于:汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。

2、CAN总线基础特征

1.两根通信线:CAN_H、CAN_L,无需共地,差分信号,抗干扰能力强。

2.高速CAN:通信速率为125Kbps~1Mbps,通信距离小于40m,ISO11898标准。

3.低速CAN:通信速率10k-125Kbps,通信距离小于1000m,ISO11519-2标准。

4.异步、无需时钟线,通信速率由设备各自约定。

5.半双工、可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序。

6.11位/29位报文ID,用于区分消息功能,同时决定优先级。

7.可配置1-8字节有效载荷。

8.可实现广播式和请求式两种传输方式。

9.应答、CRC校验、位填充、位同步、错误处理等特性。

3、CAN总线硬件电路

每个设备通过CAN收发器挂载在CAN总线网络上。CAN控制器引出的TX和RX与CAN收发器相连,CAN收发器引出的CAN_H和CAN_L分别与总线的CAN_H和CAN_L相连。

终端电阻

1、防止回波反射。

2、没有设备操作总线的情况下,将两根线电压拉到同一水平。

高速CAN

高速CAN使用闭环网络,CAN_H和CAN_L两端添加120Ω终端电阻。

低速CAN

低速CAN使用开环网络,CAN_H和CAN_L其中一端添加2.2k终端电阻。

4、CAN电平标准

CAN总线采用差分信号,即两线电压差传输数据位。

  • 高速CAN规定

    电压差为0V时,表示逻辑1,隐性电平。

    电压差为2V时,表示逻辑0,显性电平。

  • 低速CAN规定:

    电压差为-1.5V时,表示逻辑1,隐性电平。

    电压差为3V时,表示逻辑0,显性电平。

5、CAN物理层特性

一、CAN协议基础知识的更多相关文章

  1. 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识

    第41章      HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...

  2. 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

    第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...

  3. 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识

    第33章      SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...

  4. 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识

    第25章      DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...

  5. 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识

    第16章      UDP用户数据报协议基础知识 本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作. ...

  6. IOS Socket 01-网络协议基础知识

    1. 网络参考模型 OSI参考模型                                          TCP/IP参考模型 2. 七层简述 1)物理层:主要定义物理设备标准,如网线的接 ...

  7. TCP/IP 和HTTP 协议基础知识

    来源:http://www.myhack58.com/Article/60/63/2014/50072.htm 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过 ...

  8. TCP/IP网络协议基础知识集锦[转]

    引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...

  9. USB协议基础知识笔记

    usb协议 功能层: 控制传输.中断传输.块传输(批量传输).同步传输 设备层:管理USB设备.分配地址.读取设备描述符 总线接口层:采用NRZI编码-反向非归零编码(0将前一个电平翻转,1不翻转) ...

  10. TCP协议基础知识及wireshark抓包分析实战

    TCP相关知识 应swoole长连接开发调研相关TCP知识并记录. 数据封包流程 如图,如果我需要发送一条数据给用户,实际的大小肯定是大于你发送的大小,在各个数据层都进行了数据的封包,以便你的数据能完 ...

随机推荐

  1. Swing 线程之SwingUtilities.invokeLater()

    现在我们要做一个简单的界面. 包括一个进度条.一个输入框.开始和停止按钮. 需要实现的功能是: 当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作). ...

  2. MySQL底层概述—10.InnoDB锁机制

    大纲 1.锁概述 2.锁分类 3.锁实战之全局锁 4.锁实战之表级锁(偏读) 5.锁实战之行级锁(偏写)-行级锁升级表级锁 6.锁实战之行级锁(偏写)-间隙锁 7.锁实战之行级锁(偏写)-临键锁 8. ...

  3. vue3 封装api接口

    新建axiosj.ts import axios from 'axios'; import { showMessage } from "./status"; // 引入状态码文件 ...

  4. Winform在主窗体里切换多个窗体

    1.点击解决方案资源管理器的项目名称,右键添加用户控件(Windows窗体). 2.在主窗体代码中实例化添加的用户控件(Windows窗体). 点击查看代码 UserControl1 userCont ...

  5. Qt 子窗口 隐藏标题栏的图标,在任务栏上的不显示

    Qt子窗口使用Qt::Dialog样式时,隐藏窗口标题栏图标方法: this->setWindowIcon(QIcon()); Qt子窗口,在任务栏上的不显示,最简单的方法是设置Qt::Tool ...

  6. CVE-2023-3609 Linux 内核 UAF 漏洞分析与漏洞利用

    漏洞分析 通过分析补丁和漏洞描述可以知道漏洞是位于 u32_set_parms 函数里面,代码如下: static int u32_set_parms(struct net *net, struct ...

  7. Go 内存管理

    操作系统内存管理 操作系统管理内存的存储单元是页(page),在 linux 中一般是 4KB.而且,操作系统还会使用 虚拟内存 来管理内存,在用户程序中,我们看到的内存是不是真实的内存,而是虚拟内存 ...

  8. 【Amadeus原创】查看正在运行的docker run参数

    如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具. 现在我如何进行重启,如何找回此前的启动命令? [root@mysql3 ~] ...

  9. Flutter 引用包命名冲突,重复引用

    Flutter 引用包命名冲突,重复引用 报错信息 lib/page.dart:92:11: Error: 'Response' is imported from both 'package:get/ ...

  10. 强化学习算法中的log_det_jacobian

    相关: https://colab.research.google.com/github/google/brax/blob/main/notebooks/training_torch.ipynb 之前 ...