新闻中心

EEPW首页 > 嵌入式系统 > 市场分析 > 基于FPGA的高分辨率视频图像处理的SDRAM控制器设计

基于FPGA的高分辨率视频图像处理的SDRAM控制器设计

作者:时间:2014-06-29来源:网络收藏

  控制器主状态机如图2所示。

本文引用地址:http://www.eepw.com.cn/article/248971.htm

  

 

  在主状态机完成初始化状态,进入等待状态后,等待读/写命令和视频数据输入信号。如果无视频输入,状态机始终在等待状态,并周期性的对进行刷新,直到有视频和读/写命令输入。这部分的状态图如图3所示。

  

 

  由于猝发的最大长度为256,在每两行操作之间都要进行激活、读/写命令、猝发终止、刷新等操作。由于读/写数据都使用的是像素时钟的频率,这样总个系统只有一个时钟域,能保证整个系统完全按照同步系统来设计,能提高整个系统的可靠性。这样会带来一个问题,要想仅仅在视频的有效时间,即DEN高电平部分完成一行视频数据的读/写工作,这是不能满足要求的。为了解决这个问题,需要借用行同步、前廊和后廊的时间,但是DEN无效后不传输视频数据的,为了解决这个矛盾在控制器和数据流输入/输出接口之间要分别设计两个FIFO,深度大于一行的视频数据,采用乒乓操作保证视频流的流畅。

  3 SDRAM控制器应用实例

  在某型号的机载大屏显示器系统中,视频图像处理系统中使用该SDRAM控制器进行了调试,实现对SDRAM的控制,完成相应的视频处理算法和实现了图像的翻转功能。此部分系统简要框图如图4所示。

  该系统输入的为多路DVI信号,输入视频分辨率均为1 280×1 024,DVI信号经过DVI解码后输入.

  为了完成FPGA内部的视频处理算法和图像翻转的功能,在FPGA外部挂了两组SDRAM,实现了乒乓操作,保证了系统的处理速度。处理后的视频经过LVDS信号转化,输出到液晶屏上显示。

  

 

  对于左右翻转在FPGA内部采用双口RAM进行操作能够轻易实现。而图像的上下翻转,由于涉及到一帧数据的处理,需要经过外部缓存SDRAM实现。在采用上述SDRAM控制器的基础上,控制SDRAM的读方式就能实现,在将视频数据写入SDRAM的时候,写地址从第一行按顺序写入。读的过程相反,要从最后行开始读。

  由于SDRAM的一行容量不能装下整行的视频信息,所以读的行地址要求每次从读过的行的地址减去存一行视频需要的SDRAM的物理行数,在一行视频数据没有读完前要从当前行不断的自增。如1 280×1 024的视频数据,共需要5 120(5×1 024)SDRAM行存一帧数据。要上下翻转输出图像,首先要输出视频数据的第1 024行,也就是要从SDRAM的5 115行开始按顺序读出,读完第5 120行后,SDRAM地址转到5 110行读视频流的第1 023行,如此类推,直到读完整帧的视频数据。该视频处理系统与显示效果如图5所示。

  

 

  4结论

  该设计针对视频图像处理的SDR SDRAM控制器的设计,采用统一像素时钟进行系统操作,降低系统的复杂度,提高系统的可靠性;通过写修改相关参数,能够适应所有VESA分辨率的视频处理,通用性强;具有自刷新功能,在无外部信号输入情况下能够自动刷新,保证最后存储数据不会丢失;能够通过增加外部模块,控制读写地址,实现图像翻转功能。此控制器在Al-tera的StratixⅡ系列FPGA EP2S60F1020I4平台上,成功实现各种视频处理功能,验证了此控制器的实用性。

fpga相关文章:fpga是什么



上一页 1 2 下一页

关键词: FPGA SDRAM 高分辨率

评论


相关推荐

技术专区

关闭