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