工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->通信电路图->通信综合电路图->如何将MIPI CSI-2图像传感器连接至EZ-USB CX3

如何将MIPI CSI-2图像传感器连接至EZ-USB CX3

作者:angelazhang时间:2015-09-04

USB3.0提供的高带宽对用于将外设连接至USB的IC提出很高的要求。一个流行的示例就是摄像头将非压缩数据输送到PC中。由于在版本3.0中,已经增大了USB带宽,因此连接在电脑上的摄像机的分辨率也会增加。为了满足高带宽摄像机接口的要求,移动工业处理器接口(MIPI)的联盟制定了摄像机串行接口2 (CSI-2)规范。


世强代理的CYPRESS(赛普拉斯) EZ-USB CX3是一个允许开发人员在任何图像传感器中添加USB 3.0连接的USB  3.0摄像机控制器。它符合移动工业处理器接口(MIPI)摄像机串行接口类型2 (CSI-2)标准,并作为一个MIPI CSI-2至USB桥接器使用。


EZ-USB CX3将来自图像传感器的数据转换为符合USB视频类别(UVC)的格式。符合此类别的摄像设备能够使用OS内置的驱动程序进行操作,使摄像机与主机应用(如AMCap和VLC媒体播放器)相互兼容。本文将通过EZ-USB CX3在摄像头上的应用实例探讨如何将MIPI CSI-2图像传感器连接至EZ-USB CX3。


EZ-USBCX3在摄像头上的应用实例

如图1是一个摄像头的系统框图,右侧是一个装备超速USB  3.0端口的PC 左侧显示的是一个包含了MIPI  CSI-2接口的图像传感器,它支持下列各项内容:

1、1到4个MIPI CSI-2数据通道;

2、RAW8/10/12/14、YUV422(CCIR/ITU 8/10 位)、RGB888/666/565、压缩格式如M-JPEG和用户定义的8位图像格式;

3、VGA 60 fps或HD(720p)60 fps 或全HD(1080p)30 fps和5 M-Pixel 15 fps。


图1:摄像头系统框图

 

如图1显示的带有编号各子模块的作用和功能如下:

①基于MIPI  CSI-2的图像传感器与CX3相连接,并且通过使用摄像机控制接口(CCI)总线配置该传感器。

②配置CX3上的MIPI CSI-2控制器,以读取该传感器中的图像数据,分解该数据并将它发送到GPIF  II模块。

③根据图像数据格式配置GPIF  II 模块。

④构建一个DMA,它会将图像数据从GPIF  II模块转移到USB接口模块(UIB)。在本应用中,必须将头数据添加到图像传单器内的视频数据中,以符合UVC规格的要求。因此应配置DMA,以允许CPU将所需的头数据添加到DMA缓冲区内。必须设计该通道以让最大带宽满足将视频从图像传感器输送到PC的要求。

⑤ CX3固件初始化CX3的硬件模块,配置图像传感器和MIPI  CSI-2控制器,枚举器件成为一个UVC摄像头,处理UVC特定请求通过CCI(I2C)接口将视频控制设置(如亮度)传输给图像传感器,将UVC头数据添加到视频数据流,以及将带有头数据的视频数据提交给USB。

⑥提供正确的USB描述符,保证主机能够识别符合UVC的外围设备。

⑦主机应用(如AMCap或VLC媒体播放器)将存取UVC驱动程序,以通过UVC控制接口配置图像传感器,并通过UVC流接口接收视频数据。

上述是各个子模块的功能介绍,另如果将摄像机插入USB  2.0端口,CX3固件会使用CCI总线降低帧率和帧大小,以匹配较低的USB带宽。同时PC主机可以选用视频控制接口以将亮度、对比度、色调、饱和度、曝光、自动对焦和PTZ(平移、倾斜和缩放)等调整内容传输给摄像机。


如何将图像传感器连接至CX3

1、MIPI CSI-2接口

由于摄像机的应用比较复杂,因此更加需要具有更高分辨率的图像传感器。该要求会加大并行图像传感器接口的枀限值,而这些接口可能难以扩展开,并需要多个互联。因此,移动工业处理器接口(MIPI)联盟制订了摄像机串行接口2 (CSI-2)标准,以提供功能强大、低功耗且高速的标准串行接口,用于支持各种图像解决方案。

