CAN总线

目录

通信协议对比:

CAN硬件电路:

CAN电平标准:

CAN收发器:

重点:

·CAN总线(Controller Area Network Bus)控制器局域网总线

·CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线,广泛应用于汽车、嵌入式、工业控制等领域

·CAN总线特征:

两根通信线 (CAN_H、CAN_L),线路少

差分信号通信,抗干扰能力强

高速CAN(ISO11898):125k~1Mbps, <40m

低速CAN(ISO11519):10k~125kbps, <1km

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

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

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

可配置1~8字节的有效载荷

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

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

通信协议对比:

can的优势就是可以实现:多个主控通信

CAN硬件电路:

·每个设备通过CAN收发器挂载在CAN总线网络上

·CAN控制器引出的TX和RX与CAN收发器相连,CAN收发器引出的CAN_H和CAN_L分别与总线的CAN_H和CAN_L相连

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

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

CAN电平标准:

CAN总线采用差分信号,即两线电压差(VCAN_H-VCAN_L)传输数据位

高速CAN规定:

电压差为0V时表示逻辑1(隐性电平)

电压差为2V时表示逻辑0(显性电平)

低速CAN规定:

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

电压差为3V时表示逻辑0(显性电平)

电压差值大为0,电压差值小为1

0:显性电平,1:隐性电平

CAN收发器:

CANH与CANL的电压差2V,RXD(CAN收发器)接收到逻辑电平0,单片机(CAN控制器)收到0

CANH与CANL的电压差0V,RXD(CAN收发器)接收到逻辑电平1,单片机(CAN控制器)收到1

单片机(CAN控制器)发送1,TXD(CAN收发器)发送逻辑电平0,上下两个 MOS 管都截止。此时 CANH 和 CANL 通过内部的两个 25kΩ 电阻分压,都被偏置在 0.5V(相当于无差值)。

单片机(CAN控制器)发送0,TXD(CAN收发器)发送逻辑电平0,上方的 PMOS 导通(连到 VCC),下方的 NMOS 导通(连到 GND)。这时 CANH 电压被拉高到约 3.5V,CANL 被拉低到约 1.5V,产生 2V 压差。

重点:

正常空闲/悬空:CAN 收发器内部电阻把两根线拉到 2.5V(无压差,逻辑 1)。(类似 I2C 的上拉,但 CAN 是拉到中间电平,且靠内部电阻)

想发 0(显性):收发器强行把 CAN_H 拉高、CAN_L 拉低,产生 2V 压差。(类似 I2C 拉低,但 CAN 是双向差动拉扯)

想发 1(隐性):收发器松开,内部电阻又把两根线拉回 2.5V,压差消失。(类似 I2C 松开按键,上拉恢复高电平)

相关推荐
起个网名真难~15 小时前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
二本咕咕-机械转码15 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
Zwawa17 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·单片机·嵌入式
小李不想当小白17 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa18 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32
La Pulga19 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
铅笔小新z1 天前
【stm32】WWDG(窗口看门狗)
stm32·单片机·嵌入式硬件
comyccccc1 天前
平衡车底板设计:精准布局与高效布线学习笔记
单片机·嵌入式硬件
La Pulga1 天前
【FreeRTOS源码学习笔记】任务创建
笔记·stm32·mcu·学习·嵌入式·freertos·实时操作系统
芯片人0071 天前
GEK100系列芯片进入上市公司上海移远通信供应链
人工智能·单片机·嵌入式硬件·物联网·芯片