基于CMOSIS CMV4000的高速LVDS多通道成像系统设计

 最近新完成了一个有关CMOS的成像电路,传感器采用比利时CMOSIS公司出的CMV4000图像传感器。CMOSIS是由Cypress公司分离出来的大多数科研人员组成的,公司成立于2008年1月份,总部位于比利时的安特卫普。CMOSIS进行专业图像传感器的设计及生产,致力于医疗、机器视觉、运动分析、空间、生物计量及国防应用提供解决方案。

      该公司的标准货架产品列表如下:

Product

Resolution

Shutter Type

Pixel Size

Optical Format

Frame Rate

Output Interface

Applications

CMV300

0,3MP - 648(H) x 488(V)

Pipelined global shutter with true CDS

7.4 x 7.4 μm2

1/3''

300 fps (10 bit)

4 LVDS outputs @ 300 Mbps - 10-bit CMOS output @ 50 Mhz (150 fps)

3D imaging
Machine Vision
Motion Analysis
Barcode

CMV2000

2MP - 2048 (H) x 1088 (V)

Pipelined global shutter with true CDS

5.5 x 5.5 μm2

2/3''

340 fps (10 bit)
70 fps (12 bit)

16 LVDS outputs @ 480 Mbps

3D imaging
ITS
Machine Vision
Motion Analysis
Video/Broadcast

CMV4000

4MP - 2048(H) x 2048 (V)

Pipelined global shutter with true CDS

5.5 x 5.5 μm2

1''

180 fps (10 bit)
37 fps (12 bit)

16 LVDS outputs @ 480 Mbps

3D imaging
ITS
Machine Vision
Motion Analysis
Video/Broadcast

CMV12000

12MP - 4096(H) x 3072(V)

Pipelined global shutter with true CDS

5.5 x 5.5 μm2

APS-like

150 fps (10 bit)
90 fps (12 bit)

150 fps (10 bit) - 90 fps (12 bit)

ITS
Machine Vision
Motion Analysis
Video/Broadcast

CMV20000

20MP - 5120(H) x 3840(V)

Pipelined global shutter with true CDS

6,4 x 6,4 μm2

35mm

30 fps (12 bit)

16 LVDS channels @ 480 Mbps

3D imaging
Machine Vision
Motion Analysis
ITS
Scientific
Medical

CHR70M

70MP - 10000 (H) x 7096 (V)

Electronic rolling shutter with true CDS correction

3.1 x 3.1 μm2

35mm

3 fps

8 analog channels

Document Scanner
Medical
Machine Vision
Security
Scientific

            我的设计针对CMV4000芯片,分辨率为2048x2048,采用12bitsADC和12bitsLVDS模式,4output方式。CMV4000主时钟采用20MHz,数据率为240Mbps。

            FPGA使用ALTERA公司的EP2C8Q208,该芯片有4个bank,将一个bank设置为LVDS工作方式,其他3个bank为LVTTL IO。CMV4000的4个输出通道直接连接到FPGA芯片引脚。FPGA产生CMV4000工作所需的时钟信号和控制信号,还有SPI配置信号。

          其中包括:CMV_CLK  CMV4000主时钟,20MHz

                    CMV_RESN  CMV4000复位信号

                    F_REQ     图像请求信号

                    T_INT1/2  外部曝光控制信号

                    SPI_EN    SPI使能信号

                    SPI_CLK   SPI时钟

                    SPI_IN    SPI数据输入

                    SPI_OUT   SPI数据输出

                    LVDS_CMV_CLKN/P CMV4000LVDS时钟输入

            手册中给出了CMV4000的上电时序,必须严格按照CMV4000的上电时序来做。

            按照大多数的cmos图像传感器工作特点,CMOS在上电后需要对内部工作寄存器进行初始化,才用VHDL语言编写SPI物理层接口程序,和CMV4000初始化配置程序,配置CMOS的工作方式、设置曝光时间、增益、通道设置等参数。




            

   MV4000上电配置结束后,FPGA发送图像请求,随即开始接收来自LVDS接口的串行数据,程序设置位对齐检测模块,当正确接收到字节/字数据之后,启动有效数据接收模块,在行场有效信号的同步下,正确接收图像数据。

  硬件上设置了两片2048x8bits的SRAM芯片,用于存储图像数据。由于整帧图像大小为2048x2048,所以需要将图像分为上下两部分分别存储在两片SRAM中。

  另外由于采用4通道模式,四个通道的像元数据同时到达,所以必须在12个像素位周期内存储完4个同时到达的四个像素数据。



  所以,存入SRAM1中的字节依次为,第一行第一个像素,第一行第512个像素,第一行第1024个像素,第一行第1536个像素,然后是第一行第二个像素,第一行第513个像素,第一行第1025个像素....

  第二行的数据依次类推...

   所以在SRAM读出的过程中,如果是依次读出SRAM中的数据,则数据传输到PC机之后,采集软件需要根据SRAM的存储次序,将图像数据重新排序回来,还原为原始的正常的图像。

  这里,硬件设计采用单通道LVDS接口,将图像数据传输到PC机的LVDS采集卡,上位机软件进行读取。该LVDS接口采用10MHz速度,所以传输一帧图像的速度较慢,大概为3s左右。

