采用CPLD或者FPGA显示TFT液晶屏

时间:2024-03-28 17:14:15

一般带显示控制器的MCU价格比较高,且驱动较大显示分辨率的液晶屏需要的显存较大,所以很多人采用CPLD(FPGA)+SDRAM用来取代显示控制器,从而MCU的选择范围可以更大。本文介绍了此种设计的部分内容。

采用CPLD或者FPGA显示TFT液晶屏

图1 硬件设计框图

首先最重要的接口是LCD接口,需要严格按照LCD操作时序输出行场扫描,数据使能信号。

采用CPLD或者FPGA显示TFT液晶屏

图2 液晶显示屏数据和使能时序图

采用CPLD或者FPGA显示TFT液晶屏

图3 液晶显示屏行场扫描时序图

接下来是要设计SDRAM控制器,用于存储需要显示的画面。SDRAM控制器网络上很多文章专门介绍如何设计。一般设计包括两部分,分别是SDRAM的初始化和SDRAM正常操作部分两个状态机。

SDRAM初始化操作包括不小于6次的自刷新,然后载入配置寄存器。SDRAM正常操作包括对读写请求的执行,以及定期的自刷新操作。一般设计的时候需要下载SDRAM仿真模型,用于验证操作时序是否符合要求。

采用CPLD或者FPGA显示TFT液晶屏

图4 仿真SDRAM初始化操作打印结果

另外还要设计与MCU的接口,MCU接口大部分采用英特尔8080模式和摩托罗拉6800模式,其中8080模式采用数据总线(DB)、数据/指令选择(D/I)、片选(CS)、读使能(WR)、写使能(RD);6800模式采用用数据总线(DB)、数据/指令选择(D/I)、片选(CS)、读写选择(RD/WR)。

根据以上分析,得出显存控制芯片内部程序设计结构框图如图5所示。

采用CPLD或者FPGA显示TFT液晶屏

图5 显示控制器内部设计框图

本人已经实现了采用CPLD和FPGA两种方案的显示控制器程序设计,驱动屏分辨率可调,有意向需要购买源代码或者IP网表的,可以与本人联系,请发邮件至[email protected],可以开发票。下图是采用CPLD方案的板卡图片。

采用CPLD或者FPGA显示TFT液晶屏

图6 采用STM32+CPLD+SDRAM的实际板卡

采用此设计方案的最终性能:

1、MCU接口写速率:要求两次写像素之间间隔不小于300ns,最大支持写速率6.66MByte/s;

2、支持多屏页存储显示,可以在写一屏显示内容时,显示其它页显示存储内容;

3、支持定点写入像素,可在指定任意像素写入显示值;

4、支持屏幕x方向递增和y方向自动递增,在设置一次x、y坐标后,后面仅写入像素数据即可。

5、当前TFT显示分辨率为480*272,可根据要求支持更大分辨率,CPLD方案支持液晶分辨率最大不超过800*480。


欢迎转发,谢谢!