基于基于AHB接口的高性能接口的高性能LCD控制器控制器IP设计设计
本文将说明高性能LCD控制器IP的模块化设计概念(如图一)。FTLCDC200 通过SDRAM控制器跟SoC内部总线
通信,控制器把图像数据从SDRAM读到TFT显示屏。CPU来控制整个系统的初始化与数据的流向,包括每个控
制器内部的配置寄存器、更新SDRAM中帧缓存区的内容。通过传递辅助端口输出的数据流,这套系统还可以为
电视相关的终端提供视频信号,这需要另外搭配TV 编码器与三通道视频DAC才能实现与TV的连接。 AHB
接口模块的设计概念 AHB 接口可以分为两个部分:一个是AHB 从接口,另一个是AHB 主接口。AHB 从 接
口连接FTLCD200和AMBA AHB总线,并且允许
本文将说明高性能LCD控制器IP的模块化设计概念(如图一)。FTLCDC200 通过SDRAM控制器跟SoC内部总线通信,控制
器把图像数据从SDRAM读到TFT显示屏。CPU来控制整个系统的初始化与数据的流向,包括每个控制器内部的配置寄存器、
更新SDRAM中帧缓存区的内容。通过传递辅助端口输出的数据流,这套系统还可以为电视相关的终端提供视频信号,这需要
另外搭配TV 编码器与三通道视频DAC才能实现与TV的连接。
AHB 接口模块的设计概念
AHB 接口可以分为两个部分:一个是AHB 从接口,另一个是AHB 主接口。AHB 从 接口连接FTLCD200和AMBA AHB总
线,并且允许系统中的AHB主接口的读写访问,此时AHB只能进行OK的响应和字(WORD)位宽的传输。AHB 主接口可以
把帧缓冲区中的图像数据取出后放入到LCD控制器的FIFO中。AHB接口可以处理长度不确定的字符串,也能够在处理出错的
时候发出主接口出错断言。当一个重试的应答收到后,第二次操作将开始被处理。
FIFO控制器和FIFO模块的设计概念
数据被AHB主接口从外都存储器读取后会被放入FIFO。除了YCbCr420模式下,其他模式都只需要一个控制器/FIFO。
Y、Cb、Cr需要有三个单独的通道,因为每一个会放于不同的存储单元。FIFO为32-bit位宽,深度则是可配置的。FIFO的输入
端连接在AHB 主接口的输出端;FIFO的输出端则被连接到了像素数据解包控制器。如果总线不能提供给像素流足够的带宽,
那么一些图像就会出现失真现象。因此,FIFO控制器会提供一个称为“欠运行中断”的信号,来通知微控制器解决总线阻塞的问
题。
图1 FTLCDC200的模组化方块图
像素数据解包
存储在FIFO中的数据都是32-bit,但可以按照不同的格式打包,如24位、16位、8位、4位、2位和1位,这取决于像素格
式的设定。当处于YCbCr420 和YcbCr422模式,像素格式是预先设定的且不能修改。根据操作模式,像素数据可以被用来对
调色板RAM区进行寻址,或者构成初始的色彩值而被直接应用到LCD的面板上。下面的表格有一个例子来描述数据包的格
式。FLCD200 提供了1位, 2位, 4位, 8位, 16位, 和24位BPP(每像素比特数),并且支持以下几种格式:大端(也称为大尾)字
节和大端像素、小端(也称为小尾)字节和大端像素、小端字节和小端像素。
数据模式
一、 原始的RGB模式
这种模式下有两个类型:16bpp和24bpp,每一种都适用于初始数据RGB模式。数据流不需要任何处理,但必须根据不同
的LCD面板的分辨率进行排序。