硬件电路如下图所示:



下面是上位机采集软件采集的完整的图像,图像大小为2048x2048.


     为了调试方便,初始化过程中,曝光时间设置约为10ms,而在该系统的测试环境中,10ms的曝光时间太少了,传感器对于图像的电荷累计不足,而且在存储和读出SRAM过程中,均选取12bits图像中的低8位数据,所以上面的图像看起来,整体偏暗,且部分区域已经有了翻转的现象。但是整个数据采集和传输流程是没有问题的。

     接下来就是根据实际的应用环境,适当的设置曝光时间、增益等参数,选择图像的高位信息进行图像处理,以达到后端数据处理单元所需的最终效果。

     进一步提高fps:

   目前CMV4000采用的设计思路是4通道输出,12bits模式,数据率为240MHz。按照手册中的典型值:
   4通道输出,12bits模式,数据率480MHz,帧率37.5fps。
   按照如上计算,理论上,我们采用240MHz的数据率,帧率应该是18.75fps。每帧耗时53.333ms。

   如果数据率仍然使用240MHz,但是数据宽度改为10bits模式,则一个像素数据将减少2个数据时钟,即在10个数据时钟,即可输出一个像素数据。即,每个像素节省了2*1/240MHz=8.333ns。

   按此计算,一帧数据2048*2048个像素总共节省时间为:8.333ns*2048*2048=34.951ms。

   用当前设计的每帧耗时,减去可以节省下来的时间,就是10bits模式时,每帧图像的耗费时间:
   T=53.333ms-34.951ms=18.382ms。

   则在240MHz数据率,10bits模式下,理论帧率为:1/18.382=54.4fps。

   当然,这个值只是理论计算值,具体帧率还要根据实际测量得到。可通过测量FVAL信号宽度和周期计算得知。

  电脑模拟的星点图:



   

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CMV2000 FPGA是一种高性能的现场可编程门阵列芯片。它是由Lattice Semiconductor公司研发和生产的,具有可编程逻辑功能,可实现各种数字电路设计CMV2000 FPGA采用先进的CMOS工艺制造,具有较高的集成度和性能。它拥有大约2000个逻辑单元单元(LCU),每个LCU都可以编程成各种组合逻辑门、时序电路或存储器单元。这种可灵活编程的特性使得CMV2000 FPGA在数字信号处理、通信系统、视频图形处理等领域有着广泛的应用。 CMV2000 FPGA还具有较好的可扩展性和可重构性。用户可以根据实际需求配置其中的逻辑单元,以实现所需的功能。同时,由于其设计上的可重构性,用户可以根据需要重写FPGA中的逻辑,而无需更换硬件芯片。这使得CMV2000 FPGA成为了很多设计师的首选,因为它可以提供更灵活的硬件设计解决方案。 此外,CMV2000 FPGA还具有较低的功耗和较高的运行速度。它采用了低功耗设计和先进的时序优化技术,可以实现相对较低的运行功耗。而在运行速度方面,CMV2000 FPGA的时钟频率可以达到几百兆赫兹,使其能够高效地处理大量的数据和进行复杂的计算。 综上所述,CMV2000 FPGA是一款功能强大、灵活可编程的现场可编程门阵列芯片。它在数字电路设计、信号处理和通信等领域有着广泛的应用,能够提供高性能、低功耗和可扩展性的硬件设计解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值