基于fpga的lcd信号转vga信号的实现方法

文档序号:2624377阅读:509来源:国知局
专利名称:基于fpga的lcd信号转vga信号的实现方法
技术领域
本发明涉及一种基于FPGA的嵌入式IXD信号转换成标准VGA接口信号的系统和实现方法,属FPGA设计技术领域。
背景技术
目前嵌入式系统中使用比较多的显示方式是IXD显示,但由于IXD接口不统一,给系统的扩展和维护带来一定的难度,并且在某些需要大屏幕显示的应用中,工业级LCD的价格比较昂贵。CRT显示器和液晶显示器作为一种通用型显示设备,广泛应用于我们的工作和生活中。它们具有显示面积大、色彩丰富、承载信息量大、采用统一的VGA接口等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。随着数字图像处理应用领域的不断扩大,其实时处理技术成为研究的热点。在图
像的实时处理场合,图像数据的吞吐量大,运算量大,对图像处理系统性能提出了很高的要求。EDA (电子设计自动化)技术的迅猛发展为数字图像实时处理技术提供了硬件基础。当今的科技发展日新月异,尤其在图像处理领域,各种新算法、新理论不断产生和应用,因此缩短开发周期变得尤为重要。用FPGA(Field Programmable Gate Array)做实时图像处理,大容量的可重复编程逻辑为设计人员提供了所需的灵活性,以加速工作进度来配合紧迫的期限。因此FPGA在图像处理领域获得了广阔的应用空间。ASIC (Application SpecificIntegrated Circuit,是一种为专门目的而设计的集成电路。)作为图像处理的传统解决方案,系统成本较低,但功能单一且不可更改,不利于产品的升级和维护,如《电子设计工程》2009年9月第17卷第9期,“基于CH7004的嵌入式系统VGA接口设计”即属于此列。SDRAM(Synchronous Dynamic Random Access Memory,同步动杰随坑存储器。)的特点是大容量和高速度,其单片容量可达256Mb或更高,工作速度可达100-200MHZ以上,许多嵌入式设备的大容量存储器都采用SDRAM来实现。设计安全性一直是人们关注的一个问题,特别是在消费和汽车电子市场。在FPGA中使用的设计和配置数据代表了整个系统中知识产权的重要部分。FPGA的加密问题其实是一个加密成本和加密级别的折中。总的来说,只要FPGA内部带非挥发的Memory块,就可以实现加密功能,不带非挥发的Memory块,可以在系统级来解决加密问题。高端FPGA内部集成加解密模块,但成本较高;在对加密要求高、成本要求适中的场合,可以选择FlashFPGA ;在对成本要求高、加密要求适中的场合,可以采用从系统级来实现加密功能,如普通FPGA加带加密功能的MCU、普通FPGA加带加密功能的ROM和普通FPGA加CPLD/Auti-fuseFPGA等方式;在对成本要求高、加密要求高的场合,可以采用带DNA功能的Xilinx Spartan3A/3AN 系列 FPGA0

