新型高分辨率LCD控制器的设计与实现
扫描二维码
随时随地手机看文章
摘 要: 为了解决ARM等嵌入式处理器驱动大屏幕LCD困难的问题,提出了一种基于FPGA的大屏幕LCD控制器解决方案。该控制器通过搭建合理的架构设计及巧妙的总线仲裁机制,解决了大屏幕显示所需的高刷新率和高更新率问题。同时,多个内部寄存器使其支持各种型号的LCD显示器,并成功地驱动了15英寸的LCD显示器。
关键词: 大屏幕LCD; FPGA; LCD控制器
随着电子技术的发展,大屏幕LCD显示器越来越多地成为各种电子设备的显示终端。但是现有的大部分嵌入式处理器,因为其自身的总线速率限制了驱动大屏幕LCD的能力。例如自带LCD控制器的ARM嵌入式处理器(三星的2440),其系统总线的时钟频率最高只能达到133 MHz[1],除了要传输显示LCD屏的数据外,系统总线还要提供其他设备的数据吞吐,所以它的数据传输量只能满足小屏幕的显示,无法满足高分辨率屏幕的数据显示。
市场上有很多专用的LCD控制芯片,但是其价格较高、配置不灵活。因此,本文基于能够高速运行的FPGA[2]为处理核心,以SDRAM作为显示缓存,设计LCD控制器,既能够将ARM的系统总线上的显示数据取出,并驱动大屏幕显示数据,又能够解决专用芯片的弊端。成功地解决了嵌入式处理器在驱动大屏幕LCD时的资源紧张问题,并可提供清晰稳定的图像显示。
1 架构选择及硬件实现
1.1 架构分析选择
根据嵌入式处理器的工作原理,有三种架构形式可以实现LCD控制器的设计[3],如图1所示。架构2和架构3采用了与CPU共用显示存储器的方式,在显示过程中,CPU和LCD控制器需要间断地释放对共用存储器的访问,以完成刷新数据和更新数据在存储器中的交互。这两种架构中,CUP对存储器的访问会直接影响到显示数据的更新及LCD显示器的显示效果。尽管架构2增加了本地存储器,提高了系统性能,但是同样受到架构模式的制约。而架构1避免了共用显示存储器的模式,将LCD控制器作为总线上的一个外设,CPU将需要更新显示的数据通过存储器接口发送给总线上的LCD控制器,LCD控制器控制LCD显示。本文系统即采用了架构1形式的架构。
1.2 系统硬件设计
基于架构1设计了图2所示的硬件结构。整个系统以FPGA对更新数据和刷新数据的仲裁处理为核心,配合SDRAM的操作及显示数据的传输标准转换(LVDS转换)完成其大屏幕显示器驱动的任务,实现显示功能。
XC6SLX45是XILINX公司新推出的一款FPGA,属于SPARTAN6系列,具有很高的性价比优势。利用FPGA配置灵活的特点,在硬件方面FPGA主要实现四个接口:CPU接口、SDRAM接口、FPGA配置接口和LCD接口。其中,SDRAM接口[4]和LCD接口都是常用的标准接口,这里不再赘述。FPGA的配置接口用于对FPGA的被动串行配置,采用FPGA的这种配置方式可以很好地提高该控制器的可移植性,又可以节省FPGA的配置芯片的成本。LCD控制器通过CPU接口连接到AMBA总线上[5],并以存储器的方式被嵌入式处理器访问。