系统解决方案 _ | _l l一种基于FPGA的LCD控制器设计 王春雷’。姚洁 (1.海军驻南京九二四厂军事代表室,南京211100;2.江苏自动化研究所,江苏连云港222000) 摘 要:设计一种基于Virtex一7系列FPGA的液晶显示控制器方案。利用多种标准接口和芯片设计实现了外围硬件 电路,以完成视频采集、存储和输出,提供时钟和电源。在Vivado软件环境下利用大量性能优良的IP核完成FPGA架构 搭建,并编写控制程序。结果表明,该控制器可完成多路输入、多信号类型的视频图像显示,具备缩放、画中画等功能。 关键词:LCD控制器;硬件电路;FPGA;IP核 中图分类号:TN873.93 文献标识码:A 0引言 LCD控制器负责读取显示数据,完成数据格式 的转换。根据LCD面板的类型进行输出的控制和数 据的显示…。LCD控制器还应该具备缩放处理能力, 以匹配不同显示终端的分辨率,实现画中画、分屏显 示等功能 如今LCD控制大多采用FPGA配合编程语言实 现。一方面因为FPGA上的数字逻辑是并行实现,其 在执行显示功能时.还可并行执行其他运算命令或处 理其他数据,工作效率高[2 3。另一方面因为其高度的灵 活性:FPGA支持多种不同的I/O标准:大多FPGA提 供了嵌入式BRAM Block存储器,可实现片上存储; FPGA掉电后立即恢复成白片。可反复使用。此外拥有 多种配置模式也是FPGA的特点,可使LCD显示系统 更加灵活多样 。综上,在LCD显示系统中引入FPGA, 可以大大简化系统控制,避免大量重复性的劳动。 1系统结构 LCD控制器系统结构如图1所示.包括视频输入 接口模块、视频输入采集模块、视频输出显示模块、视 频数据存储模块、控制接口模块以及中央处理单元。 视频输入接口模块完成视频的接收,可以同时支持四 路视频信号同时输入,每一路都包含5种不同的信号 输入格式。视频前端处理模块完成四路视频输入的数 字化、接收、解码等操作。视频数据存储模块完成视频 数据的存储、缓冲等操作。网络控制模块接收来自网 络或其他通信协议的控制信号,如OSD菜单选择信 作者简介:王春雷(1972.),硕士,高级工程师,主要研究 方向为电子对抗。 收稿日期:2016—07.30 63 WWW.auto—apply.corn 自动化应用 号。视频输出显示模块则将经过处理的视频信号经由 不同的接口输出至LCD屏显示。FPGA作为中央处理 单元,完成了包括视频数据处理、存储、成帧、输出显 示等核心功能。 图1 LCD控制器系统结构 2系统硬件结构设计 系统硬件结构如图2所示。5种视频源信号由相 应的接口输入,经ADV7842进行数据采集和解码.输 入给FPGA处理,处理后经过LVDS转换电路输出给 显示屏。FPGA外挂两簇DDR3内存模块,实现数据存 储缓冲。从串口接收主机发送来的控制命令,MCU在 时钟的配合下,控制系统运行。 图2系统硬件结构 2.1视频前端处理模块 视频前端处理采用ADV7842视频处理芯片作为 核心处理单元,结构如图3所示。系统共有四路视频 通道,每路通道都支持模拟VGA信号、DVI 1.0标准 信号、PAUNTSC制式的复合视频信号、HDMI 1.4a标 准信号、DP 1.2标准信号,但同时只能有一种信号有 效 。ADV7842完成前4种信号的接收和解码等功能, 其输出端经过电平转换芯片后直接接入FPGA,由 FPGA内部对其进行接收处理。而DP 1.2标准信号的 接收采用FPGA的IP核实现 。 一/1 N w 一l == r—] J 。 L————————__ VGA : =二二= 『 1 N1 I v d … z == r—_], bll1 k 【 == DP1.2 【.... __J 图3视频前端处理结构 第一路和第二路视频输入的DVI接口采用双链 接法.即DVI接口的6组数据15分别接入两片 ADV7842采集芯片。由于一片ADV7842只有三路数 据通道,只能支持单链DVI 1.0,所以在每个通道中都 采用了两片ADV7842以实现双链DVI 1.0结构。并 且.由于DVI的CLOCK只有一路,因此在中间添加了 一片DVI扇出芯片MAX3845,对DVI的输入进行转 接。双链DVI 1.0结构如图4所示。Channel 0—2的 DVI数据采用一片ADV7842接收,channel 3—5的 DVI数据用另一片ADV7842接收。而DVI时钟同时 跨接至两片ADV7842。 图4双链DVI 1.0结构 2.2视频数据存储模块 系统采用两簇x64 DDR3 SDRAM实现视频数据 的存储和缓冲,存储容量是按四倍高清的需求来计算 和提供的.这为今后在该平台上进行更高分辨率的图 像视频显示提供了坚实的基础。两簇内存分别采用4 片DDR3芯片,每片宽16位,互联改造成64位宽存 储器。速率为1066MT/s,实际带宽为5.1GB/s。 不同于DDR2的T型分支拓扑结构,由于DDR3 数据传输速率已经达到1600MHz以上,所以设计中 DDR3采用了如图5所示的nv.bv拓扑结构,以更高 系统解决方案 黪 | 霉 i 譬 的速度提供更好的信号完整性l 6l。 L厂_]I —H—_卜r] — []_.[—H—— r] r] _1— r]一 r1一—r] r] r] 图5 DDR3的ny_by拓扑结构 2.3时钟和电源 电源模块如图6所示。由于该板卡所需的供电复 杂,且对上电时序要求较高,因此选用一片 STM32F050单片机作为上电和时钟管理核心,并配合 选用TI公司的Fq'Vl2010系列电源模块。 Ⅲ12010 VGClPO D E VCCIPOA仁 lVCC_3P3_CLK L 自 VCC1P2 亡== —————J ————— VCCIP5 仁 ISTM32 广_ VGCIP8 n仁 SPI vccIPSA仁 [ VCC 2P5_D L I。 lCDCE620G VCC2PS A亡== 图6电源模块 FPGA内部需要提供的时钟有多个,为保证时钟 信号质量。选用了TI公司的锁相环芯片CDCE62005 和CECE62002.这两款芯片分别拥有5路和2路差分 输出,能够精确地分频倍频后输出需要的频率。时钟 生成方案如图7所示。 图7时钟生成方案 3 FPGA架构设计 以往LCD控制技术更多地依赖于各个芯片之间 的组合,以及板卡设计时布局布线的合理性。本文采 用最新的设计理念,提出一种基于IP核的FPGA设计 方案。它是以FPGA庞大的逻辑单元为基础,采用集 成IP核的设计思想。将LCD控制器的各个功能设计 为独立的功能子模块,然后将各个功能模块集成到一 起。FPGA模块划分如图8所示。主处理器采用XILINX 自动化应用 2016 i 11期i 64 系统解决方案 0000 0 公司的Virtex一7系列FPGA,它具有行业领先的FPGA 系统性能和容量 。 图8 FPGA模块划分 数据流向说明:四路信号分别直接输入四个 LogiWin IP核中进行缩放处理,由存储控制器MIG控 制存入外部DDR3。图层处理IP核logiCVC通过AXI4 总线将存储在DDR3中的多层视频数据读回,融合成 一层视频数据,并进行输出格式转换,以裸数据格式 输出。LVDS驱动模块Lvds_out IP核把裸数据转换成 LVDS格式,最终输出显示。所有操作在MicroBlaze软 核控制下完成。 4程序设计 传统设计方法都是在搭建硬件结构后,再通过 Verilog语言来控制各个模块的工作。而该系统运行在 Vivado软件环境下[9],只需把各个IP核根据信号时序 要求和模块结构正确连接,形成一个图像化界面,再 由MicroBlaze控制系统工作,因此,编写简单的C语 言程序即可.省去编写复杂的Verilog程序来控制时 序、模块调用等。以下给出部分控制程序。 (1)初始化GPIO,通过I2C配置ADV7842的工作 模式: GPlOinit0; ADV7842一conng(ADV7842—1,VGA); ADV7842一con6g(ADV7842—2,DVI); ADV7842con g(ADV7842—3,HDMI); ADV7842一con6g(ADV7842—4,PAL/NTSC); int ADV7842config(u8 adv7842_number,u8 video—. mode){ int Status; if((HDMI!=video—mode)& VI!=video—mode)){ Status= ADV7842_init(adv7842_number,IOMAP); Status l= ADV7842一init(adv7842一number,video_mode);} else{ 65 www.auto—apply.corn÷自动化应用 Status ADV7842一init(adv7842_number,IOMAP); Status l= ADV7842init(adv7842_number,EDID); Status I= ADV7842_init(adv7842_number,video_mode);} switch(adv7842一number){ case ADV78421: —memcpy(&adv7842——iie—FREERUN,&adv7842——iic ——FREERUN——GREEN, sizeof(adv7842——iic——FREERUN));break; case ADV7842—2: memcpy(&adv7842一iic—FREERUN,&adv7842一iic— FREERUN——RED, sizeof(adv7842——iic——FREERUN));break; case ADV7842—3: memcpy(&adv7842 iic——FREERUN,&adv7842——iie—— FREERUNBLUE, sizeof(adv7842一iic_FREERUN));break; case ADV78424: mem py(&adv7842一iic—FREERUN,&adv7842一iie— FREERUNWHITE, sizeof(adv7842——iic——FREERUN));break; case ADV7842—5: memcpy(&adv7842一iic—FREERUN,&adv7842一iic— FREERUN——GREEN, sizeof(adv7842一iic—FREERuN));break; case ADV7842—6: memepy(&adv7842 iic FREERUN,&adv7842——iic—— FREERUN——RED, sizeof(adv7842——iic——FREERUN));break; default: break;) Status l= ADV7842init(adv7842_number,FREERUN); if fStatus!=XST SUCCESS、 f return XST_FAILURE; } return XST SUCCESS; l (2)画中画,设置输入信号类型: case 0x20:{ disl—type=DVI; GPIO—init0; ADV7842_eonfig(ADV7842——1,dis1——type); ADV7842一c0nfig(ADV7842—2,dis2_type); ADV7842—coImg(ADV7842—3,dis3_type); ADV7842config(ADV7842_4,dis4一type);} break; (下转第71页) 系统解决方案 ≯ ≯謦驽搿瓣 * ” 拍 : ” 。 I 0 Il 。 - ;;,.— 一………….………. 一 各 k'-'-----"-、 ,・-- 300 400 500 l ’-・_- 900 600 700 800 100 2OO 1:I ! __————一…… 采样点 I . 图10改进前信号Hilbert频谱及边际谱 图11 改进后信号Hilbert频谱及边际谱 and Industry,2003.19:245—268 提出了相应的改进方案,并通过算例仿真验证了算法 有效性、准确性方面的改进效果。实际效果表明该方 法可以用于电力系统低频振荡辨识。 参考文献 [1]Kundur P,Neal J,Mark B G.Power system stabilityand [3]杨德昌,C.Rehtanz,等.基于改进希尔伯特.黄变换算 法的电力系统低频振荡分析[J].中国电机工程学报, 2010,31(101:102.108 [4]李天云,高磊.基于HHT的电力系统低频振荡分析[J]. 中国电机工程学报。2006,26(14):24.30 【5]黎洪生,吴小娟,葛源.EMD信号分析方法端点问题的 control[M].NewYork:McGraw—Hi11.1994:79—80 [2]N.E.Huang,Wendong Qu,Steven R.Long.Application of Hilbert-Huang transform to nonstationaryfinancial 处理『J].电力自动化设备,2005,25(9):47.49 [6】杨晓萍,刘普森,钟彦儒.基于经验模态分解的有源滤 波器谐波检测[J].电工技术学报,2009,24(5):197.202 timeseriesanalysis[J].AppliedStochasticModelsinBusiness (上接第65页) (3)初始化串口中断,配置工作模式: XUartLite[2】杨青低功耗、多主接口、多图层的液晶控制器设计囹.武汉: 华中科技大学2011 Initialize(&UartLite,UARTLITE—DEVICE_ID); SetSendHandler(&UartLite,SendHandler, [3】刘连军LCD显示器控制电路的FPGA设计与实现囹.天津: 天津工业大学,2012 [4]张廷华,樊桂花.基于DSP和FPGA的视频格式转换 SetuplnterruptSystem(&UartLite); XUartLite——&UartLite); XUartLite—[J].国外电子测量技术,2013,32(3):57—59 SetReevHandler(&UartLite,RecvHandler, Enablelnterrupt(&UartLite); [5]陈卫东.基于DisplayPort接口的显示设备设计【J].液晶与显 示201095(1l85-89 【6]Yin Wen,Pang Ze Gui,Han Hai Tao.DDR2/DDR3 Interface Signal Integrity Analysis Based on IBM &UartLite); XUartLite_5结语 该系统运行稳定,四路视频信号输入正常,图像 缩放及画中画显示效果良好,达到预期目标。整个系 统的稳定性和速度有大幅提高。 参考文献 [1]苏维嘉,张澎.基于FPGA的TFT—LCD控制器的设计 和实现[J].液晶与显示,2010,25(1):75—78 7 1 WWW.auto-apply.com;自动化应用 Generic Package Model[C].China Semiconductor Techno —logylntemational Conference,20 1 0 [7]张亮.基于Xilinx FPGA的多核嵌入式系统设计基础 [M].成都:电子科技大学出版社,2011:1 [8】张小军,廖风强,王录涛,等.多通道高速串行LVDS信 号解串器设计[J].电子测量技术,2013,36(4):63-67,83 [9]何宾.Xilinx FPGA设计权威指南Vivado集成设计环 境[M].北京:清华大学出版社,2014:1-4