基于 FPGA 的低成本、低延时成像系统

发布时间:2024-12-07  

基于 FPGA 的低成本、低延时成像系统

副标题:优秀的IC/FPGA开源项目(三)-低成本、低延时成像系统

《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限于综合、上板测试等。两者相辅相成,互补互充~


目前商用领域的成像系统还是以嵌入式ASIC为主(成品时间快,性价比高),对于一些军工、医学等特殊领域还是以FPGA为主,在特殊领域里延迟是最先考虑的问题(成本不是主要问题),所以今天介绍一下使用FPGA实现低延迟的成像系统,这里说明一下,整个系统调试比较麻烦(和sensor有关),很大可能调试不出图像,所以大家只需要知道有这个架构即可,有需求可以自己调试。

低延迟架构

我们这次使用的是AMD-Xilinx FPGA,大部分的图像处理都有IP可以使用,在官方文档中有相关的架构,具体如下:

上面的架构是比较通用的架构,官方也有例程可以参考,但是上面架构多了一个VDMA,这就导致视频传输的时候有1到几帧的延迟,这对于低延迟、高分辨率的情形肯定是不能容忍的。所以官方对于特殊情况建议使用下面的架构:

去掉了VDMA,但是对于时钟系统要去更高,对于视频输入输出在不同时钟域情况下是使用不了的,所以整体要求比较高。但是砍掉了VDMA和DDR,所以整体成本会低很多。关于没有VDMA情况下的各个IP的设置及测试可以看下面的文章《不使用VDMA情况下使用AXI4总线实现视频输入输出(低延迟首选)》。

FPGA系统架构设计

我们还是参考上面的架构来设计我们的系统。

当我们与图像sensor对接时,我们通常会以不同的格式接收图像,例如 MIPI 、并行接口,在我们接收视频之前,我们需要先配置sensor按照我们的需求运行。通常,sensor需要通过 I2C 或 SPI 进行配置。

这次演示的平台:

  • 7系列FPGA
  • MT9M114 sensor

sensor 的接口非常简单,可以分为视频接口和配置接口(IIC)。

  • 视频接口由 10 位数据(分为 8 位和 2 位)、帧和行有效、像素时钟和参考时钟 (24 MHz) 组成。

  • 配置接口由连接到sensor的 I2C 和 复位IO组成。

该解决方案的架构如下:软核处理器(MicroBlaze)通过 I2C 配置sensor。虽然图像处理路径将在 FPGA 中实现,但由于这是一种低成本应用,该解决方案不会使用 DDR 存储器中实现外部帧缓冲区,而是图像处理流水线将完全在 FPGA 中实现。

Sensor中由于我们配置的是RAW数据,所以还需要使用Sensor Demosaic和Gamma(基本成像IP)IP。

该设计还将使用软核处理器来控制视频时序和图像处理路径的其他相关配置任务。

Vivado 工程构建

搭建MicroBlaze 系统

这一部分比较简单,可以看看之前的文章《【Vivado那些事儿】MicroBlaze最小系统搭建及程序固化

添加其他IP

整个系统需要的IP主要如下:

  • CAM 接口 - 此接口与 sensor接口连接,简单处理数据(选择RAW数据的位数),此IP非必须
  • Video to AXIS - 这会将并行视频转换为 AXI 流格式
  • Sensor Demosaic - 将代表 R、G 或 B 的 RAW 像素值转换为 24 位 RGB 格式
  • Video Timing Generator - 生成输出格式的视频时序信号
  • AXI Stream to Video Out - 将 AXI Stream 转换为并行视频
  • AXI IIC - 连接到 MicroBlaze,用于配置sensor
  • AXI UART - 连接到 MicroBlaze,用于软件调试

添加完后就可以连线了,完整的框图应如下所示。完整的工程在文章最后给出。

在 AXI Stream 中,使用 TUser 指示帧的开始,使用 TLast 指示行的结束。

IP的关键设置

Video to AXIS

Sensor Demosaic

AXI IIC 设置

其他IP可以查看文章最后的工程查看。

资源使用率

在Arty S7-50 的总利用率如下所示。

SDK 中编写软件

生成 Vivado 硬件后,下一步就是编写应用软件,用于配置sensor和视频处理IP核。