发明内容
为克服现有技术中存在的不足和缺陷,本发明在传统嵌入式系统开发中所存在IXD显示面积小、接口不统一的背景下,提出了将IXD信号通过FPGA进行帧率提升,实时地转换成VGA显示所需要的图像信号的一种基于FPGA的嵌入式LCD信号转VGA信号的实现方法,该方法具有实时性高,设计周期短,方便系统扩展与升级等优点。本发明的技术方案是按以下方式实现的一种基于FPGA的IXD信号转VGA信号的嵌入式系统,主要由FPGA模块、SDRAM模块以及排阻网络模块搭建,其特征在于FPGA模块包括时钟管理模块、复位模块、IXD信号接收模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块,IXD信号接收模块和写FIFO模块相连接,写FIFO模块和SDRAM控制器模块相连接,SDRAM控制器模块分别和读FIFO模块、SDRAM模块相连接,FIFO控制器模块分别和写FIFO模块及读FIFO模块相连接,读FIFO模块和VGA显示模块相连接,时钟管理模块分别和复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块、VGA显示模块及SDRAM模块相连接,复位模块分别和写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块 及VGA显示模块相连接;VGA显示模块和排阻网络模块相连接;所述的排阻网络模块由三组排阻组成,分别为R、G、B (红、绿、蓝)排阻,其中R、B排阻分别由0. 5K (并联两个IK电阻)、1K、2K (串联两个IK电阻)、4. IK (并联两个8. 2Κ电阻)和8. 2Κ电阻组成模拟R、B信号通路,5个电阻一端分别作为5个数字图像信号的输入端;5个电阻的另一端连接在一起作为R或B路模拟信号的输出端;G排阻由0. 5K (并联两个IK电阻)、1K、2K (串联两个IK电阻)、4. IK (并联两个8. 2Κ电阻)、8. 2Κ和16. 4Κ (串联两个8. 2Κ电阻)电阻组成模拟G信号通路,6个电阻一端分别作为6个数字图像信号的输入端,6个电阻的另一端连接在一起作为G路模拟信号的输出端;所述的写FIFO模块和读FIFO模块均是由一个异步FIFO构成;所述的SDRAM控制器模块由主控模块、命令模块、命令解析模块和数据通路模块顺序连接而成,其中命令解析模块和数据通路模块分别和SDRAM模块相连接,以控制SDRAM模块的初始化、读、写和预充电操作。其中FPGA模块选用Xilinx Spartan 3AN系列的XC3S50AN型号FPGA,作为控制模块负责将LCD信号转换为满足VGA时序的数字信号输出至排阻网络模块,同时控制着与SDRAM模块的通信;SDRAM模块选用Hynix公司的HY57V641620ETP-7型号SDRAM,作为FPGA模块数据处理的缓存,本发明在其内部开辟了一场图像数据量的空间,供FPGA模块不断地写入数据刷新该空间,并且不断地从该空间读取新的数据;排阻网络模块由一系列排阻组成,FPGA模块中的VGA显示模块输出的16位R、G、B数字信号经排阻网络模块中不同的电阻值线路后转换成3路压值在(TO. 7V范围内的模拟信号,分别进行VGA显示。FPGA模块的核心器件是可编程逻辑器件FPGA,通过Verilog HDL语言对其编程。时钟管理模块给该转换系统提供所需要的时钟信号,Xilinx XC3S50AN型号FPGA模块内部只有两个时钟管理单元DCM。FPGA模块外部配置的晶振是CLK0=133MHz,本发明用到3个时钟,一个是供SDRAM控制器模块使用的CLKl=100MHz时钟,另一个是供外部SDRAM模块使用的与CLKl有一定相位提前的CLK2=100MHz时钟,第三个是供VGA显示模块使用的CLK3=66. 67MHz时钟。因此本发明将FPGA模块的其中一个DCM用来分频外部晶振CLK0=133MHz时钟为CLKl=100MHz时钟,另外一个DCM用来分频CLKl=100MHz时钟为CLK3=66. 67MHz,同时通过相位变化(相位值Value=51)产生CLK2=100MHz。FPGA模块与SDRAM模块之间的物理连线会产生信号迟,故SDRAM控制器模块的时钟需与外部SDRAM模块工作时钟有一定的相位差,以确保数据的建立时间和保持时间。复位模块采用FPGA模块内部计数器计数的形式产生复位信号,包括系统复位信号、SDRAM控制器模块复位信号,其中系统复位信号复位写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块。写FIFO模块与读FIFO模块的复位信号都是高电平有效,故系统复位信号需取反之后再和写FIFO模块及读FIFO模块连接。一般情况下,SDRAM上电后需有200us的延迟才能开始工作。系统上电即复位,系统复位信号和SDRAM控制器模块复位信号均为低电平,同时时钟开始工作,通过计数时钟的个数到200us所对应的数值时SDRAM控制器模块复位信号由O跳变成1,SDRAM控制器模块开始工作,此时继续计数时钟的个数,再经过一段时间,系统复位信号由O跳变成1,写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块开始工作。该复位模块的设计,使得本发明不同于目前市面上多数的LCD信号到VGA信号的转换装置,当嵌入式系统开机时整个系统有足够的初始化的时间,液晶 显示器不会出现花屏的现象,用户体验良好。LCD信号接收模块负责接收嵌入式系统输出的LCD信号。该LCD信号输出固定,为24位的8:8:8格式RGB数字信号,其时序参数已在嵌入式系统内核程序中定义好。本发明所用SDRAM数据位宽为16位,因此需要将该24位的RGB信号转换成16位的RGB信号。本发明在满足用户图像体验的前提下,采用高位选取的近似方法,直接取R的高5位、G的高6位和B的高5位组成16位的RGB信号,低位信号的亮度相对高位信号较低,舍去后的误差很小。为保证液晶显示器上的图像边缘对齐,IXD信号接收模块首先检测IXD信号的场扫描信号,当检测到第一个场扫描信号时,启动LCD信号的采集,这样场与场之间、行与行之间的数据信号不会错位,保证一场信号的完整性。在LCD信号扫描时钟控制下,数据有效信号电平为高时读取数据总线上的图像信号。充分考虑到数据信号的建立时间和保持时间,本发明采用扫描时钟下降沿时读取数据信号的方式。经测试,上升沿读取数据的情况下液晶显示器上图像会有红色底蕴,而下降沿读取数据的情况下图像显示稳定,故本发明采用扫描时钟下降沿时从数据总线上读取数据的方式。写FIFO模块和读FIFO模块均由一个异步FIFO构成。异步FIFO可以快速而方便的解决不同时钟系统之间实时数据的传输问题,它是Xilinx FPGA开发软件ISE的COREGENERATOR生成的IPC0RE,由FPGA模块内部的RAM资源构成,工作于两个独立的时钟之间。本发明中LCD信号接收模块、SDRAM控制器模块以及VGA显示模块分别用到三个不同的时钟,故为了 SDRAM模块能实时地存储LCD信号接收模块接收到的LCD信号,VGA显示模块能实时地读取SDRAM模块中的数据,在LCD信号接收模块与SDRAM控制器模块之间加入写FIFO模块,SDRAM控制器模块与VGA显示模块之间加入读FIFO模块,用来存储、缓冲在异步时钟之间的数据传输。本发明中写FIFO模块和读FIFO模块位宽均为16位,深度均为1024。FIFO控制器模块根据写FIFO模块和读FIFO模块的内部数据量情况以及SDRAM模块的空闲状态产生SDRAM模块的写触发信号和读触发信号。当写FIFO模块处于半满状态且SDRAM模块处于空闲状态时即产生写触发信号,在读使能信号有效的情况下读出写FIFO模块里面的数据送至SDRAM模块;当读FIFO模块处于半空状态且SDRAM模块处于空闲状态时即产生读触发信号,在写使能信号有效的情况下从SDRAM模块向读FIFO模块写入数据。写FIFO模块的读使能信号由SDRAM控制器模块提供,需在SDRAM控制器模块响应SDRAM写触发信号之后有效,读FIFO模块的写使能信号亦然。本发明SDRAM模块在同一时刻只能进行读或者写一个操作,因此分时地控制好SDRAM模块的读写操作是FIFO控制器模块设计的关键。使用always语句产生SDRAM模块的写触发信号和读触发信号,用时钟来控制产生的时刻会出现在同一时刻既读又写的情况,此时SDRAM模块数据总线上无数据。本发明采用组合逻辑语句assign来异步产生SDRAM模块的写触发信号和读触发信号,SDRAM模块在同一时刻读、写操作不冲突。SDRAM控制器模块主要是控制SDRAM模块的初始化、读、写和预充电等操作,由主控模块、命令模块、命令解析模块和数据通路模块四部分组成。主控模块根据FIFO控制器模块提供的写触发信号和读触发信号以及SDRAM模块的工作时序,通过状态机产生预充电、模式装入、自动刷新、读操作、写操作、空操作等命令编码和读写SDRAM模块的地址,送至命令模块;命令模块接收主控模块发出的各种操作命令编码以及读写SDRAM模块的地址并产生各种读写控制命令和读写参数送至命令解析模块,同时产生各种操作相应的响应信号反馈至主控模块,表示该操作已执行完毕;命令解析模块则把命令模块送来的读写控制命令和读写参数解析成符合SDRAM模块接口标准的控制信号送至FPGA模块外部的SDRAM模块并产生数据使能信号OE送至数据通路模块以及产生各种操作相应的响应信号反馈至命令模块;数据通路模块根据命令解析模块产生的数据使能信号OE适时地控制SDRAM模块 数据总线上有效数据的挂载。主控模块中SDRAM模块的工作时序设计是该模块设计的重点和难点,SDRAM模块工作时序包括何时激活、何时读、何时写、何时预充电、何时刷新操作等,所有的操作命令通过控制线CS、RAS、CAS、WE和地址线All-AO以及BANK体选地址线BA输入到SDRAM模块内部的寄存器。这些控制操作既要满足SDRAM模块的工作特性,又要满足设计的要求。本发明主控模块通过状态机来实现以上控制操作间的转换,内部设有21个状态,采用突发读写SDRAM模块的方式,突发长度Burst Length设置为256,每突发读或者写一次,相应的地址加256。VGA显示模块将读FIFO模块输出的图像信号按照1024x768@60Hz的VGA显示时序,送出至FPGA模块外部的排阻网络模块。在一定的工作频率下,产生正确的VGA时序关系,包括行同步信号、场同步信号,消隐信号以及读FIFO模块的读使能信号。该模块时钟为CLK3=66. 67MHz,输入16位RGB信号,在行同步和场同步的控制下输出5:6:5格式的1 、6和B信号至排阻网络模块进行数模转换。所述的LCD是液晶显示器Liquid Crystal Display的简称。所述的FIFO是先进先出队列First Input First Output的简称,是FPGA内部生成的IP核,由FPGA内部RAM资源构成。所述的FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。所述的VGA的英文全称是Video Graphic Array,即显示绘图阵列。所述的SDRAM 的英文全称是 Synchronous Dynamic Random Access Memory,即同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。—种利用上述系统实现基于FPGA的嵌入式IXD信号转VGA信号的方法,FPGA模块的输入端接收来自嵌入式系统的LCD信号,包括LCD场同步信号、LCD时钟信号、LCD数据有效信号和24位LCD数据信号,其中LCD场同步信号代表着上一帧图像的结束和新的一帧图像的开始信号满足LCD显示时序;时序参数(时钟频率、场消隐前肩、场消隐后肩、行消隐前肩、行消隐后肩等)已在嵌入式系统内核中定义好,为1024x768020Hz的信号,由于所接收的LCD信号分辨率是1024x768,宽度是24位,即一场LCD有效信号有768行,每行有1024个像素点,共1024x768个像素点组成,FPGA模块在IXD场同步信号和IXD数据有效信号都有效的时间内,以LCD时钟信号为采集时钟,采集24位LCD数据信号,经过FPGA模块的数据处理和SDRAM模块的缓存,将1024χ768@20Ηζ的IXD信号时序的图像信号转换成1024x768i60Hz的VGA信号时序的图像信号,通过FPGA模块的输出引脚输出至排阻网络模块,该方法步骤如下I、时钟管理模块给复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制模块、VGA显示模块和SDRAM模块提供所需要的时钟信号,FPGA模块与SDRAM模块之间的物理连线会产生信号延迟,故SDRAM控制器模块的时钟需与外部SDRAM模块工作时钟保持有相位差,以确保数据的建立时间和保持时间;
2、复位模块给写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块提供所需要的复位信号,采用FPGA模块内部计数器计数的形式来产生复位信号,包括系统复位信号、SDRAM控制器模块复位信号,其中系统复位信号复位写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块,写FIFO模块与读FIFO模块的复位信号都是高电平有效,故系统复位信号需取反之后再和写FIFO模块及读FIFO模块连接,SDRAM上电后需有200us的延迟才能开始工作,系统上电即复位,系统复位信号和SDRAM控制器模块复位信号均为低电平,同时时钟开始工作,通过计数时钟的个数到200us所对应的数值时SDRAM控制器模块复位信号由O跳变成1,SDRAM控制器模块开始工作,此时继续计数时钟的个数,再经过2us,系统复位信号由O跳变成1,写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块开始工作;3、LCD接收模块接收嵌入式系统输出的1024χ768@20Ηζ 24位LCD信号,采用高位选取的近似方式转换成16位信号,直接取R的高5位、G的高6位和B的高5位组成16位的RGB信号;为保证液晶显示器上的图像对齐,LCD信号接收模块首先检测场扫描信号,当检测到第一个场扫描信号时,启动LCD信号的采集,这样场与场之间、行与行之间的数据信号不会错位,保证一场信号的完整性;在LCD信号扫描时钟控制下,数据有效信号电平为高时读取数据总线上的图像信号,充分考虑到数据信号的建立时间和保持时间,采用扫描时钟下降沿时读取数据信号的方式,读取的数据输出至写FIFO模块;4、写FIFO模块以LCD信号的时钟信号作为写时钟,以SDRAM控制器模块的时钟作为读时钟,以LCD信号有效信号作为写使能,读使能由SDRAM控制器模块提供;当写使能有效时,将LCD接收模块发来的16位信号按照写时钟的频率写入写FIFO模块中缓存;读使能有效时,将写FIFO模块中缓存的数据按照读时钟的频率输出至SDRAM模块;5、SDRAM控制器模块在系统上电200us后开始SDRAM模块的初始化控制,相继完成预充电、对SDRAM模块内部固有的MR寄存器赋值、R2寄存器赋值、Rl寄存器的赋值操作,此时SDRAM模块处于空闲状态,SDRAM控制器模块等待SDRAM模块写触发信号或读触发信号的来临,当SDRAM控制器模块收到FIFO控制器模块发来的写触发信号后产生写FIFO模块的读使能信号作为响应,开始读取写FIFO模块中的数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入写状态,将数据写入SDRAM模块中,每次写操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;当SDRAM控制器模块收到FIFO控制器模块发来的读触发信号后产生读FIFO模块的写使能信号作为响应,开始从SDRAM模块向读FIFO模块写入数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入读状态;SDRAM控制器模块控制SDRAM模块将数据读出,每次读操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;SDRAM控制器模块同时控制着SDRAM模块的刷新操作;6、读FIFO模块以SDRAM控制器模块的时钟作为写时钟,以VGA显示模块的时钟作为读时钟,写使能由SDRAM控制器模块提供,读使能由VGA显示模块提供,当写使能有效时,将SDRAM模块发来的数据写入读FIFO模块中缓存;读使能有效时,将读FIFO模块中缓存的数据输出至VGA显示模块;7、FIFO控制模块根据写FIFO模块与读FIFO模块的内部数据量情况以及SDRAM模块的忙闲状态产生SDRAM模块的写触发信号和读触发信号,输出至SDRAM控制器模块;当写FIFO模块处于半满状态(内部数据量为512)且SDRAM模块处于空闲状态时即产生写触·发信号,当读FIFO模块处于半空状态(内部数据量为512)且SDRAM模块处于空闲状态时即产生读触发信号;8、VGA显示模块将读FIFO模块输出的图像信号按照1024x768@60Hz的VGA显示时序,送出至FPGA模块外部的排阻网络模块;在分辨率为1024x768的VGA信号要求的CLK3=66. 67MHz时钟频率下,产生正确的时序关系,包括行同步信号、场同步信号,消隐信号以及读FIFO模块的读使能信号;根据VGA工业标准,每行像元素为1024,每场图像行数为768,每行时钟周期数为1344,每场的扫描行数为806,行消隐脉冲开始的时钟周期为1048,行消隐脉冲结束的时钟周期为1184,场消隐脉冲开始的扫描行数为771,场消隐脉冲结束的扫描行数为777 ;VGA显示模块输入为16位RGB信号,在行同步和场同步的控制下输出5:6:5格式的R、G和B信号至排阻网络模块进行数模转换,从而完成了 IXD信号转VGA信号的整个过程。本发明已在由Xilinx XC3S50AN FPGA、HY57V641620ETP_7 型 SDRAM和 1Κ、8· 2K排阻作为核心器件构成的转接板上成功实现,液晶显示器很好地将嵌入式系统输出的LCD信号显示出来,视觉效果大大提升,图像显示稳定。本发明具有以下的优点本发明成本低,开发周期短,开发风险极低、更改设计方便且保密性很好。本发明所采用的FPGA和SDRAM均为低档产品,总成本与市场上一颗专用转换芯片价格差不多,但专用芯片功能单一,不可再更改,开发新的一款专用转换芯片风险和成本极高,本发明FPGA的可重复编程性决定了该系统的功能更改、升级的方便性。本发明完成了在1024x768分辨率上LCD信号到VGA信号的转换,只要修改嵌入式系统内核中的参数使之输出800x600或1280x800等其他分辨率的LCD信号,然后在FPGA的RTL代码中同样修改相应的参数,即可实现其他分辨率的VGA显示,而不需要修改硬件电路,大大方便了系统的更改和升级。另外本发明所采用的Xilinx XC3S50AN FPGA带有DeviceDNA,DeviceDNA是一种特殊的57位ID,每颗FPGA都有自己独一无二的ID,该ID会与程序比特流一起存储在FPGA中,从FPGA中提取出的比特流文件在另一颗FPGA中不适用,因此有效地防范了克隆者、超量生产者以及反向工程者,保护了知识产权。


图I为本发明嵌入式系统的整体设计框图。图2为FPGA模块内部结构框图。图3为FPGA模块中的SDRAM控制器模块内部结构框图。其中1、FPGA模块,2、SDRAM模块,3、排阻网络模块,4、IXD信号接收模块,5、写FIFO模块,6、SDRAM控制器模块,7、读FIFO模块,8、VGA显示模块,9、FIFO控制器模块,10、时钟管理模块,11、复位模块,12、主控模块,13、命令模块,14、命令解析模块,15、数据通路模块。图4为本发明的排阻网络模块中R排阻(B排阻结构相同)的结构框图。
图5为本发明的排阻网络模块中G排阻的结构框图。具体实施方法下面结合附图和实施例对本发明做进一步说明,但不限于此。实施例I :本发明实施例如图I — 5所不,一种基于FPGA的IXD信号转VGA信号的嵌入式系统,主要由FPGA模块、SDRAM模块以及排阻网络模块搭建,其特征在于FPGA模块包括时钟管理模块、复位模块、LCD信号接收模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块,IXD信号接收模块和写FIFO模块相连接,写FIFO模块和SDRAM控制器模块相连接,SDRAM控制器模块分别和读FIFO模块、SDRAM模块相连接,FIFO控制器模块分别和写FIFO模块及读FIFO模块相连接,读FIFO模块和VGA显示模块相连接,时钟管理模块分别和复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块、VGA显示模块及SDRAM模块相连接,复位模块分别和写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块及VGA显示模块相连接;VGA显示模块和排阻网络模块相连接;所述的排阻网络模块由三组排阻组成,分别为R、G、B (红、绿、蓝)排阻,其中R、B排阻分别由0. 5K (并联两个IK电阻)、1K、2K (串联两个IK电阻)、4. IK (并联两个8. 2Κ电阻)和8. 2Κ电阻组成模拟R、B信号通路,5个电阻一端分别作为5个数字图像信号的输入端;5个电阻的另一端连接在一起作为R或B路模拟信号的输出端;G排阻由0. 5K (并联两个IK电阻)、1K、2K (串联两个IK电阻)、4. IK (并联两个8. 2Κ电阻)、8. 2Κ和16. 4Κ (串联两个8. 2Κ电阻)电阻组成模拟G信号通路,6个电阻一端分别作为6个数字图像信号的输入端,6个电阻的另一端连接在一起作为G路模拟信号的输出端;所述的写FIFO模块和读FIFO模块均是由一个异步FIFO构成;所述的SDRAM控制器模块由主控模块、命令模块、命令解析模块和数据通路模块顺序连接而成,其中命令解析模块和数据通路模块分别和SDRAM模块相连接,以控制SDRAM模块的初始化、读、写和预充电操作。实施例2 —种利用上述系统实现基于FPGA的嵌入式IXD信号转VGA信号的方法,FPGA模块的输入端接收来自嵌入式系统的LCD信号,包括LCD场同步信号、LCD时钟信号、LCD数据有效信号和24位LCD数据信号,其中LCD场同步信号代表着上一帧图像的结束和新的一帧图像的开始信号满足LCD显示时序;时序参数(时钟频率、场消隐前肩、场消隐后肩、行消隐前肩、行消隐后肩等)已在嵌入式系统内核中定义好,为1024x768020Hz的信号,由于所接收的LCD信号分辨率是1024x768,宽度是24位,即一场LCD有效信号有768行,每行有1024个像素点,共1024x768个像素点组成,FPGA模块在IXD场同步信号和IXD数据有效信号都有效的时间内,以LCD时钟信号为采集时钟,采集24位LCD数据信号,经过FPGA模块的数据处理和SDRAM模块的缓存,将1024χ768@20Ηζ的IXD信号时序的图像信号转换成1024x768i60Hz的VGA信号时序的图像信号,通过FPGA模块的输出引脚输出至排阻网络模块,该方法步骤如下I、时钟管理模块给复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制模块、VGA显示模块和SDRAM模块提供所需要的时钟信号,FPGA模块与SDRAM模块之间的物理连线会产生信号延迟,故SDRAM控制器模块的时钟需与外部SDRAM模块工作时钟保持有相位差,以确保数据的建立时间和保持时间;2、复位模块给写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块提供所需要的复位信号,采用FPGA模块内部计数器计数的形式来产生复位信
号,包括系统复位信号、SDRAM控制器模块复位信号,其中系统复位信号复位写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块,写FIFO模块与读FIFO模块的复位信号都是高电平有效,故系统复位信号需取反之后再和写FIFO模块及读FIFO模块连接,SDRAM上电后需有200us的延迟才能开始工作,系统上电即复位,系统复位信号和SDRAM控制器模块复位信号均为低电平,同时时钟开始工作,通过计数时钟的个数到200us所对应的数值时SDRAM控制器模块复位信号由O跳变成1,SDRAM控制器模块开始工作,此时继续计数时钟的个数,再经过2us,系统复位信号由O跳变成1,写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块开始工作;3、LCD接收模块接收嵌入式系统输出的1024χ768@20Ηζ 24位LCD信号,采用高位选取的近似方式转换成16位信号,直接取R的高5位、G的高6位和B的高5位组成16位的RGB信号;为保证液晶显示器上的图像对齐,LCD信号接收模块首先检测场扫描信号,当检测到第一个场扫描信号时,启动LCD信号的采集,这样场与场之间、行与行之间的数据信号不会错位,保证一场信号的完整性;在LCD信号扫描时钟控制下,数据有效信号电平为高时读取数据总线上的图像信号,充分考虑到数据信号的建立时间和保持时间,采用扫描时钟下降沿时读取数据信号的方式,读取的数据输出至写FIFO模块;4、写FIFO模块以LCD信号的时钟信号作为写时钟,以SDRAM控制器模块的时钟作为读时钟,以LCD信号有效信号作为写使能,读使能由SDRAM控制器模块提供;当写使能有效时,将LCD接收模块发来的16位信号按照写时钟的频率写入写FIFO模块中缓存;读使能有效时,将写FIFO模块中缓存的数据按照读时钟的频率输出至SDRAM模块;5、SDRAM控制器模块在系统上电200us后开始SDRAM模块的初始化控制,相继完成预充电、对SDRAM模块内部固有的MR寄存器赋值、R2寄存器赋值、Rl寄存器的赋值操作,此时SDRAM模块处于空闲状态,SDRAM控制器模块等待SDRAM模块写触发信号或读触发信号的来临,当SDRAM控制器模块收到FIFO控制器模块发来的写触发信号后产生写FIFO模块的读使能信号作为响应,开始读取写FIFO模块中的数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入写状态,将数据写入SDRAM模块中,每次写操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;当SDRAM控制器模块收到FIFO控制器模块发来的读触发信号后产生读FIFO模块的写使能信号作为响应,开始从SDRAM模块向读FIFO模块写入数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入读状态;SDRAM控制器模块控制SDRAM模块将数据读出,每次读操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;SDRAM控制器模块同时控制着SDRAM模块的刷新操作;6、读FIFO模块以SDRAM控制器模块的时钟作为写时钟,以VGA显示模块的时钟作为读时钟,写使能由SDRAM控制器模块提供,读使能由VGA显示模块提供,当写使能有效时,将SDRAM模块发来的数据写入读FIFO模块中缓存;读使能有效时,将读FIFO模块中缓存的数据输出至VGA显示模块;7、FIFO控制模块根据写FIFO模块与读FIFO模块的内部数据量情况以及SDRAM模块的忙闲状态产生SDRAM模块的写触发信号和读触发信号,输出至SDRAM控制器模块;当写FIFO模块处于半满状态(内部数据量为512)且SDRAM模块处于空闲状态时即产生写触发信号,当读FIFO模块处于半空状态(内部数据量为512)且SDRAM模块处于空闲状态时即 产生读触发信号;8、VGA显示模块将读FIFO模块输出的图像信号按照1024x768@60Hz的VGA显示时序,送出至FPGA模块外部的排阻网络模块;在分辨率为1024x768的VGA信号要求的CLK3=66. 67MHz时钟频率下,产生正确的时序关系,包括行同步信号、场同步信号,消隐信号以及读FIFO模块的读使能信号;根据VGA工业标准,每行像元素为1024,每场图像行数为768,每行时钟周期数为1344,每场的扫描行数为806,行消隐脉冲开始的时钟周期为1048,行消隐脉冲结束的时钟周期为1184,场消隐脉冲开始的扫描行数为771,场消隐脉冲结束的扫描行数为777 ;VGA显示模块输入为16位RGB信号,在行同步和场同步的控制下输出5:6:5格式的R、G和B信号至排阻网络模块进行数模转换,从而完成了 IXD信号转VGA信号的整个过程。
权利要求
1.一种基于FPGA的IXD信号转VGA信号的嵌入式系统,主要由FPGA模块、SDRAM模块以及排阻网络模块搭建,其特征在于FPGA模块包括时钟管理模块、复位模块、IXD信号接收模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块,IXD信号接收模块和写FIFO模块相连接,写FIFO模块和SDRAM控制器模块相连接,SDRAM控制器模块分别和读FIFO模块、SDRAM模块相连接,FIFO控制器模块分别和写FIFO模块及读FIFO模块相连接,读FIFO模块和VGA显示模块相连接,时钟管理模块分别和复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块、VGA显示模块及SDRAM模块相连接,复位模块分别和写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块及VGA显示模块相连接;VGA显示模块和排阻网络模块相连接; 所述的排阻网络模块由三组排阻组成,分别为R、G、B排阻,其中R、B排阻分别由O. 5K、1K、2K、4. IK和8. 2Κ电阻组成模拟R、B信号通路,5个电阻一端分别作为5个数字图像信号的输入端;5个电阻的另一端连接在一起作为R或B路模拟信号的输出端;G排阻由O. 5K、1K、2K、4. 1Κ、8. 2Κ和16. 4Κ电阻组成模拟G信号通路,6个电阻一端分别作为6个数字图像信号的输入端,6个电阻的另一端连接在一起作为G路模拟信号的输出端; 所述的写FIFO模块和读FIFO模块均是由一个异步FIFO构成; 所述的SDRAM控制器模块由主控模块、命令模块、命令解析模块和数据通路模块顺序连接而成,其中命令解析模块和数据通路模块分别和SDRAM模块相连接,以控制SDRAM模块的初始化、读、写和预充电操作。
2.一种利用权利要求I所述的嵌入式系统实现基于FPGA的嵌入式LCD信号转VGA信号的方法,FPGA模块的输入端接收来自嵌入式系统的LCD信号,包括LCD场同步信号、LCD时钟信号、LCD数据有效信号和24位LCD数据信号,其中LCD场同步信号代表着上一帧图像的结束和新的一帧图像的开始;时序参数即时钟频率、场消隐前肩、场消隐后肩、行消隐前肩、行消隐后肩已在嵌入式系统内核中定义好,为1024x768020Hz的信号,由于所接收的LCD信号分辨率是1024x768,宽度是24位,即一场LCD有效信号有768行,每行有1024个像素点,共1024x768个像素点组成,FPGA模块在IXD场同步信号和IXD数据有效信号都有效的时间内,以LCD时钟信号为采集时钝,采集24位LCD数据信号,经过FPGA模块的数据处理和SDRAM模块的缓存,将1024χ768@20Ηζ的LCD信号时序的图像信号转换成1024χ768@60Ηζ的VGA信号时序的图像信号,通过FPGA模块的输出引脚输出至排阻网络模块,该方法步骤如下 O时钟管理模块给复位模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制模块、VGA显示模块和SDRAM模块提供所需要的时钟信号,FPGA模块与SDRAM模块之间的物理连线会产生信号延迟,故SDRAM控制器模块的时钟需与SDRAM模块工作时钟保持有相位差,以确保数据的建立时间和保持时间; 2)复位模块给写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块提供所需要的复位信号,采用FPGA模块内部计数器计数的形式来产生复位信号,包括系统复位信号、SDRAM控制器模块复位信号,其中系统复位信号复位写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块,写FIFO模块与读FIFO模块的复位信号都是高电平有效,故系统复位信号需取反之后再和写FIFO模块及读FIFO模块连接,SDRAM上电后需有200us的延迟才能开始工作,系统上电即复位,系统复位信号和SDRAM控制器模块复位信号均为低电平,同时时钟开始工作,通过计数时钟的个数到200us所对应的数值时SDRAM控制器模块复位信号由O跳变成1,SDRAM控制器模块开始工作,此时继续计数时钟的个数,再经过2us,系统复位信号由O跳变成1,写FIFO模块、读FIFO模块、FIFO控制器模块和VGA显示模块开始工作; . 3)IXD接收模块接收嵌入式系统输出的1024χ768@20Ηζ24位IXD信号,采用高位选取的近似方式转换成16位信号,直接取R的高5位、G的高6位和B的高5位组成16位的RGB信号;为保证液晶显示器上的图像对齐,LCD信号接收模块首先检测场扫描信号,当检测到第一个场扫描信号时,启动LCD信号的采集,这样场与场之间、行与行之间的数据信号不会 错位,保证一场信号的完整性;在LCD信号扫描时钟控制下,数据有效信号电平为高时读取数据总线上的图像信号,充分考虑到数据信号的建立时间和保持时间,采用扫描时钟下降沿时读取数据信号的方式,读取的数据输出至写FIFO模块; .4)写FIFO模块以LCD信号的时钟信号作为写时钟,以SDRAM控制器模块的时钟作为读时钟,以LCD信号有效信号作为写使能,读使能由SDRAM控制器模块提供;当写使能有效时, 将LCD接收模块发来的16位信号按照写时钟的频率写入写FIFO模块中缓CUN存;读使能有效时,将写FIFO模块中缓存的数据按照读时钟的频率输出至SDRAM模块; . 5)SDRAM控制器模块在系统上电200us后开始SDRAM模块的初始化控制,相继完成预充电、对SDRAM模块内部固有的MR寄存器赋值、R2寄存器赋值、Rl寄存器的赋值操作,此时SDRAM模块处于空闲状态,SDRAM控制器模块等待SDRAM模块写触发信号或读触发信号的来临,当SDRAM控制器模块收到FIFO控制器模块发来的写触发信号后产生写FIFO模块的读使能信号作为响应,开始读取写FIFO模块中的数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入写状态,将数据写入SDRAM模块中,每次写操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;当SDRAM控制器模块收到FIFO控制器模块发来的读触发信号后产生读FIFO模块的写使能信号作为响应,开始从SDRAM模块向读FIFO模块写入数据,此时SDRAM控制器模块控制SDRAM模块使其由空闲状态转入读状态;SDRAM控制器模块控制SDRAM模块将数据读出,每次读操作完成之后都带有一个SDRAM模块的刷新操作,随后SDRAM控制器模块控制SDRAM模块进入空闲状态;SDRAM控制器模块同时控制着SDRAM模块的刷新操作; . 6)读FIFO模块以SDRAM控制器模块的时钟作为写时钟,以VGA显示模块的时钟作为读时钟,写使能由SDRAM控制器模块提供,读使能由VGA显示模块提供,当写使能有效时,将SDRAM模块发来的数据写入读FIFO模块中缓存;读使能有效时,将读FIFO模块中缓存的数据输出至VGA显示模块; .7)FIFO控制模块根据写FIFO模块与读FIFO模块的内部数据量情况以及SDRAM模块的忙闲状态产生SDRAM模块的写触发信号和读触发信号,输出至SDRAM控制器模块;当写FIFO模块处于半满状态且SDRAM模块处于空闲状态时即产生写触发信号,当读FIFO模块处于半空状态且SDRAM模块处于空闲状态时即产生读触发信号; . 8 ) VGA显示模块将读FIFO模块输出的图像信号按照1024x768@60Hz的VGA显示时序,送出至FPGA模块外部的排阻网络模块;在分辨率为1024x768的VGA信号要求的CLK3=66. 67MHz时钟频率下,产生正确的时序关系,包括行同步信号、场同步信号,消隐信号以及读FIFO模块的读使能信号;根据VGA工业标准,每行像元素为1024,每场图像行数为.768,每行时钟 周期数为1344,每场的扫描行数为806,行消隐脉冲开始的时钟周期为1048, 行消隐脉冲结束的时钟周期为1184,场消隐脉冲开始的扫描行数为771,场消隐脉冲结束的扫描行数为777 ;VGA显示模块输入为16位RGB信号,在行同步和场同步的控制下输出5:6:5格式的R、G和B信号至排阻网络模块进行数模转换,从而完成了 IXD信号转VGA信号的整个过程。
全文摘要
基于FPGA的LCD信号转VGA信号的实现方法,属FPGA设计技术领域,系统主要由FPGA模块、SDRAM模块以及排阻网络模块搭建。FPGA模块作为转换系统的核心,由时钟管理模块、复位模块、LCD信号接收模块、写FIFO模块、SDRAM控制器模块、读FIFO模块、FIFO控制器模块和VGA显示模块构成,通过Verilog HDL代码实现;SDRAM模块是FPGA模块数据处理的缓存,其控制器在FPGA模块内部实现;排阻网络模块由排阻构成,负责数字信号到模拟信号的转换。本发明具有以下的优点成本低,开发周期短,开发风险极低、更改设计方便且保密性很好。
文档编号G09G5/00GK102831872SQ201210325398
公开日2012年12月19日 申请日期2012年9月5日 优先权日2012年9月5日
发明者袁东风, 徐祥桐, 徐加利, 纪洪亮, 孙文, 翟庆羽, 高凯 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1