在嵌入式視覺系統(tǒng)設(shè)計中使用萊思 CrossLink FPGA 支持 MIPI
目錄 | ||
第一部分 | | | 嵌入式視覺的發(fā)展趨勢 |
第二部分 | | | MIPI簡介 |
第三部分 | | | 在嵌入式視覺中使用FPGA |
第四部分 | | | CrossLink FPGA簡介 |
第五部分 | | | 應(yīng)用案例 |
第六部分 | | | 使用CrossLink FPGA進行設(shè)計 |
第七部分 | | | 設(shè)計流程 |
第八部分 | | | 小結(jié) |
第九部分 | | | 參考資料 |
過去幾年里,嵌入式視覺應(yīng)用大量涌現(xiàn),包括從相對簡單的智能視覺門鈴到執(zhí)行隨機拾取和放置操作的 復(fù)雜的工業(yè)機器人,再到能夠在無序、地形不斷變化的環(huán)境中導(dǎo)航的自主移動機器人(AMR)??焖俨? 用嵌入式視覺技術(shù)的行業(yè)包括汽車、消費電子、醫(yī)療、機器人、安防/監(jiān)控以及大量工業(yè)應(yīng)用。
如今,嵌入式視覺正逐漸應(yīng)用于人工智能(AI)和機器學(xué)習(xí)(ML)系統(tǒng)中,用來分析圖像和視頻流、檢測/ 識別人和物體以及從看到的景象中提取信息,便于采取下一步行動(關(guān)于AI、ANN、ML、DL和DNN的常見 問題1)。
本文首先介紹了當今嵌入式視覺設(shè)計一些趨勢。然后探討了現(xiàn)場可編程邏輯門陣列(FPGA)在嵌入式 視覺系統(tǒng)中的應(yīng)用。最后討論了使用萊迪思半導(dǎo)體的CrossLink? FPGA創(chuàng)建嵌入式視覺系統(tǒng)。
嵌入式視覺的發(fā)展趨勢
推動嵌入式視覺設(shè)計的主要趨勢有:高分辨率和高帶寬的需求持續(xù)增長,系統(tǒng)中視覺傳感器和顯示器的數(shù) 量與日俱增,以及小尺寸和低功耗的要求不斷涌現(xiàn)。此外,將人工智能(AI)和機器學(xué)習(xí)(ML)功能加入 嵌入式系統(tǒng)也是大勢所趨,尤其是添加到靠近視覺傳感器的本地端。
嵌入式視覺系統(tǒng)的另一個趨勢是接口標準的數(shù)量和種類不斷增長。表1列出了一些最常見的接口類型。 其中用于“模塊內(nèi)部”(inside the box)的標準(如設(shè)備內(nèi)部)通常要求驅(qū)動幾厘米到幾十厘米大小的 設(shè)備,而“模塊之間”(box-to-box)的接口可能需要在幾米到幾百米甚至更大的設(shè)備間驅(qū)動視覺數(shù)據(jù)。
PHY這個術(shù)語是“物理層”的縮寫,通常是在芯片上或者作為芯片(集成電路)實現(xiàn)的一種電子電路。 PHY用于實現(xiàn)開放系統(tǒng)互連(OSI)模型的物理層功能,無論計算或電信系統(tǒng)底層內(nèi)部結(jié)構(gòu)和技術(shù)如何,該 模型都能對其通信功能進行標準化。
圖1:PC和智能手機出貨量(資料來源:萊迪思半導(dǎo)體和行業(yè)分析師)
MIPI簡介
嵌入式視覺應(yīng)用中MIPI的使用日益增多,尤其是CSI-2(攝像頭/傳感器)和DSI(顯示屏)協(xié)議,兩者均采用被稱之為D-PHY的PHY。在帶寬和接口長度方面,MIPI在位于OpenLDI和eDP/DP(eDisplay Port和Display Port)之間。
MIPI聯(lián)盟是一家在全球擁有250名企業(yè)會員的國際組織。ARM、英特爾(Intel)、諾基亞(Nokia)、三星(Samsung)、意法半導(dǎo)體(STMicroelectronics)和德州儀器(Texas Instruments)于2003年創(chuàng)建MIPI聯(lián)盟,彼時MIPI是“移動產(chǎn)業(yè)處理器接口”的英文首字母縮略詞。然而,如今該組織的各類規(guī)范不僅適用于處理器互連,更能滿足一臺設(shè)備上全部接口需求,所以MIPI不僅僅是首字母縮略詞,而是已經(jīng)作為單獨的名稱使用。
為了了解更多有關(guān)MIPI流行的背景信息,我們不妨回顧一下1990年代中期個人計算機(PC)剛開始流行的時期(圖1)。當時的PC使用的接口是外設(shè)部件互連標準(PCI)和通用串行總線(USB)。這些低成本的PCI和USB技術(shù)隨后被各類不同的產(chǎn)品采用。
MIPI CSI-2和DSI-2協(xié)議也是如此,它們最初用于智能手機。自從2007年發(fā)布首款iPhone以來,智能手機急速增長,遠遠超過PC。這推動了規(guī)模經(jīng)濟,低成本的攝像頭、顯示屏和處理器組件開始涌現(xiàn),它們開始廣泛用于各類非智能手機應(yīng)用和市場。(本文中的“處理器”可能是指SoC芯片、ASSP和應(yīng)用處理器等器件)
MIPI采用的D-PHY接口(如圖2所示)使用一個差分時鐘和一到四個差分數(shù)據(jù)通道,支持的速度為80 Mbps到2.5 Gbps。
IPI接口支持兩種運行模式:高速(HS)和低速(LP)。該接口在發(fā)送器和接收器之間主要是單向傳輸,但是在某些低速通信情況下,能夠從接收器向發(fā)送器傳輸。
圖2 MIPI D-PHY接口
在嵌入式視覺設(shè)計中使用FPGA
嵌入式視覺設(shè)計的一個重要特征是其架構(gòu)通常需要不斷調(diào)整以適應(yīng)各種規(guī)范的變化,這就讓FPGA成為實現(xiàn)這類設(shè)計的理想選擇。
一個主要的考慮因素就是ASIC/ASSP和FPGA設(shè)計開發(fā)周期的差別,使用FPGA來實現(xiàn)設(shè)計(圖3),可加快產(chǎn)品上市(從而快速盈利)。
中型ASIC/ASSP從設(shè)計到量產(chǎn)其開發(fā)周期要將近一年。此外,由于設(shè)計規(guī)范不斷發(fā)生變化,期間還存在諸多風(fēng)險(在嵌入式視覺設(shè)計中非常常見),再加之ASIC/ASSP的設(shè)計流程大多錯綜復(fù)雜,這就意味著某個流程出現(xiàn)耽擱,會對其他流程產(chǎn)生連鎖的負面反應(yīng)。
若采用FPGA實現(xiàn)設(shè)計,設(shè)計人員可采用經(jīng)過市場檢驗的硬件,在現(xiàn)場重新配置,應(yīng)對任何設(shè)計規(guī)范的變更。
從設(shè)計人員的角度來看,開發(fā)周期的最初階段(即在抽象的RTL階段捕獲設(shè)計)都是相同的,其余步驟要么相似,要么所需時間和資源更少,要么根本不需要。因此使用FPGA的總體優(yōu)勢是可以在大約三分之一的開發(fā)時間內(nèi)實現(xiàn)設(shè)備的正常工作。
從歷史角度看,一些嵌入式系統(tǒng)的設(shè)計人員認為FPGA是大尺寸、高功耗的器件,僅僅用于數(shù)據(jù)中心、通信中心、醫(yī)學(xué)成像以及軍事等大型應(yīng)用。
這些傳統(tǒng)的FPGA通常有幾十萬LUT,功率高達50-100 W,封裝尺寸可達55 x 55 mm,通常配置散熱片。然而還有一些專門實現(xiàn)特定功能的FPGA產(chǎn)品,專注于要求小尺寸和低功耗的應(yīng)用。例如萊迪思半導(dǎo)體提供這類小尺寸(從10 x 10 mm,功耗1 W到1.4 x 1.4 mm,功耗僅為1 mW)的FPGA產(chǎn)品,滿足那些要求小尺寸和高能效應(yīng)用的需求。
與小型ASIC/ASSP相比,這些功能導(dǎo)向的FPGA更容易快速開發(fā)、使用更靈活。此外,由于大多數(shù)通用FPGA旨在應(yīng)用于工業(yè)和汽車等多個市場,它們通常都支持商用和工業(yè)溫度環(huán)境。而ASIC/ASSP大多被開發(fā)用于消費電子產(chǎn)品,對此類溫度環(huán)境的支持不太普遍。
圖3 使用FPGA加速產(chǎn)品上市和盈利
CrossLink FPGA簡介
萊迪思半導(dǎo)體主要提供四種FPGA產(chǎn)品系列:ECP?、MachXO?、iCE?和CrossLink?。ECP系列包括了設(shè)計人員所一般認為的“傳統(tǒng)” FPGA——主要針對互連和加速應(yīng)用的通用器件。MachXO FPGA具有數(shù)百個可編程輸入/輸出(I/O),非常適合需要GPIO擴展、接口橋接和電源管理功能的各類應(yīng)用。iCE系列是尺寸最小的超低功耗FPGA,最小型號封裝尺寸僅為1.4 mm x 1.4 mm,提供18個I/O。
尤其值得一提的是針對高速視頻和傳感器應(yīng)用進行了優(yōu)化的CrossLink FPGA。CrossLink FPGA通過硬核PHY增強了其傳統(tǒng)的可編程架構(gòu),提供業(yè)界最快的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封裝。
CrossLink FPGA提供兩個4通道MIPI D-PHY收發(fā)器,每個PHY速率達6 Gbps,還提供15個可編程源同步I/O對,通過LVDS、SLVS200、subLVDS、LVCMOS和OpenLDI(OLDI)等接口標準實現(xiàn)攝像頭和顯示屏互連。此外,這些可編程I/O可實現(xiàn)每通道速率最高1.2 Gbps的“軟MIPI”接口,而LVCMOS可用于在本地實現(xiàn)并行/RGB接口。
圖4 用于嵌入式視覺的CrossLink FPGA包括硬核MIPI D-PHY,優(yōu)化性能和設(shè)計
應(yīng)用案例
CrossLink FPGA的應(yīng)用包括傳感器橋接、傳感器復(fù)制、傳感器聚合、顯示屏橋接和分屏。這里的“橋接”是指將視頻信號從一種接口標準轉(zhuǎn)換為另一種。
在現(xiàn)有控制器上使用MIPI傳感器和顯示屏:一個典型的案例就是現(xiàn)有系統(tǒng)的SoC、ASSP或AP不支持MIPI,但是設(shè)計人員希望在保留原有處理器(及代碼)的同時對系統(tǒng)進行升級,新增更為高效、低功耗、基于MIPI的傳感器和/或顯示屏(圖5)。
在現(xiàn)有傳感器和顯示屏上使用MIPI控制器:當設(shè)計人員的SoC、ASSP、AP支持MIPI,但是又希望使用原本的非MIPI傳感器和顯示屏系統(tǒng)時,也會面臨同樣的問題。工業(yè)領(lǐng)域的許多圖像傳感器和顯示屏都采用LVDS、SUBLVDS或并行接口。此外,許多傳統(tǒng)的傳感器采用的是全局快門而非卷簾快門。這就推動了對更為復(fù)雜的橋接解決方案的需求。
圖5 使用CrossLink FPGA讓現(xiàn)有的SoC、ASSP、AP兼容MIPI傳感器和/或顯示屏
圖6 使用CrossLink FPGA讓MIPI接口的SoC、ASSP、AP兼容現(xiàn)有的非MIPI傳感器/或顯示屏
傳感器數(shù)據(jù)復(fù)制:該應(yīng)用的一個典型案例是,對安全性要求高的應(yīng)用需要進行數(shù)據(jù)備份(如智能汽車),因此來自傳感器的視頻輸入可能需要分成兩個數(shù)據(jù)流,饋送到兩個單獨的處理器中(和許多其他接口標準一樣,MIPI是點對點的,因此不能將單個傳感器直接連接多個處理器)。
這類應(yīng)用的思路是,如果其中一個處理器發(fā)生故障,必須要有數(shù)據(jù)備份。此外,如果有多個傳感器,每個傳感器的數(shù)據(jù)流都可以被拆分并饋送到多個處理器。當然,傳感器復(fù)制可與橋接功能結(jié)合使用。圖7展示了一種可能的配置場景。
圖7 使用CrossLink FPGA在對安全性要求高的系統(tǒng)中實現(xiàn)傳感器數(shù)據(jù)復(fù)制
顯示器分屏:當我們需要獲取由系統(tǒng)處理器生成的視頻信號,并將該信號拆分連接到多個顯示屏?xí)r,就需要用到顯示器分屏的功能。它可以與橋接功能結(jié)合使用。圖8展示了一種可能的配置場景。
圖8 使用CrossLink FPGA實現(xiàn)顯示器分屏
傳感器聚合:最后,我們來談?wù)剛鞲衅骶酆蠎?yīng)用。正如本文以上所述,這一應(yīng)用得以發(fā)展是因為系統(tǒng)中添加了越來越多的圖像傳感器。問題在于某些處理器的傳感器輸入數(shù)量有限,因此我們需要某種方式來聚合來自多個傳感器的數(shù)據(jù)。
當然,與傳感器復(fù)制和顯示屏分屏一樣,傳感器聚合也可以和橋接功能一起使用。
圖9 使用CrossLink FPGA實現(xiàn)傳感器聚合
使用CrossLink FPGA進行設(shè)計
使用CrossLink FPGA進行設(shè)計時,要先問自己一些基本的問題,然后順著答案設(shè)計基本架構(gòu)。例如,你打算使用什么PHY和協(xié)議來輸入輸出視頻信號(圖10)?
圖10 作出架構(gòu)方面的決定
這些決定大多和你所選擇的傳感器和顯示屏類型有關(guān)(或者因為沒得選擇不得不使用這些類型)。還有一些影響因素就是即將使用的SoC/ASSP/AP處理器類型。反過來,對于上述問題的答案也會引導(dǎo)你思考如何處理圖像及其格式,包括是否要進行復(fù)制、聚合和拆分等操作。此外,一旦決定了輸入和輸出數(shù)據(jù)速率,就可以結(jié)合PHY和協(xié)議的選擇來決定你的設(shè)計要求多少輸入和輸出通道。
做出架構(gòu)決策后,就可以根據(jù)下表來計算數(shù)據(jù)速率。例如,假設(shè)你選擇60 Hz幀率,色深為10位的全高清(FHD)信號(也稱為“RAW10”),如表2所示。
表2 計算數(shù)據(jù)速率
我們通常認為FHD的分辨率為1920 x 1080像素,但實際分辨率為2200 x 1125,因為需要在行和幀之間添加消隱周期。計算數(shù)據(jù)速率的公式為:總速率=水平時鐘*垂直線*幀速率*每像素位數(shù)。在我們的示例中,這意味著總數(shù)據(jù)速率為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可免費使用,主要包括接收視頻數(shù)據(jù)(Rx)、發(fā)送視頻數(shù)據(jù)(Tx)和時鐘域轉(zhuǎn)換等(參見圖11)。
大多數(shù)設(shè)計都使用多個IP模塊作為構(gòu)建模塊,然后設(shè)計人員通過RTL對模塊進行加強。
一些設(shè)計人員看到這張圖可能會有這樣的疑問:當CSI-2是用來接收攝像頭傳感器的數(shù)據(jù)時,為什么還要MIPI CSI-2發(fā)送器。同樣,當DSI被用于將數(shù)據(jù)傳輸?shù)斤@示屏?xí)r,為什么還要MIPI DSI接收器。答案當然是可能需要執(zhí)行復(fù)制、拆分和/或橋接功能。
讓我們來看一個簡單的SubLVDS轉(zhuǎn)MIPI CSI-2橋接案例。在此案例中,我們將使用SubLVDS接收器模塊,像素到字節(jié)轉(zhuǎn)換模塊和MIPI CSI-2發(fā)送器模塊(圖12)。
使用像素到字節(jié)轉(zhuǎn)換的原因在于LVDS和MIPI格式的不同。假設(shè)SubLVDS輸入的色深為10位(RAW10)。而MIPI格式是基于8位數(shù)據(jù)包。因此我們需要確定共同的位長,即兩者的最小公倍數(shù),這個案例中就是40位(圖13)。
圖13 使用CrossLink的像素轉(zhuǎn)字節(jié)IP模塊將RAW10轉(zhuǎn)換為MIPI CSI-2
接下來我們來看一下MIPI傳感器復(fù)制的案例。該應(yīng)用使用了MIPI CSI-2接收器和MIPI CSI-2發(fā)送器。當MIPI幀經(jīng)過CrossLink器件時,我們需要在接收和發(fā)送器之間用RTL代碼來復(fù)制MIPI幀。如果需要更多輸出,則可以使用多個CrossLink FPGA級聯(lián)來實現(xiàn)。
另一個常見的設(shè)計要求就是聚合多個視頻傳感器數(shù)據(jù)流。圖15展示了兩種場景:左右合并和虛擬通道。
兩個例子均為兩個MIPI輸入和一個MIPI輸出。實際上,Crosslink FPGA能夠支持多個(最多5個)MIPI輸入。當有兩個輸入時,輸出數(shù)據(jù)速率為輸入數(shù)據(jù)速率的兩倍。
在左右合并的案例中,輸出為線對線合并的圖像。
虛擬通道的概念在MIPI標準中已有定義。MIPI是一種基于數(shù)據(jù)包的協(xié)議,也就是說每個數(shù)據(jù)包都包含了頭文件和有效數(shù)據(jù)。在虛擬通道的案例中,我們?yōu)槊總€輸出數(shù)據(jù)包打上標簽,然后交給下游的SoC/ASSP/AP負責(zé)?,F(xiàn)階段大多數(shù)處理器還無法處理虛擬通道,但是這種方法有望在不久的將來大行其道。
傳感器聚合應(yīng)用的另一種形式就是上下合并。在此情形下,從設(shè)計的角度來看,簡單地讓數(shù)據(jù)傳輸過去肯定行不通。而是要在通過MIPI發(fā)送器輸出之前存儲至少一幀圖像。因此選擇要存儲的幀數(shù)和外部緩存的大小就需要另作設(shè)計上的考量了。
這里需要注意的是,一旦我們加入外部緩存,除了執(zhí)行上下合并操作外,還可以進行其他圖像處理操作,如旋轉(zhuǎn)和/或鏡像。
設(shè)計流程
設(shè)計流程由以下幾個要素構(gòu)成(上標數(shù)字對應(yīng)文末的參考來源):
● RTL設(shè)計2
● IP庫3
● 模擬2
● 綜合2
● 硬件開發(fā)平臺4,5
● 系統(tǒng)調(diào)試2
● 額外資源6
你可以使用Lattice Diamond運行RTL代碼、仿真和綜合設(shè)計。選擇適當?shù)腃rossLink器件后即可啟動項目。你可以在萊迪思Clarity這個IP庫中找到之前討論過的所有CrossLink視頻模塊化IP。只需要在Clarity界面選擇要使用的IP模塊,將其拖放到設(shè)計中即可。
Lattice Reveal能助你調(diào)試設(shè)計。Reveal具有兩個方面的功能:Reveal Inserter和Reveal Analyzer。Inserter可以定義調(diào)試信號發(fā)生器,而Analyzer可以將微型邏輯分析器嵌入到設(shè)計中,你可以指定觸發(fā)條件和要監(jiān)視的信號。
這些信號發(fā)生器和分析器包含在配置位流中,位流已加載到CrossLink器件中??梢允褂眉傻男盘柗治銎黠@示結(jié)果(圖17)。
萊迪思還提供多種硬件開發(fā)板,包括LIF-MD6000主控連接板,該板載有CrossLink芯片以及用于連接各類傳感器、顯示器和SoC/ASSP/AP器件的連接器。
還有視頻接口平臺(VIP),它由三塊開發(fā)板組成:具有兩個圖像傳感器的Crosslink VIP輸入橋接板,用作圖像信號處理器的ECP5 VIP板和可用于顯示輸出結(jié)果的HDMI VIP輸出板(圖18)。
你還可以選擇其他的開發(fā)板,包括HDMI VIP輸入板、DisplayPort VIP輸入板、DisplayPort VIP輸出板和USB3-GbE VIP I/O板。萊迪思提供各類開發(fā)板,助您探索和開發(fā)基于CrossLink FPGA的嵌入式視覺應(yīng)用。
最后,萊迪思還提供三套參考設(shè)計,展示了下列應(yīng)用的各個方面:
● N:1MIPI CSI-2虛擬通道聚合7
● MIPI DSI/CSI-2轉(zhuǎn)OpenLDI LVDS接口橋接8
● SubLVDS轉(zhuǎn)MIPI CSI-2圖像傳感器橋接9
未來我們將推出更多參考設(shè)計,敬請留意萊迪思官網(wǎng)發(fā)布的信息。
小結(jié)
過去幾年里嵌入式視覺應(yīng)用極速發(fā)展。嵌入式視覺系統(tǒng)的設(shè)計人員面臨的挑戰(zhàn)包括:對高分辨率和高帶寬的需求持續(xù)增長,系統(tǒng)中視覺傳感器和顯示器的數(shù)量與日俱增,以及小尺寸和低功耗的要求不斷涌現(xiàn)。此外,將人工智能(AI)和機器學(xué)習(xí)(ML)功能加入嵌入式系統(tǒng)也是大勢所趨,尤其是添加到靠近視覺傳感器的本地端。
萊迪思低功耗CrossLink FPGA專為高速視頻和傳感器應(yīng)用優(yōu)化。該器件在強化其傳統(tǒng)可編程架構(gòu)的基礎(chǔ)上,增加了硬核PHY,可提供業(yè)界最快的MIPI D-PHY橋接解決方案。
萊迪思的產(chǎn)品組合包括了芯片、IP、參考設(shè)計、開發(fā)套件和軟件工具,能為嵌入式視覺的設(shè)計人員提供靈活的解決方案,如更新接口的標準、高效的視頻信號處理以及硬件加速等。
評論