Skip to content

LNC0831/adaptive-uart-transceiver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 中文

Adaptive UART Transceiver

自适应波特率 UART 收发器 — 自动检测 9600/19200/38400/57600/115200

Platform Clock Language License


本项目由 SynthPilot 全流程驱动完成 — 从 RTL 编写、仿真验证、综合实现到比特流生成,全部通过 AI + MCP 自动化工具链一次性交付。

🔗 了解更多:synthpilot.dev  💬 交流 QQ 群:1007696121


特性

  • 自动波特率检测 — 最小脉宽跟踪 + ±4% 容差匹配,3 次确认后锁定
  • 5 种标准波特率 — 9600 / 19200 / 38400 / 57600 / 115200
  • 16x 过采样 — 中点采样,抗噪声干扰
  • 环回验证 — RX 数据自动回显至 TX,便于测试
  • LED 状态指示 — 锁定 / RX 活动 / TX 活动 / 帧错误
  • 极低资源占用 — 176 LUT / 155 FF(xc7z020 的 0.33%)

架构

uart_top
├── auto_baud_detect   脉宽测量 → 波特率匹配 → 锁定
├── baud_gen (×2)      可配置 16x 过采样分频器 (RX/TX 各一)
├── uart_rx            8N1 接收, 双 FF 同步, 中点采样
└── uart_tx            8N1 发送, LSB first

文件结构

├── rtl/
│   ├── auto_baud_detect.v    波特率自动检测
│   ├── baud_gen.v            波特率分频器
│   ├── uart_rx.v             UART 接收器
│   ├── uart_tx.v             UART 发送器
│   └── uart_top.v            顶层模块(含环回)
├── sim/
│   └── uart_tb.v             测试文件(6 组 14 项测试)
├── constrs/
│   └── uart_pins.xdc         引脚与时序约束 (PYNQ-Z2)
└── LICENSE

设计参数

参数 说明
CLK_FREQ 50 MHz 系统时钟
过采样倍率 16x 标准 UART 采样
检测容差 ±4% 波特率匹配窗口
锁定阈值 3 次 连续匹配次数
DIV (115200) 27 50M / 115200 / 16
DIV (9600) 325 50M / 9600 / 16

实现结果

指标
Setup WNS +7.288 ns
Hold WHS +0.199 ns
LUT / FF 176 / 155
功耗 0.107 W
目标器件 xc7z020clg400-2

仿真覆盖

测试组 内容 结果
G1 115200 波特率检测
G2 115200 环回回显 (0xA5, 0x3C, 0xFF)
G3 复位后 9600 重检测
G4 边界数据 (0x00, 0xFF, 0xAA)
G5 复位后 38400 检测
G6 帧错误检测与恢复

使用方式

  1. 在 Vivado 中创建工程,目标器件选择 xc7z020clg400-2
  2. 添加 rtl/ 下全部源文件,设置 uart_top 为顶层
  3. 添加 constrs/uart_pins.xdc 约束文件(按实际板卡修改引脚)
  4. 添加 sim/uart_tb.v 到仿真文件集
  5. 运行仿真 → 综合 → 实现 → 生成比特流

许可证

MIT

About

自适应波特率 UART 收发器,支持 9600/19200/38400/57600/115200 自动检测,16x 过采样,环回验证,目标平台 Zynq-7020。 Adaptive baud rate UART transceiver with auto-detection for 9600/19200/38400/57600/115200, 16x oversampling, loopback verification, targeting Zynq-7020.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors