基于FPGA的双图像传感器的设计方案

FPGA/ASIC技术

206人已加入

描述

  引言

  当人们考虑有两个图像传感器的应用时,首先很可能想到的是一个三维摄相机。不过,也有许多设计可以通过使用来自两个图像传感器的数据进行改善;一个例子是汽车司机录像机(CDR)的黑盒子,这通常是安装在后视镜附近,拥有两个摄像机(图 1)。一个摄像机朝向挡风玻璃,而另一个摄像机指向司机。在本地的存储器芯片中存储摄像机的视频,如果有意外事故或疑问,可以进行检索。

  两个摄像机和其数据的其他应用包括对监视的精确分析,在车中对行人的检测。在这些设计中,这两个相机的输出被用来创建一个包括深度感知的算法。有了这些数据,处理器可以非常精确地“看到”图像和从阴影或其他物体中辨别出人。

  所有这些设计都要求有一个图像信号处理器(ISP)。然而,一个 ISP 支持两个传感器并不简单。虽然大多数 ISP 可以支持两个图像传感器的吞吐量,绝大多数 ISP 器件已经设计成只与一个传感器接口。即使有两个端口的 ISP 往往不能组合在一起,同时处理两个图像,或者,如果他们能做到,往往是非常昂贵的。

  除了这个 ISP 接口被限制为只处理一个图像传感器之外,更高分辨率的图像传感器构成了另一个设计挑战。从历史上看,通过统一的 CMOS 并行总线(图 2),所有高达720p30 分辨率的图像传感器都被连接到 ISP。

传感器


  对于 720p60 和更高的分辨率,图像传感器无法通过 CMOS 并行总线进行高质量的传输。因为并行总线速度必须高于 70MHz,开关噪声导致图像传感器的质量下降。为了解决这个问题,图像传感器供应商引入串行而非并行总线来传输数据。然而,由于许多 ISP器件只设计成采用并行总线,需要将新的传感器的串行总线转换到这个并行总线(图3)。

传感器

  最后,对于需要 3D 算法的应用,这两个图像传感器必须同步工作。这不容易做到,因为每个传感器的制造商都有自己的方法和格式。例如,一些图像传感器使用 I / O 引脚来进行触发,而其他制造商则使用 I2C,SPI 或两者兼而有之。几乎所有的 ISP 都面临着设计挑战,以支持多种模式,从而确保各种传感器是同步的。

  一些 ISP 厂商都试图来解决这个问题,通过提供两个独立的接口和两个处理引擎来支持两个图像传感器。但是,结果是构成了一个非常昂贵的 ISP 器件,不仅图像处理能力远远超过实际的需求,而且对软件开发人员而言,配置和编程更加复杂。

  如果一个设计正确地支持格式化两个传感器,使它们同步,在数据发送到 ISP 之前以正确的格式将数据合并,所有这些双图像传感器的挑战都是可以克服的。如前所述,目前许多 ISP 可以处理两个传感器的吞吐量。关键问题是同步接受图像,用正确的格式,以及送至正确的总线。最具成本效益的设计解决方案是使用一个小的 FPGA 和帧缓冲存储器。

传感器


  图 4 展示了一个具有成本效益的解决方案,同步,合并和输出正确的格式到 ISP。通过利用低成本 FPGA,如莱迪思的 MachXO2 和一种廉价的 LP SDRAM 器件,两个图像传感器可以桥接到一个 ISP。 FPGA 设计需要包含以下功能:首先,它必须从 ISP 接口接口至 I2C 或 SPI 寄存器配置。对于这两个传感器,此配置设置是相同的。 FPGA 则需要发送串行配置数据(I2C 或 SPI)到两个传感器,并确保它们被正确地配置。在这一点上,两个传感器将有相同的配置,但他们仍然需要同步。对每一个特定的传感器制造,MachXO2 FPGA 的灵活性能够实施必需的独特控制。为了确保驱动每个传感器的时钟完全一样,FPGA 还将输出时钟到两个传感器。一旦两个传感器被设置和同步,这两个传感器便开始传输图像数据。

  然后 FPGA 将需要在 I / O 单元和逻辑结构中解串化的高速串行图像数据,因此它可以转换这个传感器的数据流为并行格式。然后 MachXO2 FPGA 寻找适当的控制字符,所以对于每个传感器,它能够识别帧的起始和行的起始。这通常是通过寻找控制字符或命令序列来完成的。一旦检测到传感器的图像数据,FPGA 可以提取原始图像数据,并开始使用低功耗 SDRAM 存储器来存储帧。当然,在 FPGA 中需要一个 LP SDRAM 存储器控制器,用来正确的读和写图像数据。 FPGA 执行的下一个功能是整理这个帧格式到所需的输出格式。例如,一个流行的格式是自上而下的配置,另一个是并排的配置(图 5)。

传感器

  在传送集成的传感器数据之前,FPGA 中的传感器数据要转换成 Bayer 模式图像格式。这将确保正确的 RGB 颜色传递到 ISP。有了已知的正确图像和输出格式配置,然后MachXO2 FPGA 用并行总线输出格式化的数据到 ISP。外部 LP SDRAM 用于缓冲传入的帧,由于前一帧已被送出。通常情况下,LP SDRAM 运行两倍快的输出时钟到 ISP。

  为了确保 ISP 的读取和识别数据,FPGA 输出被设计成模仿并行图像传感器的输出。也就是说,FPGA 产生时钟、帧有效、行有效,通常以一个 12 位数据总线送至 ISP。莱迪思半导体公司和 Aptina 已经实现了这个设计。通过使用莱迪思 MachXO 和两个 Aptina 的 9MT024 图像传感器,这个设计是一个非常符合成本效益的解决方案,几乎所有的 ISP 都可以接受。配置传感器的所有主要功能,对它们进行同步,然后实施合适地格式化输出图像数据。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分