微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于USB2.0的视频图像处理芯片实现方案

基于USB2.0的视频图像处理芯片实现方案

时间:08-06 来源:互联网 点击:

  1 引言

  随着计算机技术、微电子技术的高速发展,实时图像处理在多媒体、图像通信等领域有着非常广泛的应用。FPGA 芯片在集成度、容量和速度方面都达到了较高的水平,是实时图像处理的理想选择,基于FPGA 的图像处理芯片的研究已成为信息产业的新热点。USB2.0 接口是一个传输速率可以达到480Mb/s的串行接口,并由不同类型的外围设备共享这个接口总路线,基于USB2.0 的视频图像处理芯片是按照USB协议进行设计的。USB2.0 接口的面世,推动了高清数码摄像头的普及应用,加上同期宽带的飞速发展,电脑摄像头的本地和远程视频效果都有了大幅度提升。国内USB2.0 的视频图像处理芯片现在发展迅速,比如深圳的艾科创新、珠海的炬力等公司都相继推出了各自的产品。本文介绍了一种基于USB2.0 的视频图像处理芯片的实现方案,并在搭建的仿真和验证平台上,对系统进行了功能仿真和FPGA 验证,结果证实本设计达到了设计要求。

  2 基于USB2.0的视频图像处理芯片的整体实现方案

  基于USB2.0 视频图像处理芯片在硬件上由8 个模块组成:微处理器模块(MCU)、MCU 总线接口模块(MCU Bus Interface)、USB2.0 收发器模块(USB2.0PHY)、USB2.0 串行接口引擎模块(USB2.0 SerialInterface Engine,简称USB2.0 SIE)、数据缓冲模块(Data Buffer)、DMA 传输控制器模块(DMA)、图像处理单元 (PU) 、图像预处理单元(PPU)。其结构框图如下图1 所示。

图1 基于USB2.0 的视频图像处理芯片结构框图

  其中,MCU模块、USB2.0 PHY模块和USB2.0 SIE模块使用已有的IP 核,而其它模块均采用硬件描述语言(Verilog HDL)自行设计。

  MCU 模块负责协调控制整个系统的运作;MCUBus Interface 模块负责各模块的部分地址译码及相关数据的选通,以便于MCU 统一管理。USB2.0 PHY 模块负责USB 物理层的链接,并将USB2.0 的总线信号变成标准的UTMI 接口信号;USB2.0 SIE 模块负责处理USB 协议层的操作,完成USB 协议包生成和解析,以及接收来自DMA 的图像数据,并将其保存在数据缓冲模块,完成与MCU 进行的互动;DataBuffer 负责将处理后的图像数据缓存起来,以备USB 同步帧传输时取出后发送至PC;DMA 模块完成将PU 处理后的图像数据传送给USB2.0 SIE;PPU 模块完成获取来自Sensor传感器输出的图像数据,并且对数据进行各种图像方面的处理,然后将处理后的图像数据发送至PU.

  3 PPU模块中核心部件的设计

  PPU 模块所完成的功能主要是:(1) YCbCr4:2:2格式到YCbCr4:4:4 格式的转换;(2) RGB565 格式到RGB888 格式的转换;(3) Bayer 数据坏点修正及Bayer格式到RGB888 格式的转换。其中第三个功能是本模块的最重要的功能,本方案中采用了"两条线伪双端口+六级流水线"的方案来实现,其原理图如图2所示。

图2 Bayer 数据坏点修正及格式转换的硬件原理图。

  从图2 可以知道,在本方案中把坏点修正算法与格式转换算法做在了一个模块中。坏点地址存储模块,主要是用来接收从MCU 输出的坏点信息。伪双端口RAM1、RAM2 是用来临时存储Bayer 图像中的前两行数据。而右端的六级流水线模块,它的作用是完成相应的坏点修正和格式转换。其中,六级流水线的前面五级的作用是完成3×5 窗口的坏点修正,而后面三级是为了完成3×3 窗口的格式转换。

  逻辑管理模块的主要作用是统一管理六级流水线的相应操作,其内部包含一些计数器、比较器。从图中还可以看到,P24、P34 分别把数据写入了RAM1、RAM2,这主要是为了更新RAM 中的数据,使得3×6 窗口能够漫游Bayer 图像的每一个像素点。同时本设计对图像的边缘也做了很好的处理,采用镜像技术对边缘做了很好的修正。

4 PU模块中核心部件的设计

  图像处理单元所要完成的功能主要有:(1)图像滤波(Image Filte);(2)对比度(Contrast);(3)亮度(Brightness);(4)饱和度(Saturation);(5)色相(Hue);(6)锐化(Sharpness);(7)伽马校正(Gamma)等。图3 给出了PU 模块中核心部件的结构,其中图像滤波功能是通过一个1×5 窗口在图像上的遍历来完成,伽马校正主要是通过对ROM 的查表来实现。

图3 PU 模块中核心部件结构图。

  5 设计的仿真和验证

  5.1 模块的功能仿真

  主要给出了对图像预处理模块中核心部件Bayer模块的仿真验证方法,其他模块的仿真验证与此类似。

由于图像处理模块所涉及的数据量非常庞大,仅凭单一的一种或两种软件无法独立完成,所以这里仿真验证的工作是通过三个软件Xilinx ISE + ModelSim +Matlab 共同完成,图4 给出了Bayer 模块TestBench示意图,其实现的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top