安路SparkRoad FPGA开发板驱动LVDS显示屏
[复制链接]
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协议需要根据需要修改。
22_VGA_Demo_lvds_lcd.zip
(2.27 MB, 下载次数: 52)
|