RGB显示屏属于并行接口,需要占用大量的信号线,以RGB888为例,RGB数据线8*3=24条,加上行场同步和时钟信号驱动一个RGB888的显示屏最少需要27条信号线,会占用大量的FPGA引脚。
要解决这个问题可以使用串并转换芯片,常见的芯片有MIPI转RGB、DVI转RGB和LVDS转RGB。对于MIPI和DVI 很多FPGA并不能在硬件上支持,印象里MIPI可以使用4组不同电平的I/O通过电阻实现一条差分对。这种5组差分对需要使用20个I/O也比较占用资源,而且类似MIPI和DVI转RGB的芯片价格相对都比较高。
通过LVDS驱动显示屏方式记得早期的笔记液晶屏基本都是这种接口,可以通过1组时钟和4组数据共5组差分对实现28位数据输出,现在的FPGA基本都有LVDS输出,占用引脚少使用起来也比较方便。
安路TD软件里自带了一个LVDS7_1的IP,支持VESA和JEIDA格式,使用起来比较方便,可以直接把原来驱动RGB屏的并行数据转换成LVDS数据输出。
解串芯片我使用TI的DS90CF386,通过SparkRoad的24pin摄像头接口连接到扩展板上。
因为显示屏还需要通过SPI配置,为了方便调试我直接使用STM32输出对应的配置数据,FPGA只负责将数据桥接到对应的引脚。
整体调试还算顺利,因为之前在创建IP时会提示出错,TD4是因为缺少文件,TD5提示另一种错误(具体忘了)。后来发帖求助后安路那边给了我一个之前缺少的文件,添加后编译正常。
最后附上工程文件,是通过原VGA例程修改的,LCD的参数和LVDS7:1协议需要根据需要修改。
引用: bigbat 发表于 2022-6-7 12:16 请教:问题1、我有一个7寸LCD ftf液晶(通用屏,某宝叫法),下图是该屏接口猜想是TTL接口,标准22线接口, ...
7寸液晶屏使用DS90CF386没问题,笔记本屏使用安路FPGA应该也没问题。