01
状态机基础
什么是状态机、三要素(状态、转移条件、输出)及在串口接收中的角色
核心概念入门
02
串口协议回顾
UART帧结构:起始位、数据位、校验位、停止位;波特率与采样时钟
协议基础
03
空闲状态 (IDLE) 设计
空闲状态设计实现,如何检测起始位
状态机起始位
04
数据接收状态 (DATA)
逐位采样与移位寄存设计
采样移位
05
校验状态 (PARITY)
奇偶校验的实现逻辑
校验PARITY
06
停止位状态 (STOP)
帧结束判断与错误检测
停止位错误检测
07
完整状态机整合
IDLE→DATA→PARITY→STOP 串联
整合FSM
08
Verilog实现(一):状态编码
二进制、独热码、格雷码选择与对比
编码Verilog
09
Verilog实现(二):三段式
状态跳转、次态逻辑、输出逻辑详解
三段式RTL
10
Verilog实现(三):完整RTL
串口接收模块完整代码编写
RTL完整
11
仿真验证(一):Testbench
生成激励信号:起始位、数据位、停止位
仿真Testbench
12
仿真验证(二):波形分析
检查状态跳转与数据准确性
波形调试
13
仿真验证(三):异常情况
毛刺、波特率偏差、帧错误仿真
异常鲁棒性
14
同步与异步处理
跨时钟域问题,双级触发器同步
CDC同步
15
边沿检测技术
用状态机实现下降沿检测,起始位识别
边沿检测
16
波特率发生器设计
分频计数器原理,与状态机协同
波特率分频
17
过采样技术
16倍过采样原理与实现,提高可靠性
过采样可靠性
18
数据缓存与FIFO
接收数据缓存,异步FIFO应用
FIFO缓存
19
错误处理机制
帧错误、溢出错误、校验错误标志位设计
错误标志
20
低功耗设计
空闲状态降低功耗,时钟门控与状态冻结
低功耗门控
21
参数化设计
parameter定义数据位宽、波特率、校验模式
参数化可复用
22
状态机优化
减少状态、合并冗余、提高运行频率
优化高频
23
FPGA实现与调试
开发板运行,逻辑分析仪抓取信号
FPGA调试
24
常见问题与避坑(一)
亚稳态、采样点选择、起始位误判
避坑亚稳态
25
常见问题与避坑(二)
连续接收状态复位、FIFO溢出处理
溢出复位
26
常见问题与避坑(三)
波特率不匹配表现与调试方法
波特率调试
27
高级话题:多字节与9位模式
多字节接收状态机,支持9位数据模式
高级9位
28
高级话题:自动波特率检测
Auto Baud Rate Detection 原理与实现
自动波特率高级
29
高级话题:与CPU交互
中断机制、寄存器接口设计
CPU中断
30
课程总结
全流程回顾,设计规范与最佳实践
总结规范