0 弁言
随着嵌入式技能的发展,LCD在嵌入式系统中的广泛运用推动了LCD显示掌握器的发展和完善。随着所需显示的图像信息增加、功能哀求增多对LCD显示掌握器的功能提出了更高的哀求[1]。
当前,嵌入式领域利用的LCD显示掌握器紧张有微处理集成型和专用型两种类型,如LPC1788自带的LCD显示掌握器和ILI9320专用LCD显示掌握器,由于利用便捷、性能稳定,在一样平常嵌入式系统的显示领域运用广泛。但随着嵌入式系统定制化需求提高、显示哀求增多,如需视频和操作界面等多路图像稠浊输出显示的场合,上述的LCD显示掌握器由于接口单一、功能固定,很难知足实际需求。如依旧利用这类显示掌握器,则每每需嵌入式处理器完成显示前的合成处理,极大地增加了嵌入式处理器的处理压力,不但须要额外选择性能高真个处理器,更是加大了编程开拓难度[2]。

针对以上情形,结合实际工程需求,本文提出了一种基于FPGA的专用LCD显示掌握器,具有多路图像折衷存取、画中画显示、OSD字符叠加等功能,可用于视频信息和显示数据稠浊输入领域。
1 LCD显示掌握器总体构架
1.1 具有多路图像数据合成的改进型嵌入式系统
范例的具有视频显示功能的嵌入式系统如图1(a)所示,紧张由ARM最小系统、摄像头、集成或专用LCD显示掌握器、显存模块、LCD组成。个中LCD显示掌握器由ARM处理器自带或外接专用芯片,在须要多路图像处理时需调用自身ARM处理器,极大增加了ARM处理器的包袱,不得不选用高端处理器来达到所需处理性能哀求。
针对范例电路的不敷,本设计将实时视频直接接入LCD显示掌握器处理,而不经由ARM处理器,系统构造如图1(b)所示。由LCD显示掌握器直接完成视频数据与操作显示数据的存取、合成、叠加等处理操作,降落了ARM处理器处理图像数据的压力,从而担保系统高效稳定事情。
1.2 LCD显示掌握器的事情事理及构架
LCD显示掌握器由视频接口电路完成视频数据的转换、输入,由8080、6800等协议接口电路完成ARM最小系统显示数据的解析、输入,再由主控器与存储掌握器把两路数据分别存入片外存储器中,再由后级合成显示电路从显存中读取所须要的图像数据,合成处理后合营LCD显示所须要时序一同送入LCD中,完成终极的显示。
根据上述事理提出了如图2所示的LCD显示掌握器构架,紧张由图像接口、图像缓存、折衷存取、显示合成等模块组成,完成从图像接入、处理、存取、输出显示等一系列事情[3]。
2 图像接口电路设计
2.1 视频接口电路设计
本设计选用OV7670作为接入摄像头,不经由ARM最小系统处理直接接入LCD显示掌握器中,通过SCCB总线对OV7670进行初始化配置,然后把配置完成信息通报给拼接模块,由拼接模块来吸收OV7670摄像头输入的视频像素旗子暗记、像素时钟、行同步帧同步旗子暗记,终极输出16位RGB565格式数据、拼接后像素的像素时钟和帧有效旗子暗记,视频最高分辨率为640×480 ppi,帧率达到30帧/秒。
2.2 8080接口协议解析电路设计
ARM最小系统显示数据以8080时序输入,8080接口协议解析电路,一方面合营其时序吸收相应的数据信息,另一方面对吸收到的数据信息进行解析[4],详细设计的总线连接和寄存器设置如图3所示。
在ARM最小系统部分,可以利用仿照8080办法或FSMC(可变静态存储掌握器)进行时序旗子暗记的传输,个中利用FSMC办法速率更快、更便捷[5]。详细FPGA设置的掌握功能和寄存器配置如表1所示,ARM处理器编程时只要按照以下数据时序哀求,就可以方便地进行寄存器掌握和数据读写。
3 折衷存取电路设计
存取折衷电路包括视频与显示数据的预处理、SDRAM折衷掌握器,个中SDRAM折衷掌握器是全体折衷掌握电路的核心,为了让LCD显示掌握器灵巧存取连续更新的视频数据和非连续更新的ARM最小系统显示数据,改进了传统的SDRAM掌握器,总体构造如图4所示,使其在操作两类不同数据时更加灵巧高效便捷,并可以移植扩展。
3.1 SDRAM主折衷器设计
SDRAM主折衷器紧张根据掌握信息掌握SDRAM从掌握器事情,完成视频数据与显示数据的折衷。个中视频帧有效旗子暗记和起始、结束地址分别给出视频数据和ARM显示数据的帧完成旗子暗记,个中ARM显示数据像素点与起始地址、结束地址关系如式(1)所示:
个中S为有效像素点个数,H0、V0为起始行地址和起始列地址,H1、V1为结束行地址和结束列地址。
3.2 SDRAM从折衷器设计
SDRAM从折衷器会根据吸收的信息对对应数据进行存储方案,对付视频数据,从折衷器利用顺序存取,而在ARM显示数据部分,则利用映射存取,详细对应关系如图5所示。
当ARM处理器需更新上图所示区域时,可以根据式(2)打算出对应SDRAM在存储上述所更新数据时的地址值。
个中VM、HM为LCD显示区域行像素点和列像素点,CM、RM为SDRAM存取列地址和行地址,AR为更新数据在SDRAM存储时的起始行地址、AC为更新数据在SDRAM存储时的起始列地址、NV为连续存储的像素点值,NH为所需更新的区域块,BA为连续存储像素点结束后需跳过像素点个数。
3.3 SDRAM掌握器设计
SDRAM掌握器紧张完成初始化、自刷新、行列地址输出、读写掌握等针对SDRAM的直接操作。在本设计中,SDRAM除了完成初始化和自刷新等基本掌握功能外,其他的读写切换、分页地址切换都受对应SDRAM从折衷器掌握,终极完成单片SDRAM的部分乒乓存取,紧张利用SDRAM高速读写来完成片内的分页读写切换。
4 合成显示电路设计
4.1 合成掌握电路设计
合成模块从SDRAM中读取所需显示数据,根据显示办法进行数据的筛选调度,然后把相应的显示数据点输出,合成掌握功能示意图如图6所示,个中根据显示办法的不同,分别可以显示单视频、单ARM显示信息和画中画显示,以方便嵌入式系统根据对应显示哀求进行调节掌握,达到最佳的显示操作体验[6]。
4.2 OSD字符叠加电路设计
OSD字符叠加是一种赞助信息显示方法,可以在原来输出显示的图像上叠加所需赞助显示的字符信息,以达到显示效果最优化,本设计在终极数据输出部分加入了OSD叠加模块,ROM中数据有叠加所需给定,并通过分层叠加操为难刁难输入显示数据进行处理,通过透明度的调节可以让随屏叠加字符有透明效果,用以表示赞助信息的次重点[7]。
4.3 LCD驱动时序产生电路设计
时序发生模块吸收终极处理完成的显示数据,并根据对应显示屏的驱动时序,产生相应的驱动时序,把所需显示数据送到LCD上完成显示。本设计选取群创的7寸屏AT070TN83作为终极显示屏幕。关键时序参数如表2所示,个中的tCLK的范例值为30 ns。
5 LCD显示掌握器的实现与功能测试
基于上述设计,用Verilog HDL编程在FPGA cyclone II EP2C35F484C8N上实现,用两片1 M×4 BANK×16 bit容量的SDRAM K4S641632作为数据显存,并通过摄像头OV7670、ARM STM32F103和群创7寸屏AT070TN83进行系统测试。
利用SignalTap II工具实时捕捉输出端旗子暗记,紧张包括驱动时钟lcd_clk、行同步旗子暗记lcd_hs、帧同步旗子暗记lcd_vs、数据有效旗子暗记lcd_en、显示数据蓝色分量lcd_blue, 捕捉实时显示驱动时序如图7和图8所示。
由测试时序剖析可得 LCD显示掌握器产生的时序完备符合7寸屏AT070TN83驱动所需的时序哀求。
LCD显示掌握器接入实际嵌入式系统中进行显示效果测试,紧张包括ARM、摄像头和LCD屏等器件,终极实际的显示界面如图9所示。
上图中A区域为实时视频显示区域,B区域为由ARM显示数据确定的操作界面的显示区域,C区域为由OSD字符叠加形成的字符区域,个中视频显示界面可对大小位置进行调节,显示界面可根据用户自定义编程设置,并可以灵巧加入各种随屏显示内容。经测试,LCD显示掌握器设计运行良好、显示效果稳定可靠,可以知足设计需求。
6 结论
本文以FPGA+SDRAM为核心,完成特定功能LCD显示掌握器的设计。充分利用FPGA高效并行处理的特点,在带视频显示功能的嵌入式系统设计时把繁芜弘大的图像数据处理合成功能放入到LCD显示掌握器内部,极大地降落了ARM处理器的图像处理压力,让一样平常ARM最小系统处理繁芜图像数据成为可能,同时LCD显示掌握器用Verilog HDL设计开拓,有良好的移植性和功能拓展性,稍作修正和调度就可以适应不同的嵌入式系统显示哀求。经实际测试,该LCD显示掌握器运行稳定,显示效果良好,可推广用于视频监控、车载娱乐等具有视频显示功能的嵌入式系统中。
参考文献
[1] MITHUNA C O,LIBIN T T,KRISHNAKUMAR R S,et al.System Verilog based design and implementation of LCD Controller IP Core(2015) 2015 International Conference on VLSI Systems,Architecture,Technology and Applications,VLSI-SATA 2015.
[2] 李钢,王飞.STM32直接驱动RGB接口的TFT数字彩屏设计[J].单片机与嵌入式系统运用,2011,11(8):28-30.
[3] LIU H,TANG W.Video Camera System Based on FPGA(2015) Proceedings-2014 7th International Symposium on Computational Intelligence and Design,ISCID 2014,2:249-252.
[4] SHI D,YE X,YE S.Design of microcontroller's display system based on FPGA.Proceedings of 4th International Conference on Intelligent Systems Design and Engineering Applications,ISDEA 2013:251-254.
[5] 汤莉莉,黄伟.基于STM32的FSMC接口驱动TFT彩屏设计[J].当代电子技能,2013(20):139-141,144.
[6] 万鹏,杨大伟.基于FPGA的视频叠加领悟系统设计与实现[J].电子技能运用,2013,39(9):44-46.
[7] 黄燕群,李利品,王爽英,等.基于FPGA的OSD设计[J].液晶与显示,2010,25(3):429-433.