📡 CAN协议栈移植·全流程 30章 · 从入门到实战

🎓 友好色系
CAN总线起源 CAN2.0A/B CAN FD简介 分层模型
寄存器映射 初始化流程 收发GPIO
标准帧/扩展帧 数据帧/远程帧 ID仲裁 DLC & CRC
SS/PTS/PBS1/PBS2 采样点计算 SJW 波特率实战
单/双滤波器 掩码/列表模式 ID过滤规则 屏蔽位配置
发送邮箱管理 优先级仲裁 自动重传 超时处理
FIFO管理 报文存储/读取 溢出保护 硬件+软件过滤
中断源分类 优先级配置 ISR编写规范 嵌套与抢占
错误状态机 错误计数器 Bus-Off恢复 错误中断
分层架构(HAL/Core/API) 模块划分 接口定义 配置管理
MCU抽象层 平台无关性 条件编译 宏定义技巧
外设时钟源 分频配置 TQ计算 时钟精度影响
目标波特率 TQ & 位时间 采样点优化 MCU差异
DMA在CAN收发 描述符配置 环形缓冲区 降低CPU负载
睡眠模式 自动/手动唤醒 唤醒帧检测 低功耗设计
多控制器协同 数据路由 负载均衡 同步互斥
CANopen概述 对象字典 PDO/SDO NMT & 心跳
J1939概述 PGN/SPN 多包传输 地址声明
CAN分析仪 回环测试 自发自收 总线负载模拟
模块接口测试 状态机测试 边界条件 错误注入
模块间联调 中断与主循环 时序验证 压力/稳定性
中断延迟优化 内存使用 报文处理效率 缓存策略
报文丢失分析 总线错误定位 同步失败 波特率不匹配
逻辑分析仪 CANalyzer/CANoe printf调试 Trace日志
在线升级协议 Bootloader/App 校验与回滚 可靠性保障
总线加密 消息认证码 防重放攻击 安全访问控制
多核架构驱动 核间通信 缓存一致性 中断亲和性
FreeRTOS/uCOS 信号量/队列 中断与任务同步 优先级反转
硬件平台 协议栈移植 PDO配置测试 SDO读写验证
多路CAN路由 协议转换 性能调优 现场复盘