当前位置:首页 > 工业控制 > 电子设计自动化
[导读] 1 引言随着计算机技术、微电子技术的高速发展,实时图像处理在多媒体、图像通信等领域有着非常广泛的应用。FPGA 芯片在集成度、容量和速度方面都达到了较高的水平,是实时图像处理的理想选择,基于FPGA 的图像处理

 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 图像的每一个像素点。同时本设计对图像的边缘也做了很好的处理,采用镜像技术对边缘做了很好的修正。

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示意图,其实现的步骤主要分为以下三步:

图4 Bayer 模块TestBench 模型示意图。

(1)由MATLAB 从10 张有共同坏点位置的不同JPEG 图像中读取8bit 无符号RGB 数据,然后由相应的RGB 数据生成对应的Bayer 数据,并以10个。txt 文本文件来保留这10 张图像的Bayer 数据,这十张文本文件同坏点位置信息一起作为测试输入激励。

(2)把测试输入激励,分别输入Bayer 模块和MATLAB 模拟Bayer 模块功能的程序中,可以分别得到大量的信息,这些信息都是由。txt 文本文件来保存,其中MATLAB 模拟程序完成的功能与Bayer 模块完成的功能相同,只是两者运行的平台不同。

(3)比较由MATLAB 模拟程序与Bayer 模块所生成的大量。txt 文本文件,由于模拟程序和硬件模块具体实现的机制不同(模拟程序采用了矩阵运算,而硬件模块采用2 条线的行缓冲+六级流水线的方式实现),如果它们产生的数据一致,则可以很好的说明硬件模块完成了预期的功能, 然后再运用MATLAB 显示函数,把原始图像数据与修正后的数据以图像的形式显示出来,这样能以更加直观的形式来观察对应的图像效果。

5.2 FPGA 上的验证

5.2.1 FPGA 上验证平台的搭建

图6 所示为本设计的FPGA 验证平台示意图。

图6 FPGA 验证平台示意图。

PC 与一块USB2.0 PHY板通过USB2.0 总线连接,USB2.0 PHY 板与FPGA 开发板由标准UTMI 接口连接。Sensor 板主要是采用美光的MT9V112 sensor 板,I2C 接口主要是用于MCU 对Sensor 的控制,Data 总线包括数据总线和数据控制总线。而硬件MCU 模块、MCU Bus Interface 模块、USB2.0 SIE 模块、DMA 模块、PPU 模块和PU 模块均已综合生成FPGA 下载程序下载到FPGA 中。

5.2.2 验证过程及结果

首先在PC 端需要安装几个工具软件,用于观察USB设备描述符信息的USBViewer,用于捕捉USB 枚举信息的工具软件BusHund.按图6 所示连接所有硬件,然后,将USB2.0 PHY 板的USB 接口插入到PC的USB 插口,并打开USB 视频管理工具软件,能够看到流畅的视频图像。专用测试工具软件可以测试图像帧速率。在验证的过程中,可以看到本方案所设计的芯片支持的最大分辨率为 640×480(VGA),最大分辨率时的帧速率约为15~20fps,基本达到了设计要求。

图7 所示为PC 机上安装的USB 数据捕捉软件工具捕捉的视频图像数据,经分析这些数据证明图像数据正常传送至PC 用户。

图7 BusHound 捕捉的图像数据。

由上图可以看出本设计能够稳定地输出图像,能够稳定地实现设计要求。并且经过反复的测试和评估,表明本设计达到了设计要求。表1 为经测试能够实现的主要技术指标。

表1 实现的主要技术指标

6 结束语

本文设计了一种基于USB2.0 的视频图像处理芯片,通过功能仿真和FPGA 验证,表明达到了设计要求,完成了设计任务。随着FPGA 技术不断发展,使用FPGA 处理图像信息已成为图像处理领域中的一个发展趋势,特别是在对图像处理速度有较高要求的实时图像处理系统中,FPGA 将更能体现其在速度与灵活性方面的优势。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年8月13日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Asahi Kasei Microdevices (AKM) 的...

关键字: 数模转换器 USB 无线扬声器

物联网与智能化设备快速普及,供电方式的选择直接影响设备部署的灵活性、成本与可靠性。PoE(以太网供电)与USB供电作为两大主流技术,分别在工业网络、智能家居、消费电子等领域占据关键地位。本文将从设备适配性、传输距离、功率...

关键字: PoE USB

在无线技术的发展历程中,部署的简便性往往是成功的关键。像Wi-Fi、蓝牙和早期的蜂窝技术,只有在集成变得简单、无缝且实惠时,才能实现大规模的应用。而如今,Wi-Fi HaLow——一种专为物联网(IoT)设计的远距离、低...

关键字: 物联网 Wi-Fi USB

2025年8月5日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics)即日起开售Microchip Technology的新款AVR® SD 8位MCU。AVR...

关键字: MCU 工业自动化 USB

随着高解析度音频应用的不断发展和广泛部署,诸如USB与I2S之间等不同专业接口之间的高品质音频转换需求日益增长,由此带来了实现高性能、高实时性与高灵活性的新挑战。为此,边缘AI和智能音频专家XMOS携手其全球首家增值分销...

关键字: SoC USB 处理器

【2025年7月24日, 德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日推出新型英飞凌ID Key系列,进一步扩展其通用串行总线(USB)...

关键字: 控制器 USB 非易失性存储器

其他电脑(比如安卓手机/平板电脑)的屏幕坏了,你可能想在安排维修之前紧急访问一些东西。你可以使用android的USB OTG功能(是的,几乎每个android都支持这个功能,你可以将鼠标和键盘连接到它)。

关键字: USB 鼠标 Android 树莓派

M5Stack Cardputer非常适合作为硬件密码管理器。它很小巧,有一个内置键盘,一个SD卡插槽,运行在带有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登录字段中键入密...

关键字: 密码管理器 M5Stack Cardputer USB

【2025年7月10日, 德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)为CIS的新款USB 5 Gbit/s和10 Gbit/s摄像头提供E...

关键字: 控制器 USB 图像信号处理器

Holtek 针对USB应用推出HT82B45R低速USB OTP MCU,符合USB 2.0低速规范,支持键盘用的高阻抗碳膜技术(Carbon Membrane)。HT82B45R结合低功耗设计、弹性I/O配置、内建L...

关键字: MCU USB 看门狗定时器
关闭