基于賽靈思Spartan-3A DSP的安全視頻分析
表1: 典型事件檢測應(yīng)用中支持的視頻分析功能本文引用地址:http://www.ex-cimer.com/article/186410.htm
此外,通過賽靈思FPGA和ISE® 設(shè)計(jì)套件工具,視頻分析設(shè)計(jì)小組可以為終端客戶定制解決方案方面提供更大靈活性。通過快速建立標(biāo)準(zhǔn)分辨率和高分辨率視頻處理原型,我們可以快速定制視頻分析引擎和片上系統(tǒng)(SoC)解決方案。這樣我們就可以根據(jù)客戶需求更高效地利用Spartan-3A DSP 3400A或成本更低的Spartan-3A DSP 1800A FPGA器件中的可用資源。
FPGA解決方案另一個(gè)好處是可以利用同一硬件平臺創(chuàng)建多種不同的衍生產(chǎn)品。由于我們已經(jīng)使用VHDL設(shè)計(jì)了多種分析加速器引擎,因此可以將這些專用內(nèi)核集成到C-MVA協(xié)處理器中。這種方法允許工程師重新利用雙MicroBlaze嵌入式系統(tǒng)來創(chuàng)建不同的FPGA編程文件,這樣就構(gòu)成了高度可擴(kuò)展的解決方案,可以輕松調(diào)節(jié)適應(yīng)范圍廣泛的視頻分析應(yīng)用。
從DaVinci移植到賽靈思FPGA
我們先前一代的視頻分析產(chǎn)品基于TI DaVinci數(shù)字媒體SoC芯片TMS320DM6446。該芯片包括ARM9x處理器和C64x+ DSP協(xié)處理器。在設(shè)計(jì)中,我們使用ARM9x做通信和控制,用C64x+做分析算法的DSP處理。然而,兩者組合起來構(gòu)成的系統(tǒng)仍然無法滿足我們第二代產(chǎn)品所需要的高性能處理要求。因此,我們轉(zhuǎn)向了Spartan-3A DSP FPGA系列。
通過創(chuàng)建擁有兩個(gè)獨(dú)立運(yùn)行MicroBlaze v7軟內(nèi)核處理器的賽靈思嵌入式系統(tǒng),我們簡化了設(shè)計(jì)移植任務(wù)。這種架構(gòu)使我們可以分別移植ARM和DSP處理器代碼,從而大大簡化了設(shè)計(jì)移植過程。圖2給出了Eutecus硬件系統(tǒng)的框圖,以及基于MVE的參考SoC設(shè)計(jì)。
圖 2. Dual-MicroBlaze® System-on-Chip (SoC)架構(gòu)MVE引擎協(xié)處理器框圖
我們的MVE引擎包括運(yùn)行在MicroBlaze (MB0)上的InstantVision嵌入式軟件,運(yùn)行在MicroBlaze (MB1)上的系統(tǒng)控制和通信部分以及C-MVA協(xié)處理器。C-MVA協(xié)處理器是運(yùn)行在FPGA構(gòu)造上的硬件加速器IP內(nèi)核模塊鏈。
利用ISE設(shè)計(jì)套件和MicroBlaze軟核,我們的ARM和DSP代碼移植工作相當(dāng)簡單。一個(gè)突出優(yōu)點(diǎn)就是,InstantVision跨平臺環(huán)境是采用高級標(biāo)準(zhǔn)C/C++語言編寫的,只需要很少的修改。
一旦完成代碼移植,我們驗(yàn)證其功能的正確性并且識別出性能瓶頸。事實(shí)表明,優(yōu)化和加速對原TI處理器開發(fā)的C/C++代碼是一項(xiàng)重要挑戰(zhàn),因?yàn)楫?dāng)初在開發(fā)這一平臺的過程中,我們在匯編級優(yōu)化時(shí)使用了幾個(gè)DaVinci C64x+協(xié)處理加速模塊。在轉(zhuǎn)換過程中,我們遵循以下一系列步驟:首先利用高級C函數(shù)來重寫這些模塊。最后,用運(yùn)行在FPGA構(gòu)造上的同等功能加速器模塊來代替這些模塊的大部分功能。
評論