目录
一.RGB TFT-LCD简介
1.1分辨率
1.2像素格式
1.3LCD屏幕接口
1.4LCD时间参数
1.5RGB LCD屏幕时序
1.6像素时钟
二.实验任务
三.模块设计与仿真
3.1读ID模块设计
3.1.1模块设计
3.1.2波形绘制
3.1.3modelsim仿真波形
3.2时钟分频模块
3.2.1模块设计
3.2.2绘制波形图
3.2.3仿真波形
3.3lcd_driver模块
3.3.1模块设计
3.3.2绘制波形
3.3.3仿真波形
3.4lcd_display模块
3.4.1模块设计
3.4.2波形仿真
一.RGB TFT-LCD简介
1.1分辨率
以分辨率1080P举例,指的就是LCD屏幕上的像素数量是1920*1080个。像素点就是一个包含光三原色(红绿蓝)的RGB小灯。
1.2像素格式
一般一个 R、G、B 这三部分分别使用8bit 的数据,那么一个像素点就是 8bit*3=24bit,也就是说一个像素点 3 个字节,这种像素格式称为 RGB888。
1.3LCD屏幕接口
本实验用到的启明星开发板支持 RGB 接口的 LCD 和 HDMI 接口的显示器,RGB LCD 接口的信号线如下表所示: 其信号线含义下面会介绍。
1.4LCD时间参数
如下图所示,LCD显示图片是按照从左至右,从上至下依次将像素点点亮。HSYNC 是水平同步信号,也叫做行同步信号,当产生此信号的话就表示开始显示新的一行了。当从左至右点亮一行末端(右侧)后,从下一行首端(左侧)开始点亮时,需要等待一端时间(因为点完一行需要跑一会才能到达下一行首端),这段时间就称为HBP(行显示后沿)和HFP(行显示前沿)。同理,当点完一帧画面后,即点到最后一行末端时,就需要再等待一会才能点亮下一帧图片(因为点完当前帧的最后一行末端移到下一帧首端也需要跑一段时间),该等待时间称为VBP(帧显示后沿)和VFP(帧显示前沿)。VSYNC(帧/场同步信号),当产生此信号的话就表示开始显示新的一帧了。
1.5RGB LCD屏幕时序
1.6像素时钟
二.实验任务
三.模块设计与仿真
3.1读ID模块设计
3.1.1模块设计
该模块任务就是根据lcd显示屏传来的rgb数据,判定是多少分辨率的板子,对应关系在如下图所示,从而得到板子的ID,进一步根据分辨率由上面一张表得到LCD的时序参数。
3.1.2波形绘制
这里我的lcd显示屏的分辨率大小是4.3寸,分辨率是800*480.当清零信号(rst_n)消失后,读id标志(rd_flag)信号开始拉高,表示可以根据传输进来的lcd_rgb信号,读出对应的lcd_id号了。
3.1.3modelsim仿真波形
3.2时钟分频模块
3.2.1模块设计
由系统时钟50Mhz,设计出12.5MHZ和25Mhz的分频时钟。
3.2.2绘制波形图
3.2.3仿真波形
因为4384需要的系统时钟是25MHZ,故lcd_pclk=25MHZ.
3.3lcd_driver模块
3.3.1模块设计
该模块是根据识别到的lcd的id号从而给出驱动lcd屏幕的信号,lcd_clk,lcd_hs,lcd_vs,lcd_b1,lcd_de,lcd_rst,lcd_rgb。以上信号只要是驱动lcd屏幕显示,lcd_hs,lcd_vs,lcd_b1,lcd_rst全程给高电平,因为我们使用的是de模式。因此需要计算的只有lcd_de、lcd_rgb、pixel_xpos、pixel_ypos(这两个信号不连接显示屏,是为了给下一个模块使用)
lcd_de信号:表示lcd屏幕驱动像素点使能信号,该信号高电平时,lcd屏幕可以驱动像素点,而使用的板子分辨率为800x480.故每行像素点有800个,该信号持续时长为800个clk周期。
lcd_rgb信号:表示要传给lcd屏幕每个像素点的像素值(值不同才能显示不同的画面),该信号由下面一个信号给出。
pixel_xpos信号和pixel_ypos信号:相当于lcd屏幕显示的坐标,该信号得到800X480任意一点的(x,y)坐标,方便后续赋像素值。
3.3.2绘制波形
h_cnt信号:对点亮一行的时间进行计数(单位是像素点,即一个clk)。由下图中可知,4384点亮一行的总时间为1056,故h_cnt计数范围是0~1055.
v_cnt信号:对点亮一帧的时间进行计数(单位是行,即1056*T(clk))。由下图可知4384点亮一帧的总时间为525,故v_cnt计数范围是0~524.
data_req信号:代表到行显示区域时(即下表中的800),发出数据请求,表示可以点亮像素点。同lcd_de含义一样,只不过时序电路会延迟一个clk赋值,故引入中间信号data_req。
lcd_de:上面已经解释过,实现时对data_req打一拍即可。
pixel_xpos,和pixel_ypos就是对lcd屏幕进行建模,得到任一点的坐标。
3.3.3仿真波形
由波形可以看出,与设计相符。
3.4lcd_display模块
3.4.1模块设计
本实验时彩条显示,故根据pixel_xpos的值分别赋予不同的颜色,一共显示5个彩条,则800/5=160.则党pixel_xpos=(0-160),(160-320),(320-480),(480-540),(540-800)依次赋值即可。
3.4.2波形仿真
3.5总体系统框图
四.板级验证