首页 > 编程知识 正文

fpga驱动显示屏,fpga应用实例

时间:2023-05-06 16:20:24 阅读:125002 作者:3507

摘要:结合ARM操作灵活性和FPGA实时处理的优点,提出采用ARM FPGA结构驱动高分辨率RGB888液晶显示器。 ARM界面丰富,操作灵活,可满足客户方便操作的需求; FPGA模块采用FPGA DDR格式,数据访问速度达到400 MB/s,可以满足屏幕更新速度快的需求; FGA操作DDR方式采用双端口64位模式,设计了32位数据读取宽度,实现了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位的数据宽度设计,MCU内部处理使用32位模式,显示的数据需要原样送出32位。

1.2 FPGA接收显示数据

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

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位非闪存芯片和2块16位SDRAM组成。 LPC1788通过并行端口、串行端口或USB接口接收屏幕信息,并经过处理后存储在NAND Flash中; 根据用户需求从NAND Flash读取想要显示的画面信息的同时,根据SDRAM操作,将想要显示的画面发送到FPGA硬件设计模块,进行以下显示器驱动操作。

2.2 FPGA硬件模块设计

如图7所示,PGA硬件设计模块主要由Xilinx公司的XC6SLX9芯片和镁光公司的MT46V32M16-5B构成。 XC6SLX9内部需要设计的硬件结构包括:接收从LPC1788发送的要显示的数据; 从MT46V32M16-5B读取显示数据并转换为LVDS驱动显示器。

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

3系统方案设计与总体显示效果测试

3.1系统方案设计要点及解决方法

FGA程序的时序逻辑基于Xilinx ISE软件提供的编程环境和相关资源[4],并以VHDL语言编写。 结合系统特点,进行时序逻辑设计,需要解决以下问题:

)1) ARM发送的显示数据是随机位置的像素点,因此保存数据时只能保存单一数据,不能批量操作。 否则,访问速度会降低。

)2)高分辨率显示器像素点一般不小于1(2801 ) 024。 在这种显示器中,要求驱动数据为奇偶校验列数据分离驱动,即双向LVDS接口

(见图5)。因此在实现LVDS数据接口操作时,就需要将显示的数据进行奇偶分离处理,同时送出至显示屏。

为解决上述问题,本方案采用双端口操作DDR控制器模块,即其中一个端口负责ARM送出奇地址数据的接收至DDR和奇地址显示屏数据的读取至读奇FIFO;同时,另一端口负责偶地址的存取并最终至读偶FIFO。在进行显示时,采用双路LVDS信号转换方式,同时送出LVDS信号驱动液晶显示屏。

3.2 系统方案硬件搭建

LCD液晶显示屏采用三星公司的LTM170ET01。系统采用ARM底板+FPGA核心板组合的方式实现,ARM模块电路板(底板)如图9所示,FPGA模块电路板(核心板)如图10所示。在图9中,上位机通过USB接口或者串口与ARM实现人机交互,ARM将需要显示的数据送至FPGA模块;FPGA将接收到的数据根据需要通过LVDS接口送出至LCD液晶显示屏。

3.3显示效果评测

传统ARM显示处理模式为16 bit,即RGB656结构。显示屏接口数据为RGB888结构,就需要将RGB565结构通过高位补低位的方式扩展到RGB888模式。而本文设计的数据接口为32 bit,即xRGB8888模式,实现了与显示屏接口的无损失对接,显示全彩无失真,如图11所示。

传统ARM方式既要响应用户操作,又要驱动显示屏,占用了ARM较多的资源。而本文采用ARM+FPGA结构,将显示部分由FPGA完成,节省了ARM资源的同时,提高了ARM的响应速度。

为了节约成本,将LVDS信号接口放在FPGA内部实现,省掉外部专用LVDS接口转换芯片,降低了产品硬件成本,提高了产品竞争力。

参考文献

[1] NXP Semiconductors. LPC178x/7x.32-bit ARM Cortex-M3 microcontrolle r; up to 512 KB Flash and 96 KB SRAM; USB Device/Host/OTG;Ethernet;LCD;EMC.Rev.00.08.1.[Z]. 2011.

[2] Lux Display. AT070TN83 V.1[Z].

[3] Samaung Electronics.Samaung TFT-LCD.LTM-170ET01[Z].21.2009.

[4] Xilinx. Spartan-6 FPGA memory controller UG388(v2.3)[Z]. 2010.

打开APP阅读更多精彩内容

点击阅读全文

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。