🚗 CAN节点开发实战
入门手册
📘 30章 · 从基础到项目
⚡ 完整目录
30/30
1
CAN总线基础
起源·物理层
差分信号、总线电平、汽车/工业应用场景
2
CAN协议核心
帧结构
SOF~EOF · 远程帧/错误帧/过载帧
3
CAN总线仲裁机制
CSMA/CA
位仲裁、优先级、非破坏性仲裁
4
CAN总线错误处理
错误状态机
位/填充/CRC/格式/ACK错误 · 主动/被动/关闭
5
CAN控制器与收发器
SJA1000/MCP2515
TJA1050/SN65HVD230 · 连接电路
6
STM32 CAN外设
bxCAN
正常/静默/环回模式 · 波特率配置
7
CAN过滤器配置
屏蔽位/列表
过滤器组 · ID匹配规则
8
CAN报文发送
发送邮箱
优先级 · 请求/完成/中止发送
9
CAN报文接收
FIFO机制
接收中断 · 溢出处理 · 过滤流程
10
CAN中断管理
中断源
发送/接收/错误/唤醒 · 优先级与ISR
11
CAN节点硬件设计
选型与布局
MCU/收发器 · 终端电阻 · 去耦电容 · PCB
12
CAN节点软件架构
分层设计
HAL/驱动/应用层 · 状态机 · 任务调度
13
CAN驱动开发(初始化)
GPIO·时钟
初始化结构体 · 过滤器初始化
14
CAN驱动开发(发送)
发送封装
超时处理 · 状态查询 · DMA优化
15
CAN驱动开发(接收)
回调·缓冲区
超时处理 · FIFO溢出保护
16
CAN驱动开发(错误处理)
中断·恢复
错误计数 · 总线恢复 · 日志
17
CAN应用层协议设计
DBC·信号
ID分配 · 打包解包 · 大端/小端
18
CAN网络管理
OSEK/VDX
唤醒/睡眠 · 状态监控 · 心跳报文
19
CAN诊断协议(UDS)
UDS on CAN
诊断请求/响应 · 会话控制 · DTC
20
CAN Bootloader设计
IAP·分区
固件校验(CRC32) · 跳转逻辑
21
CAN总线测试工具
PCAN/CANoe
CANScope · cantools · python-can
22
CAN总线测试方法
物理层/一致性
眼图 · 位时间 · 互操作性测试
23
CAN节点功能测试
压力测试
收发测试 · 错误处理 · 高负载
24
CAN节点EMC设计
共模·TVS
PCB屏蔽 · 差分对布线 · 远离干扰
25
CAN FD协议
CAN 2.0 vs FD
帧结构 · 64字节 · 速率切换
26
CAN FD开发实践
配置·兼容
FD控制器/收发器 · 兼容性设计
27
多节点CAN网络设计
拓扑·中继
节点数量 · 总线长度 · 星型/总线型
28
CAN与其它总线对比
LIN/FlexRay/Ethernet
成本·速率·确定性·带宽
29
CAN项目实战(一)
需求·硬件
原理图 · PCB · BOM清单
30
CAN项目实战(二)
软件·联调
驱动/应用层开发 · 测试 · 问题排查