zxopen08 发表于 2016-8-10 15:37:54

图像DVI输出的FPGA实现

摘 要:提出了一种专用图像处理卡中的图像输出子系统的设计方法,详细描述了设计流程和思考方式。他采用双握手机制、精度计数器,多频率锁相环等技术在FPGA(EP1S10)中实现了通用DVI控制模块, 并通过DVI转换芯片SII164实现多格式DV I图像输出,其输出符合DVI协议和VESA通用时间公式。通过对参数的调整该子系统能很好地完成非标准图像处理领域中对特殊格式输出的需要。同时从VESA通用时间公式出发,讨论了参数的计算公式,给出了标准的计算方法。    关键词:DVI; SII164; verilog; GTF   目前常见的计算机图像DVI输出设备多使用ATI等国外厂商的标准显卡核心芯片,加少量外围设备完成图像的处理和输出工作,其输出多是标准的图像格式,由于技术保密,其具体实现的方法还未能完全公开。但在某些非标准的图像处理应用领域中,目前还没有很好的解决办法。   本图像输出子系统为完全自主研制,在他的设计中,该系统完成根据控制模块给出的输出格式,将计算后的图像从图像缓冲区中取出,加上各种控制信号输出给SII164,通过SII164转变成标准的DVI图像输出。    缓冲数据的读取及控制,多频率时钟的输出、控制信号的产生和同步都在FPGA中实现,本文用Verilog语言完成上述功能。 1系统结构    图像输出部分有以下3个流程,由SII164和FPGA共同完成:   (1) FPGA从输出图像缓冲区中取出象素数据。    (2) FPGA调整时间参数,加各种同步信号,如象素时钟、象素数据、同步信号、控制信号,输入SII164。    (3) SII164接受象素数据和各种同步信号和控制信号,将24 b的数字信号转换成TMDS输出。连接原理图如图1所示。
   FPGA中的控制程序,必须很好地完成以下工作:    给SII164提供不间断的稳定的数据流由于数据缓冲区选取了单端口SD RAM,故数据的写入和读出不可能同时完成,必须采用比输出时钟快2倍以上的读时钟将少量数据取出,放入自定义的FIFO中,调整速率后输出。为保证读写不冲突和从FPGA输出的数据流稳定,本设计采取双握

手机制。通过握手控制单元实现这一任务。握手控制单元读取FI FO中的数据深度指标,经过计算将其转变为2个标志信号:Fdatastop(输入数据停止),Fneeddata(请求数据输入),供SDRAM控制模块根据当前的存储器操作情况决定是否提供数据。    根据输出格式的不同产生不同频率的象素时钟本设计中由一个参数化的锁相环实现。   产生符合时间标准各种同步信号和控制信号,并在时钟稳定期提供输出象素数据本设计中由数据使能、场同步、行同步,数据输出单元完成。   图2为FPGA内部控制模块的RTL图。
    2 SII164    图3是SII164的结构图,其中PlanlLink Digital core 将图像信息编码成3对TMDS差分信号 和差分时钟。Data Capture Logic Block 捕捉图像数据和相关信号。
      在FPGA控制DVI输出中,最关键的工作就是如何生成符合VESA时间标准的行同步场同步并准 确地将图像数据输出。3VESA时间通用规则    VESA(Video Electronics Standards Association)[2]定义了标准的视频输出时间格式

的通用计算公式(GTF),任何图像输出或监视器中的时间参数都可以通过此系列公式计算得到,其中包括场频、行频、时间宽度和前后沿的计算及行场消隐期(blank)。    在计算机图像输出中有多种同步信号,他们的脉冲宽度和与视频的相对位置都是至关重要的,如图4所示通常同步脉冲都存在于场消隐期(blank period)。
   水平同步信号一般占整个一行时间周期的8%,下降沿标志着整个行消隐期的一半。垂直同步信号的宽度是3个行周期,他的前沿(the front porch period)一般占1个行周期,隔行扫描的占半个行周期。为了区别是何种同步信号,GTF规定水平同步信号是负脉冲,垂直同步信号是正脉冲,混合同步信号是负脉冲。    由于目前的显示机制,一幅图像的开始和一场的开始之间总有时间上的间隔,于是G FT定义了场消隐期:
   其中:Nvs指vs中的行周期数(一般是3);Nbp指vs后沿的行周期数;Ts-bp指通常情况下的后沿加同步脉冲宽度(一般定义550μs)Fh为行频,单位kHz。   同场消隐机理,可通过如下公式计算行消隐:   
   其中:C′ 基础补偿常数,通常为30;M′基础梯度常数,通常为300;Fh为行频。
根据上述公式,可以计算出各种格式的图像输出参数,同步信号的脉宽和时间关系。表1为几种常用输出格式参数。其中场前沿、后沿以行数为单位,行前沿、后沿以象素时钟数表示。
    4控制模块设计中的关键点 4.1时钟    时钟与同步是DVI信号处理过程中至关重要的一环,不同的输出方式都需要提供不同频率的时钟。在本设计中使用的是Altera公司的Stratix 系列的芯片EP1S10,在此芯片中提供了6个锁相环,使用其中的任一快速PLL,经过参数化倍频分频常数,就可以产生多种象素时钟。

芙蓉王 发表于 2016-8-10 17:19:17

                                       :):):):)
页: [1]
查看完整版本: 图像DVI输出的FPGA实现