DDR3(8):添加UART发送和HDMI显示
前期工作完成后,就要设计发送和显示了,本次设计采用 UART进行发送和 HDMI 进行显示。 一、总体框架 二、PC端UART 用串口助手即可,网上很多这种软件,发送时注意一下波特率、停止位和 hex 格式。图片数据的产生采用 Matlab 软件,将图片转换成 RGB565 的 16bit 像素数据,每个像素数据用两个 8bit 数据表示,串口发送两个数据表示一个像素点。 三、uart_rx 之前的博客已经详细介绍了串口的发送和接收,此处不再赘述。 四、8转128bit 1、方法1 本来的设想是串口过来的 8bit 数据直接转成 128bit 的数据,后来发现 FIFO 不给力,写 8bit,读只能最多选 64bit,因此先代码设计一下 8bit 转 16bit,再用 FIFO实现 16bit 转 128 bit。这里 FIFO 除了转bit位数,还一个功能是跨时钟域。此外设计读使能时需注意,因为 user_wr_ctrl 模块里设计的突发长度是64,因此设计 FIFO 时需要注意两点:一是FIFO内的数据个数必须大于64才能启动读,也就是用户写;二是读使能64次后关闭读使能,又回到第一步判断是否能启动读。如此反复。 // ==========================================================================