在设计TFTLCD液晶硬件驱动电路的时候,咱们会发现TFTLCD裸屏(买来的最初元件)的接口并不是类似,因此致使驱动电路设计须要有些差异。缓存
TFTLCD液晶的本质 spa
本质就是点阵。设计
TFTLCD驱动电路的任务 视频
点阵要想显示图形,就须要不断的扫描。所谓的驱动电路,完成的工做就是不断的扫描LCD,一般帧率都在30~60Hz上才能令人看不到屏幕的抖动。blog
MCU发送显示内容到驱动电路上,而后驱动电路再将这些数据不断的扫描到显示器上完成显示。因而可知,驱动电路都必须具备缓冲区,以缓存显示内容。固然缓冲区越大,一般对应的屏幕储存越大或者支持的虚拟页显示越多。接口
一言以蔽之,驱动电路的任务就是接收MCU的显示数据,而后以足够的帧率在屏幕上扫描显示。开发
市场上买来的裸屏之间的区别 同步
市场上买来的3.2寸左右的小屏一般都是带有驱动芯片,好比说ili9341之类的,驱动芯片包含缓冲区和扫描显示电路。对于用户来讲,不须要额外的驱动电路。这类屏幕提供的接口,有SPI/RGB/8080CPU,不一样的接口可使用不一样档次的MCU来控制。SPI可使用51单片机来驱动,8080CPU接口可使用stm32来驱动,RGB接口能够看使用自己具备LCD驱动电路的S3C2440来驱动。硬件
市场上买来的4.3寸以上的裸屏,一般是不提供驱动芯片的,也就意味着驱动电路须要用户本身设计,经常使用的驱动芯片有RA8875等。大屏幕提供的接口与小屏幕提供的仍是有区别的,我用的TQ2440开发板上所带4.3寸屏幕是RGB接口。im
ili9341与LCD接口和S3C2440与LCD接口的对比
可见ili9341驱动的3.2寸LCD,它与驱动芯片的接口是S720~S1和G320~G1,就是利用这些控制线对LCD进行扫描。S3C2440直接驱动的4.3寸LCD,它对外的接口是RGB接口,利用RGB接口对LCD进行扫描(与摄像头接口相似,分帧同步信号、行同步信号、像素时钟、数据线)。
更新缓存的频率和扫描显示的频率
在咱们观看一个视频的时候,视频帧须要以必定的频率写入到显存(能够认为是驱动芯片的缓冲区)中,而缓冲区的内容到屏幕上显示还有一个扫描频率,这两个是不一样的。扫描刷屏的频率在30~60Hz范围上,而视屏流到显存的频率应该刷屏的频率低,由于太高的频率,刷屏也显示不出来。
S3C2440接带ili9341的LCD屏
ili9341接STM32用的是8080CPU接口,而接S3C2440的LCD控制器应该用RGB接口。这中间其实有些古怪,S3C2440的LCD控制器会不断地把本身的显存刷新到ili9341的显存,ili9341再把本身的显存刷新到LCD上。固然这个ili9341其实有点多余了。