因此,软件中将执行以下操作:

  • 初始化 AXI IIC、VTC 和中断控制器
  • 设置AXI 相关中断控制器 - 这包括三个中断服务例程。IIC 发送、接收和状态各一个。
  • 在 VTC 配置输出时序
  • 通过 I2C 复位sensor并点亮 sensor板子上 LED
  • 通过I2C读取sensor-MT9M114的ID,来检测相机是否存在(外围设置是否正确)
  • 通过 I2C 配置和初始化相机 - 这是最浪费时间的,好在有很多资料可以参考

初始化相机后,我们将能够在 ILA 上看到视频流。

调试过程中测量的FPGA和sensor之间的 I2C 通信信号。

使用 AXI UART 调试软件:

一旦相机初始化,我们可以使用 ILA 采集信号:

上图显示了 1280 像素的线宽。

AXI Stream 是一种单向总线,用于将数据从主机传输到从机,作为数据流,它不包含地址通道。为了通过 AXI 流控制流和传递视频时序信息,我们使用了以下信号:

  • TReady - 当准备好接收数据时由下游外设断言
  • TValid - 当输出数据有效时通过发送外设断言
  • TUser - 为帧的开始发出
  • TLast - 为行尾标志

由于我们没有 使用VDMA,所以 AXIS 流上的视频输出是一个连续块,并且 TValid 在活动像素周期内不会断言和取消断言。

我们可以通过使用图像处理链的像素时钟来确保 Tvalid 是连续的。

软件部分还是参考最后的工程吧,除了sensor需要单独编写,其他都是由SDK自带的例程修改而来。


文章来源于:21IC    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    利用单片机和FPGA实现系统中可延时调节模块的设计;基于P89C51RD2和FPGA的信号延时模块主要用在传输时钟信号、数字同步信号等对信号延迟有高要求的点对点传输系统中,它可对多路信号进行单独的适当延时......
    驱动解决方案主要优势 ●FPGA控制电流环,高性能,高精度: 双芯片架构,将电流环控制放在FPGA里面进行硬件加速,大幅降低延时让电流环更快速,提高精确度;FPGA还可分担处理器的工作提升整体性能; ●可灵......
    FPGA约束、时序分析的概念介绍;的概念和基本策略本文引用地址:主要包括周期(FFS到FFS,即触发器到触发器)和偏移约束(IPAD到FFS、FFS到OPAD)以及静态路径约束(IPAD到OPAD......
    基于 FPGA 的低成本、低延时成像系统; 基于 FPGA 的低成本、低延时成像系统 副标题:优秀的IC/FPGA开源项目(三)-低成本、低延时......
    远端访存加速器Memory-Over-Fabric(MoF)。该硬件系统高效地分担了传统CPU的部分任务,大幅减小访存延时,并增加了带宽利用率。 达摩院基于此架构实现了单机四卡FPGA的原型系统,并通......
    (现场可编程门阵列),因低延时、高度灵活、可扩展等特点,在汽车市场迎来巨大的增量空间。 根据Gartner预测,2020-2026年全球FPGA市场规模从55.85亿美元增至96.9亿美元,年均......
    认为真正有键按下。当检测到按件释放后,也要给5~10 ms 的延时,待后沿抖动消失后,才能转入该键的处理程序。 对FPGA 编程完成消除抖动及按键识别,由抖动消除模块、键盘扫描电路、键盘译码电路、按键......
    生成RGB数据,需要两到三次乘法运算和三到四次加法运算。尽管FPGA逻辑电路(门电路) 的延时只有几个纳秒,但载波传输、加法器、移位乘法器都会导致不同程度的延时,使整体延时增大。为了使延迟最小化,每个......
    在莱迪思的低功耗FPGA解决方案上,为汽车市场提供高速和先进的车载功能互连解决方案。该方案提供超低延时、高灵活性、分担CPU负载和确定性延迟,同时内置安全功能,有助于加快这些高级应用背后的E/E架构......
    GuardKnox的高性能CommEngine™运行在莱迪思的低功耗FPGA解决方案上,为汽车市场提供高速和先进的车载功能互连解决方案。该方案提供超低延时、高灵活性、分担CPU负载和确定性延迟,同时......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>