一、CAN协议基础知识
一、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协议基础知识的更多相关文章
- 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识
第35章 FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...
- 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识
第33章 SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...
- 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识
第25章 DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...
- 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识
第16章 UDP用户数据报协议基础知识 本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作. ...
- IOS Socket 01-网络协议基础知识
1. 网络参考模型 OSI参考模型 TCP/IP参考模型 2. 七层简述 1)物理层:主要定义物理设备标准,如网线的接 ...
- TCP/IP 和HTTP 协议基础知识
来源:http://www.myhack58.com/Article/60/63/2014/50072.htm 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过 ...
- TCP/IP网络协议基础知识集锦[转]
引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...
- USB协议基础知识笔记
usb协议 功能层: 控制传输.中断传输.块传输(批量传输).同步传输 设备层:管理USB设备.分配地址.读取设备描述符 总线接口层:采用NRZI编码-反向非归零编码(0将前一个电平翻转,1不翻转) ...
- TCP协议基础知识及wireshark抓包分析实战
TCP相关知识 应swoole长连接开发调研相关TCP知识并记录. 数据封包流程 如图,如果我需要发送一条数据给用户,实际的大小肯定是大于你发送的大小,在各个数据层都进行了数据的封包,以便你的数据能完 ...
随机推荐
- Swing 线程之SwingUtilities.invokeLater()
现在我们要做一个简单的界面. 包括一个进度条.一个输入框.开始和停止按钮. 需要实现的功能是: 当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作). ...
- MySQL底层概述—10.InnoDB锁机制
大纲 1.锁概述 2.锁分类 3.锁实战之全局锁 4.锁实战之表级锁(偏读) 5.锁实战之行级锁(偏写)-行级锁升级表级锁 6.锁实战之行级锁(偏写)-间隙锁 7.锁实战之行级锁(偏写)-临键锁 8. ...
- vue3 封装api接口
新建axiosj.ts import axios from 'axios'; import { showMessage } from "./status"; // 引入状态码文件 ...
- Winform在主窗体里切换多个窗体
1.点击解决方案资源管理器的项目名称,右键添加用户控件(Windows窗体). 2.在主窗体代码中实例化添加的用户控件(Windows窗体). 点击查看代码 UserControl1 userCont ...
- Qt 子窗口 隐藏标题栏的图标,在任务栏上的不显示
Qt子窗口使用Qt::Dialog样式时,隐藏窗口标题栏图标方法: this->setWindowIcon(QIcon()); Qt子窗口,在任务栏上的不显示,最简单的方法是设置Qt::Tool ...
- CVE-2023-3609 Linux 内核 UAF 漏洞分析与漏洞利用
漏洞分析 通过分析补丁和漏洞描述可以知道漏洞是位于 u32_set_parms 函数里面,代码如下: static int u32_set_parms(struct net *net, struct ...
- Go 内存管理
操作系统内存管理 操作系统管理内存的存储单元是页(page),在 linux 中一般是 4KB.而且,操作系统还会使用 虚拟内存 来管理内存,在用户程序中,我们看到的内存是不是真实的内存,而是虚拟内存 ...
- 【Amadeus原创】查看正在运行的docker run参数
如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具. 现在我如何进行重启,如何找回此前的启动命令? [root@mysql3 ~] ...
- Flutter 引用包命名冲突,重复引用
Flutter 引用包命名冲突,重复引用 报错信息 lib/page.dart:92:11: Error: 'Response' is imported from both 'package:get/ ...
- 强化学习算法中的log_det_jacobian
相关: https://colab.research.google.com/github/google/brax/blob/main/notebooks/training_torch.ipynb 之前 ...