基于SoPC的实时视频处理与显示设计
视频输入模块的结构示意图如图6所示。经过灰度变换YcrCb4:2:2格式视频信号在像素时钟控制下输入FIFO缓冲器。彩条测试信号模块在系统测试时,给出一个非常简单的测试信号,可以模拟为信号源,以方便系统的调试。色度转换模块将YCrCb格式转换为RGB格式,并把其值写到FIFO缓冲器中。Avalon DMA把图像数据写到系统存储器(SDRAM)中,当完成一帧图像需写操作时,给Nios II处理器一个中断信号。
在色度空间的转换模块中,采用FPGA片内的资源,利用MegaCore构造一个乘加器件完成运算。根据转换矩阵中YUV的比例关系,将信号放大一定的倍数,使其接近一个整数值。YUV信号的最大值为255,但是10 bit DATA可以接收1 023亮度等级的调节,所以这个比例可以放大4倍左右(如果超出1 023就按1 023的等级计算)。根据反复实验最后得出,按照如下的运算规则最接近转换矩阵:
4 Nios II系统的生成
用SoPC Builder可以进行系统模块硬件设计和底层软件生成。进行硬件模块设计时,SoPC Builder提供了图形化配置界面,备有一些常用外设的IP模块,如SDRAM、Flash RAM、UART、Interval timer、Parallel I/O等。Nios II软核所含的组件如图7所示。
在SoPC Builder自带的IP核库中并没有I2C配置模块、视频输入模块和LCD controller模块的IP核,这些模块是根据寄存器特点以及功能要求自行设计的,并以IP核的形式通过Avalon总线连接到SoPC系统上。在建立了基于Nios II处理器的SoPC系统后,需要进行一些系统设置才能生成最终的Nios II系统。因此,系统配置除了对外设设置外,还包括启动程序、中断向量表、系统启动地址等的设置。
本文介绍了基于SoPC技术的视频采集方案以及对视频信号进行灰度直方图统计及灰度均衡化的实现。该方案结合SoPC技术在软硬件可裁剪、可升级、可扩充等优点,大大缩短了系统整体设计周期,有很好的应用前景和科研价值
评论