立體攝像深度感知的FPGA實(shí)現
●針對利用并行特性的協(xié)處理功能,DSP的功能和性能。
●DDR(雙數據速率)和LVDS(低電壓差分信號)支持接口至片外SDRAM緩沖存儲器,直接連接到來(lái)自攝像機的圖像數據。
●安全方案以保護知識產(chǎn)權。
對于圖像處理算法,傳統的DSP處理器的并行功能有限,每個(gè)DSP芯片只有1到4個(gè)乘法器,見(jiàn)圖3中的左面。因此DSP用很高的時(shí)鐘速率來(lái)進(jìn)行補償,時(shí)鐘速率高達1GHz或更高,以達到高的吞吐量。需要很快完成的復雜串行任務(wù)的DSP算法應該用DSP處理器實(shí)現。
然而,許多深度感知圖像處理功能需要大量的并行處理,例如線(xiàn)性插值技術(shù),媒體濾波器和幾何估計。與DSP芯片比較,FPGA可以用并行來(lái)執行串行功能,以加速系統性能,見(jiàn)圖3的右面所示。例如圖像對應是很簡(jiǎn)單的算法,比較大量的像素值,或者兩個(gè)圖像之間的像素點(diǎn)。為了得到有效均方差的和(SSD),圖像對應算法必須對圖像中的像素進(jìn)行百萬(wàn)次計算,對串行執行功能的DSP芯片來(lái)說(shuō)這是一個(gè)挑戰性的任務(wù)。
具有DSP功能的FPGA包含幾個(gè)乘法器塊,但是一些FPGA還有嵌入式加法器、減法器和大大增加處理性能的累加器。盡管低成本FPGA以低于300MHz系統時(shí)鐘頻率工作,但用片內多個(gè)DSP塊以并行方式實(shí)現多個(gè)DSP功能可以達到高的DSP吞吐量(3,000 MMAC)。
存儲器和DDR
由于有多個(gè)乘法器,利用FPGA并行的靈活性有益于存儲器的訪(fǎng)問(wèn)。能夠容易地并行訪(fǎng)問(wèn)各種存儲器。片內分布式存儲器可以用來(lái)建立小的高性能便箋,針對去除白點(diǎn)使用坐標的查找表,對于在圖像中再測繪像素是很有用的。片內較大的嵌入式存儲器塊能構建較大的高性能存儲器,用于FIFO和線(xiàn)緩沖器。
片外存儲器DDR II SDRAM可以提供大的高性能存儲器。針對常用于圖像處理,存儲整個(gè)幀的DDR SDRAM,FPGA可以為DDR SDRAM提供存儲器控制和接口。
較低的時(shí)鐘速度(100MHz以下),DDR存儲器控制器接口是容易做的,可用FPGA中的通用I/O和邏輯實(shí)現。然而在較高的頻率,擁有專(zhuān)門(mén)電路的FPGA要求穩健的DDR存儲器接口。不是所有FPGA器件都有這些專(zhuān)門(mén)電路的,實(shí)現高速DDR存儲器接口的成本和復雜性差別很大,取決于特殊的FPGA。
LVDS
針對攝像機和通過(guò)LVDS接口的視頻芯片集的深度感知,例如攝像機鏈接, FPGA接口圖像處理引擎。LVDS是低噪聲、低功耗,小擺幅差分信號用于通過(guò)銅線(xiàn)傳送高速(每秒吉比特)數據。
作為一個(gè)用于視頻接口的例子是7:1 LVDS接口,有多個(gè)LVDS信號對用于數據傳送,一個(gè)信號對用于時(shí)鐘。對一些FPGA來(lái)說(shuō),這是本身的I/O接口。視頻數據通過(guò)3個(gè)LVDS對進(jìn)入FPGA,I/O結構對這個(gè)包進(jìn)行解串,然后把FPGA中并行的數據送到邏輯陣列。
安全性
因為自主的機器人有時(shí)用于軍事應用,在配置期間FPGA不應對系統引入額外的脆弱性。對于基于SRAM的FPGA,配置數據來(lái)自外部的非易失存儲器。有些FPGA擁有內置的128位AES解密引擎,防止黑客通過(guò)逆向工程來(lái)獲取FPGA中的功能。
只要密鑰是未知的,AES配置位流加密提供了保護措施。然而,非易失FPGA完全去除了這種安全性的風(fēng)險。一些非易失FPGA在同一芯片上組合了Flash和SRAM。上電后SRAM獲得工作配置。這種技術(shù)提供了高配置安全性,同時(shí)又利用了SRAM無(wú)限次重構的優(yōu)點(diǎn)。
結語(yǔ)
支持DSP、差分信號LVDS和DDR II存儲器接口的FPGA使得機器人的實(shí)時(shí)感知成為可能。
對于機器人的立體視覺(jué)應用,針對實(shí)時(shí)圖像處理實(shí)現,CPU、DSP處理器和FPGA協(xié)處理器的組合能夠對性能和價(jià)格做出最佳的平衡。FPGA能夠處理高度并行差異測繪和深度感知算法。DSP進(jìn)行較少并行處理、高速和簡(jiǎn)單代碼的更加復雜的功能。CPU做需要靈活性和高層軟件實(shí)行的那些部分。
基于Flash,非易失LatticeXP2 FPGA支持許多需求,包括LVDS、內置DDRII存儲器和完整特性的DSP塊,以及大量的可編程邏輯和存儲器塊支持接口和其它的定制功能。許多DSP知識產(chǎn)權核和MATLAB SIMULINK使設計更加便利。Lattice還有基于7:1 LVDS視頻接口的參考設計和平臺。免費參考設計IP提供的一些功能是色深度轉換、亮度、對比度和視頻覆蓋。
評論