MIPI CSI-2接口是一个带有数据及时钟信号的单向差分串行接口。每次可以传输四个数据通道,数据速率可达1 Gbps。用于配置图像传感器的控制接口与I2C标准相兼容,并将该接口称为摄像机控制接口(CCI)。

在CX3中的MIPI CSI-2控制器提供了这两种接口以及图像传感器通常需要的各附加信号。该接口中所显示的的三个附加信号(如图2),包括:

XRST:配置前,图像传感器通常需要CX3中的复位信号。通过使用CX3的XRST引脚可以实现此复位。

XSHUTDOWN:当主机不需要图像传感器中的视频流,可关闭传感器或使其进入待机模式以降低功耗。通过使用传感器中的关闭引脚完成此操作,使用CX3 XSHUTDOWN引脚可以控制该关闭引脚。

MCLK:图像传感器需要的主(或参考)时钟也可以由CX3提供。可配置MCLK引脚以提供不同频率的时钟


图2 带有图像传感器的CX3接口


工程师可通过配置该MIPI CSI-2控制器以支持1-4个数据通道、不同的数据格式(如RAW和YUV)、以及不同的摄像机分辨率。此应用通过使用一个配置传感器为四个数据通道提供YUV图像数据。配置后,MIPI CSI-2控制器接受来自图像传感器的串行图像数据,分解该数据,然后将其转换成并行数据以通过并行接口发送。此接口使用以下各信号:

FV:帧有效(表示帧的开始和结束)

LV:行有效(表示行的开始和结束)

PCLK:像素时钟

数据:图像数据的8位、16位和24位数据总线

将MIPI CSI-2控制器中的并行输出接口连接到GPIF II 模块(如图3),该模块是处理器接口模块(PIB)的一部分。


图3 GPIF II模块


GPIF II模块

GPIF II模块使用了一个状态机将该接口中的数据连接到两个DMA套接字。通过CX3的DMA(直接存储器访问)可以在两个模块之间快速进行不间断的数据传输。

如果CX3 CPU需要添加、删除或修改数据流中的数据,通常需要执行该手动DMA通道操作。填充或清空DMA缓冲区之后,套接字需要一个有限的时间量(多达几微秒)从一个DMA描述符转移到另一个描述符。转换过程中,套接字不能传输数据。通过使用两个GPIF线程,可以消除GPIF II 模块内存在的延迟。GPIF线程选择机制同MUX一样。切换有效的GPIF线程时会切换用于数据传输的有效套接字,从而修改用于数据传输的DMA缓冲区。该切换的延迟等于一个时钟周期,使其基本上是瞬间发生的。在DMA缓冲区边界上实现对GPIF II 状态机的切换,这样可以屏蔽在切换到新的DMA描述符时,GPIF套接字所产生的延迟。这样,当DMA缓冲区为满时,GPIF II模块可以使用传感器中的数据。

图4 显示的是本应用程序中使用的各个套接字、DMA描述符和DMA缓冲区连接,以及数据流。使用两个GPIF线程填充备用的DMA缓冲区。这些GPIF线程使用了单独的GPIF套接字(作为生产套接字使用)和DMA描述符链(描述符链1和描述符链2)。USB套接字(作为消耗套接字使用)使用了第3个DMA描述符链(描述符链3)按正确顺序读取数据。


图4 CX3数据传输架构


GPIF II模块内部使用了一个状态机从MIPI CSI-2控制器的并行输出接口读取视频数据。该状态机将视频数据加载到两个套接字上,防止在各个DMA描述符间切换时防止丢失数据。因此,使用计数器来跟踪读入套接字的数据量,然后当该计数器达到其枀限值时,它将切换到其它套接字。使用计算机的限定值来设置DMA缓冲区的大小。发送一帧数据后,状态机将中断CPU以指出已成功完成发送该帧,从而允许它添加标题并执行发送其它帧。


关键词: CX3 USB3.0 PSoC USB单片机

评论

wenq1303 · 2022-08-24 22:52:42

毫无用处

技术专区