简介
在DE2开发板上,使用串口接收PC上的Qt程序发送的640*480彩色图片,以RGB565格式存入SDRAM,通过VGA显示在屏幕上。
开发板:DE2
开发工具:Quartus II 13.0 + Modelsim 10.5 SE
全局时钟:50M
VGA时钟:25M
SDRAM时钟:100M
总体结构
上图是系统的总体结构,省略了PLL模块,实际上两个fifo都在SDRAM控制器内部。
一共5个模块:PLL、串口接收、数据合并、SDRAM控制器、VGA控制器
模块介绍
PLL模块负责生成三路时钟:
- 25M时钟:VGA使用
- 100M时钟:SDRAM控制器使用
- 100M(-90degree)时钟:SDRAM芯片使用
串口接收模块
波特率:115200
数据位:8
校验:无
停止位:1
串口模块负责接收PC发送的数据。
串口模块还是用之前的,不做修改。接口如下:
module uart_rx(
input clk,
input rst_n,
// uart rx
input rx,
// output data & valid
output reg valid,
output reg [7:0] data
);
数据合并模块
由于使用RGB565格式存储彩色图片,所以要把串口接收到的单字节数据合并为16bit位宽的RGB565格式数据。接口如下:
module data_merge(
input clk,
input rst_n,
// input data & valid
input iValid,
input