
电脑 → 串口(UART) → FPGA 双口 RAM → VGA 显示器最终效果是:电脑上的一张图片,通过串口发送到 FPGA,再由 FPGA 实时显示到 VGA 屏幕上。
老师特别强调了用双口 RAM 做缓存,这是解决 "串口慢、VGA 快" 时序不匹配的关键.
一、整个系统的工作流程(老师讲的核心逻辑)
整个链路分为 3 个核心环节,双口 RAM 是中间的 "数据桥梁"。
- 电脑端:把图片变成 FPGA 能读的数据把一张图片转换成像素数据(比如 8 位灰度、16 位 RGB565 格式的二进制 / 十六进制数据),再通过串口助手发送给 FPGA。老师说的 "粘几万个数据",就是指把图片转换成几万到几十万个像素数据点。
- FPGA 端:串口接收数据,写入双口 RAM 你之前调试的
uart_rx模块就是干这个的:接收电脑发来的串口数据,按顺序把每个像素数据写入双口 RAM 的 "写端口"。 - FPGA 端:VGA 驱动模块从 RAM 读数据,显示到屏幕VGA 驱动模块按照显示器的扫描时序,不断从双口 RAM 的 "读端口" 读取当前像素对应的颜色数据,输出到 VGA 接口,最终拼成完整的图片。