这套资料沿用现有目录,重点学习 时钟配置、通信协议、FOC 电机控制。面向具备一点电路与编程基础、希望把原理真正理解清楚的学习者。
文档以通用理论为主,包含概念解释、时序/流程、计算示例、配置思路、故障排查及自测。示例参数不是可直接用于所有硬件的配置;涉及寄存器、供电、频率上限和初始化顺序时,必须核对目标器件手册与勘误。
| 分类 | 文档 | 主要解决的问题 |
|---|---|---|
| 时钟树 | 时钟树与时钟配置理论 | 时钟从哪来、如何倍频分频、为什么定时和通信会不准 |
| 通信总览 | 通信协议总览与选型 | UART、I²C、SPI、CAN 如何选择,驱动如何分层 |
| 串口 | 串口通信理论与实践 | 位与字符、8N1、接口电平、应用帧、DMA 与排错 |
| I²C | I2C 通信理论与实践 | 开漏上拉、地址、ACK、重复起始、卡总线恢复 |
| SPI | SPI 通信理论与实践 | 四种模式、片选、全双工、dummy 周期、传输结束 |
| CAN | CAN 通信理论与实践 | 差分物理层、仲裁、位时序、ACK、错误和 bus-off |
| FOC 入门 | FOC 入门导读与学习路线 | 为什么控制电流、坐标变换有什么用、怎样循序学习闭环 |
| FOC 进阶 | FOC 电机控制理论笔记(原有资料) | 进一步学习变换、调制、电流环与速度环 |
原有 FOC 理论笔记保持不变。本次新增导读帮助衔接基础知识,不表示已对原笔记全文进行技术审校。
应能理解电压、电流、电阻、电容、公共参考地、二进制/十六进制、C 语言变量/数组/位运算,以及 Hz、秒、角度和弧度。如果遇到陌生概念,先补相应基础,不需要一次性学完全部电子学。
学习驱动前还应认识 GPIO 输入/输出、引脚复用、中断和寄存器。记住:软件设置不能修复错误电压或错误接线。
阅读时钟树文档,独立算出一组 PLL、总线和定时器频率。用硬件定时器输出已知频率的波形,验证实际周期,而不是只相信配置工具显示的数字。
完成标准: 能解释为什么 CPU 主频、APB 时钟和定时器时钟可能不同,并能排查两倍频率误差。
先读通信总览,再学习 UART。用兼容电平的串口适配器收发固定字节,观察位宽,区分字符与报文。随后给消息增加长度、序号、校验和超时规则。
完成标准: 能计算 8N1 理论吞吐,并解释为什么一次 DMA/IDLE 事件不必然对应一条完整命令。
学习 I²C 和 SPI,拿实际器件数据手册画出一次读寄存器事务。先轮询验证,再根据需要采用中断/DMA。
完成标准: 能画出 I²C 的重复起始和末字节 NACK;能解释 SPI 的 CPOL/CPHA,并说明读操作为什么仍要发送数据以产生时钟。
学习 CAN,区分控制器和收发器,理解 ID、仲裁、终端及位时序。实验需要合适的收发器和总线环境,不能直接把 MCU 的 CAN TX/RX 当成 CANH/CANL。
完成标准: 能说明 ACK 为什么不等于应用执行成功,知道 bus-off 后应先查故障,而非无限强制重启。
先读 FOC 入门导读,再读原有详细笔记。先用数学数据测试坐标变换,再研究 PWM/ADC 同步、角度测量、PI 和保护,最后才进入真实功率级实验。
完成标准: 能完整讲出“采样→变换→电流 PI→反变换→调制”的链路,以及角度错误和采样错误为什么危险。
- 第一次只建立全局图,不急着背公式。
- 第二次手算例子,写明变量单位与前提。
- 合上文档,用自己的话解释一次完整工作过程。
- 用逻辑分析仪/示波器或数学仿真验证一个关键结论。
- 做自测,把错题和实测现象记录下来。
推荐使用以下实验记录模板:
实验目标:
MCU/开发板型号与版本:
外设/收发器型号、手册版本:
供电、电平、接线和保护条件:
时钟路径及计算:
预期波形或数据:
实际测量:
差异与可能原因:
本次只修改的一个因素:
结论及尚未解决的问题:
- 本套 Markdown 可用支持 Markdown 的编辑器阅读;索引采用相对链接,整个目录移动后仍可保持关联。
- 文中的通用流程不是特定 SDK 的可直接运行代码,不能跳过硬件手册。
- 通信先确认电平与接地;电机实验先确认硬件关断、限流、机械固定与回馈保护。
- 普通示波器地夹常与保护地相连,不可随意接到高侧或浮动功率节点。
- 深入某个芯片时,优先以厂商数据手册、参考手册、勘误及接口规范为依据;各专题末尾给出了阅读方向。