原创 H.264视频解码芯片中视频控制器的设计

2009-9-19 20:02 1623 4 4 分类: 测试测量
作者:    时间:2007-08-20    来源: 
 
      

引言

  h.264是itu-tvceg组织和iso/iecmpeg组织共同研究的新型视频压缩标准,相比其他视频压缩算法,具有压缩比高、算法复杂的特点。由于编码算法的复杂性,系统对图像解码速度和功耗要求非常严格,因此,在设计解码器时采用了h.264解码专用芯片的设计方案。对一个大的设计项目,一般采用由顶向下(top-dowm)的设计方法,把各功能模块划分为子模块。视频控制器模块是芯片与显示平台的数据接口,对检验芯片设计是否成功起着重要的作用,有必要把它单独划分为一个子模块。为了提高设计的成功率,在设计初期采用了基于fpga的原型验证。整个系统的fpga原型验证平台如图1所示,平台分为2个部分,硬件设计和基于risccpu的软件解码,两部分协同工作,既可以验证软件和硬件的解码结果,又可以加速整个解码过程。

h.264解码芯片的fpga原型验证平台



  图1 h.264解码芯片的fpga原型验证平台

输出视频控制模块结构框图



  图2 输出视频控制模块结构框图

  视频控制模块的设计与实现

  视频控制模块原理框图及功能分析

  输出视频控制模块的结构框图如图2所示,本模块有2个时钟域:系统时钟域和显示时钟域。系统时钟频率根据所选用的sdram类型而采用固定的166mhz;对于分辨率为1280×720的高清电视来说,显示时钟域可以选用70 mhz 左右的频率。

  系统时钟域含有2个对外接口:系统接口,主要包含上层系统发出的指令以及输出控制模块的反馈信息;dram接口,包含数据专用总线为输出控制模块提供的信号,用来于向dram请求显示的图像数据。

  系统时钟域中的显示输入控制子模块(disp in ctrl)首先用于接收系统传来的startdisp和enddisp信号,来启动或关闭视频数据的输出显示功能,同时发出帧图像显示完毕信号(framedone),通知系统更换下一副图像的地址信息(imageaddress);其次,它用于向dram发出请求,通过专用数据通道读取需要显示的图像数据;它还要控制输入多路选择模块(input mux),从而完成向片内sram写数据的任务;最后,该模块要与显示时钟域的信息交互,向时钟域同步模块(clk domain sync)发送显示使能信号(dispen sys),控制图像显示的开启和关闭。系统时钟域的另一个子模块——输入多路选择模块会按照一定的规律选择片内双口sram,控制存储器地址,完成向存储器写入显示图像数据的任务。

  显示时钟域含有一个对外显示设备接口,主要包含用于显示的控制信号和已完成转换的数据信息。显示时钟域包含2个子模块,一个是输出多路选择子模块(output mux),用于实现对双口sram的选择和地址控制,按照一定的规律读取要显示的图像数据;还要进行数据的打包。另外一个子模块是显示输出控制模块(disp out ctrl),用于实现对tv编码器的控制、yuv信号向rgb信号的转换以及对数字图像的缩放,信号包括显示时钟、行同步、帧同步以及rgb图像数据等;它还要控制输出多路选择模块以读取显示数据;最后,它要与系统时钟域进行交互, 配合数据在两个时钟域之间的传递。

  视频控制模块采用的特殊技术

  时钟域同步模块是输出控制模块设计的重点,它主要负责两个时钟域之间的控制信号传递。跨时钟域的信号传递设计较为麻烦, 所以设计中将传递的信号分为两类:数据信号和控制信号,其中控制信号就是通过时钟域同步模块传递。对需要跨时钟域传递的信号数进行精简,在最后方案中只需要2个信号:wrdone信号由系统时钟域发出,通知显示时钟域某块双口sram中的数据已经更新完毕,可以读取并进行显示输出;rddone信号由显示时钟域发出,通知系统时钟域某块双口sram中的数据已经显示完毕,可以更新其内部的数据。信号在不同的时钟域之间传递需要采取消除亚稳态(metastability)的处理措施,可使信号通过两级寄存器锁存输出,如图3所示。

跨时钟域信号亚稳态消除电路



  图3 跨时钟域信号亚稳态消除电路

视频输出子模块的硬件实现框图  



  图4 视频输出子模块的硬件实现框图

  

  设计中有两点值得注意,首先,时钟域同步电路应放在一个独立的模块中,保证综合工具的优化、时序分析的正确,并方便电路的分析和调试;同时,为了能够使信号的目标时钟域采集到信号变化,设计中传递的控制信号都采用电平信号表征。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条