嵌入式视觉设计中使用 FPGA调试信号发生器_第1页
嵌入式视觉设计中使用 FPGA调试信号发生器_第2页
嵌入式视觉设计中使用 FPGA调试信号发生器_第3页
嵌入式视觉设计中使用 FPGA调试信号发生器_第4页
嵌入式视觉设计中使用 FPGA调试信号发生器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式视觉设计中使用FPGA调试信号发生器?过去几年里,嵌入式视觉应用大量涌现,包括从相对简单的智能视觉门铃到执行随机拾取和放置操作的复杂的工业机器人,再到能够在无序、地形不断变化的环境中导航的自主移动机器人(AMR)。快速采用嵌入式视觉技术的行业包括汽车、消费电子、医疗、机器人、安防/监控以及大量工业应用。如今,嵌入式视觉正逐渐应用于人工智能(AI)和机器学习(ML)系统中,用来分析图像和视频流、检测/识别人和物体以及从看到的景象中提取信息,便于采取下一步行动(关于AI、ANN、ML、DL和DNN的常见问题1)。本文首先介绍了当今嵌入式视觉设计一些趋势。然后探讨了现场可编程逻辑门阵列(FPGA)在嵌入式视觉系统中的应用。最后讨论了使用莱迪思半导体的CrossLink™FPGA创建嵌入式视觉系统。嵌入式视觉的发展趋势推动嵌入式视觉设计的主要趋势有:高分辨率和高带宽的需求持续增长,系统中视觉传感器和显示器的数量与日俱增,以及小尺寸和低功耗的要求不断涌现。此外,将人工智能(AI)和机器学习(ML)功能加入嵌入式系统也是大势所趋,尤其是添加到靠近视觉传感器的本地端。嵌入式视觉系统的另一个趋势是接口标准的数量和种类不断增长。表1列出了一些最常见的接口类型。其中用于“模块内部”(insidethebox)的标准(如设备内部)通常要求驱动几厘米到几十厘米大小的设备,而“模块之间”(box-to-box)的接口可能需要在几米到几百米甚至更大的设备间驱动视觉数据。表1:常见视频接口PHY这个术语是“物理层”的缩写,通常是在芯片上或者作为芯片(集成电路)实现的一种电子电路。PHY用于实现开放系统互连(OSI)模型的物理层功能,无论计算或电信系统底层内部结构和技术如何,该模型都能对其通信功能进行标准化。MIPI简介嵌入式视觉应用中MIPI的使用日益增多,尤其是CSI-2(摄像头/传感器)和DSI(显示屏)协议,两者均采用被称之为D-PHY的PHY。在带宽和接口长度方面,MIPI在位于OpenLDI和eDP/DP(eDisplayPort和DisplayPort)之间。MIPI联盟是一家在全球拥有250名企业会员的国际组织。ARM、英特尔(Intel)、诺基亚(Nokia)、三星(Samsung)、意法半导体(STMicroelectronics)和德州仪器(TexasInstruments)于2003年创建MIPI联盟,彼时MIPI是“移动产业处理器接口”的英文首字母缩略词。然而,如今该组织的各类规范不仅适用于处理器互连,更能满足一台设备上全部接口需求,所以MIPI不仅仅是首字母缩略词,而是已经作为单独的名称使用。为了了解更多有关MIPI流行的背景信息,我们不妨回顾一下1990年代中期个人计算机(PC)刚开始流行的时期(图1)。当时的PC使用的接口是外设部件互连标准(PCI)和通用串行总线(USB)。这些低成本的PCI和USB技术随后被各类不同的产品采用。图1:PC和智能手机出货量MIPICSI-2和DSI-2协议也是如此,它们最初用于智能手机。自从2007年发布首款iPhone以来,智能手机急速增长,远远超过PC。这推动了规模经济,低成本的摄像头、显示屏和处理器组件开始涌现,它们开始广泛用于各类非智能手机应用和市场。(本文中的“处理器”可能是指SoC芯片、ASSP和应用处理器等器件)MIPI采用的D-PHY接口(如图2所示)使用一个差分时钟和一到四个差分数据通道,支持的速度为80Mbps到2.5Gbps。图2:MIPID-PHY接口MIPI接口支持两种运行模式:高速(HS)和低速(LP)。该接口在发送器和接收器之间主要是单向传输,但是在某些低速通信情况下,能够从接收器向发送器传输。在嵌入式视觉设计中使用FPGA嵌入式视觉设计的一个重要特征是其架构通常需要不断调整以适应各种规范的变化,这就让FPGA成为实现这类设计的理想选择。一个主要的考虑因素就是ASIC/ASSP和FPGA设计开发周期的差别,使用FPGA来实现设计(图3),可加快产品上市(从而快速盈利)。图3:使用FPGA加速产品上市和盈利中型ASIC/ASSP从设计到量产其开发周期要将近一年。此外,由于设计规范不断发生变化,期间还存在诸多风险(在嵌入式视觉设计中非常常见),再加之ASIC/ASSP的设计流程大多错综复杂,这就意味着某个流程出现耽搁,会对其他流程产生连锁的负面反应。若采用FPGA实现设计,设计人员可采用经过市场检验的硬件,在现场重新配置,应对任何设计规范的变更。从设计人员的角度来看,开发周期的最初阶段(即在抽象的RTL阶段捕获设计)都是相同的,其余步骤要么相似,要么所需时间和资源更少,要么根本不需要。因此使用FPGA的总体优势是可以在大约三分之一的开发时间内实现设备的正常工作。从历史角度看,一些嵌入式系统的设计人员认为FPGA是大尺寸、高功耗的器件,仅仅用于数据中心、通信中心、医学成像以及军事等大型应用。这些传统的FPGA通常有几十万LUT,功率高达50-100W,封装尺寸可达55x55mm,通常配置散热片。然而还有一些专门实现特定功能的FPGA产品,专注于要求小尺寸和低功耗的应用。例如莱迪思半导体提供这类小尺寸(从10x10mm,功耗1W到1.4x1.4mm,功耗仅为1mW)的FPGA产品,满足那些要求小尺寸和高能效应用的需求。与小型ASIC/ASSP相比,这些功能导向的FPGA更容易快速开发、使用更灵活。此外,由于大多数通用FPGA旨在应用于工业和汽车等多个市场,它们通常都支持商用和工业温度环境。而ASIC/ASSP大多被开发用于消费电子产品,对此类温度环境的支持不太普遍。CrossLinkFPGA简介莱迪思半导体主要提供四种FPGA产品系列:ECP™、MachXO™、iCE™和CrossLink™。ECP系列包括了设计人员所一般认为的“传统”FPGA——主要针对互连和加速应用的通用器件。MachXOFPGA具有数百个可编程输入/输出(I/O),非常适合需要GPIO扩展、接口桥接和电源管理功能的各类应用。iCE系列是尺寸最小的超低功耗FPGA,最小型号封装尺寸仅为1.4mmx1.4mm,提供18个I/O。尤其值得一提的是针对高速视频和传感器应用进行了优化的CrossLinkFPGA。CrossLinkFPGA通过硬核PHY增强了其传统的可编程架构,提供业界最快的MIPID-PHY桥接解决方案,支持高达12Gbps和4KUHD分辨率(图4)。此外,CrossLink器件提供2.46x2.46mm的WLCSP小型封装和0.4mm、0.5mm和0.65mm球间距的BGA封装。图4:用于嵌入式视觉的CrossLinkFPGA包括硬核MIPID-PHY,优化性能和设计CrossLinkFPGA提供两个4通道MIPID-PHY收发器,每个PHY速率达6Gbps,还提供15个可编程源同步I/O对,通过LVDS、SLVS200、subLVDS、LVCMOS和OpenLDI(OLDI)等接口标准实现摄像头和显示屏互连。此外,这些可编程I/O可实现每通道速率最高1.2Gbps的“软MIPI”接口,而LVCMOS可用于在本地实现并行/RGB接口。应用案例CrossLinkFPGA的应用包括传感器桥接、传感器复制、传感器聚合、显示屏桥接和分屏。这里的“桥接”是指将视频信号从一种接口标准转换为另一种。在现有控制器上使用MIPI传感器和显示屏:一个典型的案例就是现有系统的SoC、ASSP或AP不支持MIPI,但是设计人员希望在保留原有处理器(及代码)的同时对系统进行升级,新增更为高效、低功耗、基于MIPI的传感器和/或显示屏(图5)。图5:使用CrossLinkFPGA让现有的SoC、ASSP、AP兼容MIPI传感器和/或显示屏在现有传感器和显示屏上使用MIPI控制器:当设计人员的SoC、ASSP、AP支持MIPI,但是又希望使用原本的非MIPI传感器和显示屏系统时,也会面临同样的问题。工业领域的许多图像传感器和显示屏都采用LVDS、SUBLVDS或并行接口。此外,许多传统的传感器采用的是全局快门而非卷帘快门。这就推动了对更为复杂的桥接解决方案的需求。图6:使用CrossLinkFPGA让MIPI接口的SoC、ASSP、AP兼容现有的非MIPI传感器/或显示屏传感器数据复制:该应用的一个典型案例是,对安全性要求高的应用需要进行数据备份(如智能汽车),因此来自传感器的视频输入可能需要分成两个数据流,馈送到两个单独的处理器中(和许多其他接口标准一样,MIPI是点对点的,因此不能将单个传感器直接连接多个处理器)。这类应用的思路是,如果其中一个处理器发生故障,必须要有数据备份。此外,如果有多个传感器,每个传感器的数据流都可以被拆分并馈送到多个处理器。当然,传感器复制可与桥接功能结合使用。图7展示了一种可能的配置场景。图7:使用CrossLinkFPGA在对安全性要求高的系统中实现传感器数据复制显示器分屏:当我们需要获取由系统处理器生成的视频信号,并将该信号拆分连接到多个显示屏时,就需要用到显示器分屏的功能。它可以与桥接功能结合使用。图8展示了一种可能的配置场景。图8:使用CrossLinkFPGA实现显示器分屏传感器聚合:最后,我们来谈谈传感器聚合应用。正如本文以上所述,这一应用得以发展是因为系统中添加了越来越多的图像传感器。问题在于某些处理器的传感器输入数量有限,因此我们需要某种方式来聚合来自多个传感器的数据。图9:使用CrossLinkFPGA实现传感器聚合当然,与传感器复制和显示屏分屏一样,传感器聚合也可以和桥接功能一起使用。使用CrossLinkFPGA进行设计使用CrossLinkFPGA进行设计时,要先问自己一些基本的问题,然后顺着答案设计基本架构。例如,你打算使用什么PHY和协议来输入输出视频信号(图10)?图10:作出架构方面的决定这些决定大多和你所选择的传感器和显示屏类型有关(或者因为没得选择不得不使用这些类型)。还有一些影响因素就是即将使用的SoC/ASSP/AP处理器类型。反过来,对于上述问题的答案也会引导你思考如何处理图像及其格式,包括是否要进行复制、聚合和拆分等操作。此外,一旦决定了输入和输出数据速率,就可以结合PHY和协议的选择来决定你的设计要求多少输入和输出通道。做出架构决策后,就可以根据下表来计算数据速率。例如,假设你选择60Hz帧率,色深为10位的全高清(FHD)信号(也称为“RAW10”),如表2所示。*可编程I/O的最大带宽为1.2Gbps。表2:计算数据速率我们通常认为FHD的分辨率为1920x1080像素,但实际分辨率为2200x1125,因为需要在行和帧之间添加消隐周期。计算数据速率的公式为:总速率=水平时钟*垂直线*帧速率*每像素位数。在我们的示例中,这意味着总数据速率为2200x1125x60x10=1485Mbps(1.485Gbps)。由于CrossLink可编程I/O的最大带宽为1.2Gbps,所以需要使用两条通道,每条通道的速率为742.5Mbps。CrossLinkFPGA可使用众多视频模块化IP,这些IP可免费使用,主要包括接收视频数据(Rx)、发送视频数据(Tx)和时钟域转换等(参见图11)。并行接口仅在本地支持图11:CrossLink视频模块化IP大多数设计都使用多个IP模块作为构建模块,然后设计人员通过RTL对模块进行加强。一些设计人员看到这张图可能会有这样的疑问:当CSI-2是用来接收摄像头传感器的数据时,为什么还要MIPICSI-2发送器。同样,当DSI被用于将数据传输到显示屏时,为什么还要MIPIDSI接收器。答案当然是可能需要执行复制、拆分和/或桥接功能。让我们来看一个简单的SubLVDS转MIPICSI-2桥接案例。在此案例中,我们将使用SubLVDS接收器模块,像素到字节转换模块和MIPICSI-2发送器模块(图12)。使用CrossLink实现SubLVDS到MIPICSI-2的桥接使用像素到字节转换的原因在于LVDS和MIPI格式的不同。假设SubLVDS输入的色深为10位(RAW10)。而MIPI格式是基于8位数据包。因此我们需要确定共同的位长,即两者的最小公倍数,这个案例中就是40位(图13)。使用CrossLink的像素转字节IP模块将RAW10转换为MIPICSI-2接下来我们来看一下MIPI传感器复制的案例。该应用使用了MIPICSI-2接收器和MIPICSI-2发送器。当MIPI帧经过CrossLink器件时,我们需要在接收和发送器之间用RTL代码来复制MIPI帧。如果需要更多输出,则可以使用多个CrossLinkFPGA级联来实现。MIPI传感器复制案例另一个常见的设计要求就是聚合多个视频传感器数据流。图15展示了两种场景:左右合并和虚拟通道。MIPI传感器聚合案例两个例子均为两个MIPI输入和一个MIPI输出。实际上,CrosslinkFPGA能够支持多个(最多5个)MIPI输入。当有两个输入时,输出数据速率为输入数据速率的两倍。在左右合并的案例中,输出为线对线合并的图像。虚拟通道的概念在MIPI标准中已有定义。MIPI是一种基于数据包的协议,也就是说每个数据包都包含了头文件和有效数据。在虚拟通道的案例中,我们为每个输出数据包打上标签,然后交给下游的SoC/ASSP/AP负责。现阶段大多数处理器还无法处理虚拟通道,但是这种方法有望在不久的将来大行其道。传感器聚合应用的另一种形式就是上下合并。在此情形下,从设计的角度来看,简单地让数据传输过去肯定行不通。而是要在通过MIPI发送器输出之前存储至少一帧图像。因此选择要存储的帧数和外部缓存的大小就需要另作设计上的考量了。MIPI传感器聚合上下合并案例这里需要注意的是,一旦我们加入外部缓存,除了执行上下合并操作外,还可以进行其他图像处理操作,如旋转和/或镜像。设计流程设计流程由以下几个要素构成:RTL设计2IP库3模拟2综合2硬件开发平台4,5系统调试2额外资源6你可以使用LatticeDiamond运行RTL代码、仿真和综合设计。选择适当的CrossLink器件后即可启动项目。你可以在莱迪思Clarity这个IP库中找到之前讨论过的所有CrossLink视频模块化IP。只需要在Clarity界面选择要使用的IP模块,将其拖放到设计中即可。LatticeReveal能助你调试设计。Reveal具有两个方面的功能:RevealInserter和RevealAnalyzer。Inserter可以定义调试信号发生器,而Analyzer可以将微型逻辑分析器嵌入到设计中,你可以指定触发条件和要监视的信号。这些信号发生器和分析器包含在配置位流中,位流已加载到CrossLink器件中。可以使用集成的信号分析器显示结果。莱迪思Reveal集成的调试信号分析器截图莱迪思还提供多种硬件开发板,包括LIF-MD6000主控连接板,该板载有CrossLink芯片以及用于连接各类传

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论