画了一块SparkRoad的RGB LCD扩展板
<p> 这是我第一次调显示屏驱动,以前对LCD的显示接口不是很了解,这次一共买了三款,有支持i80 CPU接口的,有MDDI接口的,还有这个RGB接口的。MDDI和i80 CPU接口需要通过配置寄存器显示图像,适合在MCU上使用。RGB比较适合用在FPGA上,缺点是占用I/O比较多,它的时序和VGA一样,因为官方例程里已经提供了VGA驱动,只要把对应的参数设置好就能正确显示。</p><p></p>
<p> LCD的分辨率是640*480和我之前通过VGA测试的分辨率相同,不过参数和标准的VGA不同,如果使用原来的VGA驱动会显示不全。后来按照LCD的数据手册修改了前肩后肩和同步时间后可以正常显示。因为参数不一样,开始以为LCD和VGA同时显示需要写2个驱动,不过因为懒,我直接把VGA和LCD的线”并“到一起,使用LCD的驱动同时驱动VGA,没想到显示器不挑食,LCD的时序它也来者不拒。这样一个驱动就全搞定了,懒也有懒的好处。</p>
<p> 这款LCD除了标准的RGB接口外它还有一个串行的配置接口,用来接口是RGB还是YUV、显示方向和伽马校正这些,是标准的SPI接口。LCD配置我用STM32G474写了一个SPI驱动来实现的,没有使用FPGA来弄,因为我准备画的全功能扩展板SparkRoad预留的I/O不够用了,加上这个板子的SD存储一直没调通,我准备在扩展板上挂一颗单片机(不使用软核了),使用单片机的QSPI接收EG4S20的数据然后写到SD卡里,同时实现LCD配置和一些人机界面类的东西。</p>
<p> </p>
<p><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=1fB4y1279N&page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
</p>
<p>大佬牛逼</p>
<p>还支持复屏,强啊 666</p>
<p>VGA是模拟口,只要口线上有信号就可以了,需要两个信号同步就OK,频率也不严格。所以FPGA只要时序对了就有信号,只是信号线用的开关信号,所以颜色数不是很丰富。LCD的信号和VGA的时序很像所以可以并行。但是LCD是并行数字信号,可以传输更加丰富的色彩信息。</p>
bigbat 发表于 2022-4-25 15:17
VGA是模拟口,只要口线上有信号就可以了,需要两个信号同步就OK,频率也不严格。所以FPGA只要时序对了就有 ...
<p>SparkRoad的VGA是使用专用芯片实现的,将RGB信号转换成对应的模拟信号,数字部分和LCD一样。</p> littleshrimp 发表于 2022-4-25 16:06
SparkRoad的VGA是使用专用芯片实现的,将RGB信号转换成对应的模拟信号,数字部分和LCD一样。
<p>是LCD转VGA芯片吗?</p>
bigbat 发表于 2022-4-25 17:34
是LCD转VGA芯片吗?
<p>图片这款芯片,说RGB转VGA可能不太合适,ADI有款比较常用的ADV7125,叫视频ADC,相当于3路8位DAC。</p>
<p> </p>
页:
[1]