古法编程
CAN 总线 / 汽车电子
开始学习
CAN · CAN FD · UDS · AUTOSAR
CAN 总线 / 汽车电子
从一根双绞线到整车网络,系统掌握汽车电子通信。
物理层、数据帧、位时序、bxCAN、CAN FD、UDS 诊断、CANopen/J1939 到 AUTOSAR,16 章从原理到实战。
16
章节
STM32
bxCAN
CAN FD
8Mbps
UDS
诊断
AUTOSAR
通信栈
课程目录
Chapter 01
CAN 总线概览
为什么汽车用 CAN、Bosch 1986 起源、点对点线束到总线的演进、多主非破坏性仲裁原理、CAN vs UART/SPI/I2C/LIN/FlexRay 对比。
总线
仲裁
汽车架构
Chapter 02
物理层
差分信号 CAN_H/CAN_L、显性/隐性电平、双绞线拓扑、120Ω 双端终端电阻、TJA1050/TJA1042 收发器、高速 CAN vs 低速容错 CAN。
差分信号
终端电阻
收发器
Chapter 03
数据帧格式
标准帧(11位ID)/扩展帧(29位ID)、SOF/仲裁场/控制场/数据场/CRC场/ACK场/EOF、RTR/IDE/DLC 位、位填充规则、四种帧类型。
数据帧
位填充
CRC
Chapter 04
位时序与采样点
一个位分 4 段(SYNC/PROP/PHASE1/PHASE2)、Tq 时间量子、采样点百分比、波特率计算、SJW 重同步跳转宽度,500kbps@42MHz 配置示例。
位时序
采样点
波特率
Chapter 05
错误处理机制
五种错误类型、错误帧、TEC/REC 错误计数器、错误主动/被动/总线关闭三态状态机、故障界定 fault confinement、自动重传。
错误帧
总线关闭
故障界定
Chapter 06
STM32 bxCAN 外设
bxCAN 结构、发送邮箱与接收 FIFO、标识符过滤器组、掩码模式与列表模式、工作模式(初始化/正常/睡眠)、时间触发通信。
bxCAN
过滤器
FIFO
Chapter 07
CAN 收发实战
HAL 库配置 CAN、发送报文、中断/轮询接收、过滤器配置代码、双节点通信实验、环回自检模式调试技巧。
HAL
收发
中断
Chapter 08
CAN FD
CAN FD 灵活数据速率、64 字节数据场、BRS 位速率切换、FDF 位、CRC 增强、与经典 CAN 兼容性、FDCAN 外设配置。
CAN FD
64字节
BRS
Chapter 09
FreeRTOS + CAN
CAN 接收任务与队列解耦、中断中投递到队列、报文调度周期发送、多任务下的邮箱竞争、优先级反转防护。
FreeRTOS
队列
调度
Chapter 10
OBD-II
OBD-II 车载诊断标准、诊断接口引脚、模式 01-0A、PID 参数、请求 7DF/响应 7E8、读取转速车速故障码,ELM327 原理。
OBD-II
PID
故障码
Chapter 11
UDS 诊断 ISO 14229
UDS 统一诊断服务、会话控制/安全访问/读写 DID/例程控制、ISO-TP 多帧传输、NRC 否定响应码、诊断仪交互流程。
UDS
ISO-TP
安全访问
Chapter 12
CANopen
CANopen 工业协议、对象字典 OD、PDO/SDO、NMT 网络管理、心跳报文、SYNC 同步、EDS 电子数据表,工业自动化应用。
CANopen
PDO/SDO
对象字典
Chapter 13
J1939
SAE J1939 商用车协议、29 位扩展 ID 结构、PGN/SPN、传输协议 TP.CM/TP.DT、地址声明、广播与点对点、卡车与工程机械。
J1939
PGN/SPN
商用车
Chapter 14
DBC 数据库与上位机
DBC 文件格式、Message/Signal 定义、字节序 Intel/Motorola、缩放偏移、CANoe/CANalyzer/BusMaster 上位机、Python-can 解析。
DBC
上位机
Signal
Chapter 15
AUTOSAR 通信栈 + Bootloader
AUTOSAR 分层架构、CAN 驱动/CanIf/PduR/COM、CanTp、诊断栈 Dcm/Dem、CAN Bootloader 刷写流程、UDS 27/34/36/37 服务。
AUTOSAR
Bootloader
刷写
Chapter 16
实战:多节点车身网络
完整项目:仪表/车身控制器/车门节点多 ECU 组网,周期报文调度、事件报文、网络管理唤醒休眠、DBC 定义与联调。
实战
多节点
车身网络
同卷推荐
嵌入式卷 · 顺手翻翻
ARM 嵌入式 C 开发(STM32)
→
ESP32 物联网开发
→
FreeRTOS 实时操作系统
→
Rust 嵌入式开发
→
Arduino 入门
→
树莓派 / 嵌入式 Linux
→
⚒️ 配套开发者工具箱 · JSON / 正则 / 时间戳 / Cron 等 17 款免费在线工具
→