🚌 CAN通信 · 30章

软件架构 & 代码实现
01CAN协议基础
📡 总线起源 · 与RS485对比 · 物理层特性
02CAN数据帧结构
📦 标准/扩展帧 · ID仲裁 · CRC校验
03CAN错误处理机制
⚠️ 错误类型 · 主动/被动/总线关闭
04CAN总线位定时与同步
⏱️ 位时间分段 · 采样点配置
05CAN控制器硬件架构
🔩 SJA1000/MCP2515 · 验收滤波器
06CAN收发器选型
⚡ TJA1050/SN65HVD230 · 隔离设计
07STM32 CAN外设详解
🧩 bxCAN模式 · 过滤器组 · FIFO
08CAN驱动层设计 (HAL库)
📟 HAL_CAN_Init · 回调函数机制
09CAN驱动层设计 (LL库)
⚙️ 寄存器级操作 · 发送邮箱调度
10CAN应用层协议设计
📋 自定义 vs J1939 vs CANopen
11CANopen协议栈移植
📂 对象字典 · PDO/SDO · NMT
12J1939协议栈实现
🚛 PGN/SPN · 多包传输 · 地址声明
13CAN报文发送模块设计
📤 环形缓冲区 · 优先级队列 · 超时重传
14CAN报文接收模块设计
📥 中断/DMA接收 · 去抖动 · 时间戳
15CAN网络管理模块
💓 心跳报文 · 节点监控 · 离线恢复
16CAN诊断协议 (UDS on CAN)
🩺 ISO 14229-1 · DTC读取
17CAN Bootloader设计
📲 固件升级 · 安全校验 · Flash擦写
18CAN总线负载率计算
📊 位时间利用率 · 峰值负载 · 余量
19CAN总线实时性分析
⏳ WCRT · 优先级反转 · 抖动
20多节点CAN通信同步
🕒 全局时间同步 · 时钟漂移补偿
21CAN总线故障注入测试
🔌 短路/断路 · 位错误 · 反接测试
22CAN总线信号质量分析
📈 眼图 · 共模电压 · 终端电阻
23CAN上位机工具开发 (Python)
🐍 python-can · PCAN-USB · 可视化
24CAN上位机工具开发 (C#)
🖥️ ZLG USBCAN-II · DBC解析
25CAN与Ethernet网关设计
🌐 协议转换 · TCP/IP封装 · 延迟优化
26CAN与LIN总线混合网络
🔗 LIN子网 · 网关路由 · 唤醒机制
27CAN FD协议进阶
🚀 FD vs 2.0 · 速率切换 · 数据场扩展
28CAN XL协议前瞻
🔮 XL vs FD · 数据场>2048B · 新物理层
29车载CAN网络实战案例
🚗 BMS通信 · VCU/MCU · OTA升级
30工业CAN网络实战案例
🏭 伺服驱动 · PLC/IO · EtherCAT共存