您现在的位置是:首页 > 家电

以ARM+FPGA结构驱动高分辨率液晶显示设计与效果测试

2020-12-23 02:06:05

摘 要: 结合ARM操作灵活和FPGA实时处理的优点,提出采用ARM+FPGA结构驱动高分辨率RGB888液晶显示屏。ARM接口丰富、操作灵活可以满足客户操作方便的需求;FPGA模块采用FPGA+DDR形式,数据存取速度达到400 MB/s可以满足画面刷新速度较快的需求;FPGA操作DDR方式采用双端口64 bit模式,设计32 bit数据读取宽度,实现RGB888数据无失真显示。通过ARM处理器LPC1788和Xilinx公司XC6SLX9硬件平台搭建形成产品,在很大程度上满足了工业液晶显示市场的需求。

传统工业液晶显示方案一般采用ARM结构[1],即ARM响应用户操作的同时又驱动液晶显示屏,实现人机交互操作。随着工业液晶显示的不断提高,高分辨率显示屏应用于工业场合,传统ARM方案驱动高分辨率显示屏已力不从心,操作反应迟钝、刷屏速度慢、显示效果差等缺点暴露出来。为解决上述缺点,本文给出一种ARM+FPGA结构驱动高分辨率液晶显示设计方案。

1 方案设计及工作原理

本文方案架构如图1所示,主要分为ARM操作处理和FPGA接收显示数据两大部分,其核心是用FPGA取代ARM内部显示缓冲区,提高ARM处理速度的同时,将ARM显示数据宽度由16 bit提升到32 bit,从整体上提升工业液晶显示器性能。

方案架构

1.1 ARM操作处理
ARM操作处理结构如图2所示。画面信息通过人机交互接口和MCU下载到NAND Flash中,需要显示时,MCU将画面读出,根据要求送出需要显示的数据至FPGA。为达到高画质、刷屏速度快的效果,NAND Flash及SDRAM采用32 bit数据宽度的设计,MCU内部处理使用32 bit模式,需要显示的数据直接送出32 bit。

1.2 FPGA接收显示数据
FPGA操作处理结构如图3所示。FPGA主要完成以下任务:根据液晶显示时序产生读写显示控制部分;将接收的数据存储到DDR中;从DDR中读取需要显示的数据,将需要显示的数据转换为LVDS信号格式,输出驱动液晶显示屏。

ARM操作处理结构/FPGA操作处理结构

1.2.1读写显示控制单元设计
根据液晶显示时序设计读写显示控制单元。各种液晶显示屏虽然时序有差异,但原理[2]相同,如图4所示,包括显示时钟DCLK、显示数据RGB_data、场频Vs、行频Hs、场消隐和行消隐,只要满足以上条件即可驱动显示屏。在行消隐期间将每行需要显示的数据从DDR中读取到读FIFO中用于该行的显示,完成每行的读操作后将写FIFO中数据存储到DDR中。

根据液晶显示时序设计读写显示控制单元

1.2.2 LVDS信号设计
LVDS信号中传输的数据是按照LVDS信号格式排列显示的,LVDS信号设计就是将需要显示的RGB888数据、DE使能信号和时钟信号转换为图5所示的LVDS信号格式[3]。

2 硬件设计

硬件设计主要分为ARM硬件设计模块和FPGA硬件设计模块。

2.1 ARM硬件设计
ARM硬件设计部分主要由ARM芯片1788、4片8 bit NAND Flash存储芯片及两片16 bit SDRAM组成,如图6所示。LPC1788通过并口、串口或者USB接口接收画面信息,经过处理预先存储到NAND Flash中;根据用户需求再从NAND Flash中读取将要显示的画面信息,同时配合SDRAM操作,将需要显示的画面送至FPGA硬件设计模块,进行下一步驱动显示屏操作。

ARM硬件设计部分主要由ARM芯片1788、4片8 bit NAND Flash存储芯片及两片16 bit SDRAM组成

2.2 FPGA硬件模块设计
FPGA硬件设计模块主要由一片Xilinx公司的XC6SLX9芯片和一片镁光公司的MT46V32M16-5B组成,如图7所示。在XC6SLX9内部需要设计的硬件结构包括:接收LPC1788送出的需要显示的数据;从MT46V32M16-5B中读取显示数据转换至LVDS驱动显示屏。

FPGA硬件设计模块主要由一片Xilinx公司的XC6SLX9芯片和一片镁光公司的MT46V32M16-5B组成

为方便处理,保证系统稳定可靠,FPGA芯片XC6SLX9内部时钟资源分配如图8所示。外部时钟40 MHz输入到FPGA内部时钟锁相环,经设计分别输出200 MHz至MT46V32M16-5B;80 MHz至DDR操作控制单元、写FIFO的读时钟和读FIFO的写时钟;400 MHz至LVDS信号产生模块的同时,经7分频输出57.14 MHz至读FIFO中的读时钟。其中,写FIFO的写时钟来自LPC1788的MCU_CLK。

FPGA芯片XC6SLX9内部时钟资源分配