环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 樓宇自動化 > CCTV監(jiān)控系統(tǒng) > CCTV監(jiān)控主機(jī)

類型分類:
科普知識
數(shù)據(jù)分類:
CCTV監(jiān)控主機(jī)

FPGA/嵌入式處理器攜手打造低成本視頻分析

發(fā)布日期:2022-04-26 點擊率:70

嵌入式系統(tǒng)的設(shè)計人員所面臨的最大挑戰(zhàn)之一,在於確定系統(tǒng)的硬體設(shè)計究竟須具備多少性能。用以確定真實效能需求的必要資訊不是付之闕如,就是難以獲得。即便系統(tǒng)設(shè)計人員對硬體性能需求做精確的估算,有時也會因意料之外的運算任務(wù)而預(yù)估失準(zhǔn)。

因此,有些嵌入式系統(tǒng)開發(fā)人員認(rèn)為,與其在設(shè)計初期對嵌入式系統(tǒng)的硬體性能需求進(jìn)行分析,不如一開始就設(shè)計具備高度擴(kuò)充性的系統(tǒng),因為只要系統(tǒng)具有高度的可擴(kuò)充性,就能夠適應(yīng)不斷變動的效能需求。本文將以影像處理與視頻辨識這種對硬體效能要求嚴(yán)苛的應(yīng)用來說明,設(shè)計人員如何利用現(xiàn)場可編程閘陣列(FPGA)內(nèi)部建置的控制平面(Control Plane)與資料平面(Data Plane)處理架構(gòu)來滿足系統(tǒng)對性能與可擴(kuò)充性的要求。

對于視頻監(jiān)控、生產(chǎn)線自動檢測與醫(yī)學(xué)成像等應(yīng)用而言,視頻分析是頗受使用者歡迎的一項功能。然由于視頻系統(tǒng)已經(jīng)普遍進(jìn)入高畫質(zhì)時代,為針對如此龐大的資料流量進(jìn)行視頻分析,造成一般通用型處理器的挑戰(zhàn)。本文將介紹一種用FPGA實現(xiàn)視頻分析功能的替代性方案,可協(xié)助研發(fā)人員在低成本的前提下,實現(xiàn)這類頗受市場歡迎的功能。

控制/資料平面分工 嵌入式系統(tǒng)效能升級

 

在無法或者實際上不能用軟體完成所有處理工作的系統(tǒng)中,設(shè)計人員可以透過多種方式來獲得系統(tǒng)所需的額外效能。設(shè)計人員可以採用對稱或者非對稱處理配置的多處理器,利用額外的硬體實現(xiàn)輔助運算器,或者將資料處理任務(wù)拆分給一個或多個專用處理元件,例如把任務(wù)分拆,分別交給控制平面與資料平面處理。

 

在這種編程方式下,資料處理被分成兩個截然不同的面??刂破矫娲碇鴮π苡绊懖淮蟮难菟惴ㄔ?,如管理性任務(wù)、用戶介面和作業(yè)系統(tǒng)功能。同時,資料平面代表著資料在系統(tǒng)中的移動,例如視頻串流、音訊串流及其處理。在資料平面上,設(shè)計人員採用如管線(Pipeline)的技術(shù)來增強(qiáng)資料傳輸能力。控制平面/資料平面處理的典型應(yīng)用包括串流視頻、網(wǎng)路封包處理及高速訊號處理。

 

以高畫質(zhì)(HD)視頻串流特有的模式識別問題為例,將串行資料即時處理的運算任務(wù)分拆給控制平面與資料平面進(jìn)行處理,就是一種能有效解決問題的作法。假設(shè)有一個視頻系統(tǒng),其視頻串行的解析度為720p,畫面更新頻率為60Hz,則其視頻串行的畫素率(Pixel Rate)為74.25MHz。對處理器而言,這可以換算成222.75MBit/s的處理速率要求。

高畫質(zhì)視頻處理是一種可以把任務(wù)分割為控制平面和資料平面,并分別予以處理的常見實際應(yīng)用要求。作為一種高度平行處理的元件,F(xiàn)PGA在本例中負(fù)責(zé)視頻處理,同時由FPGA內(nèi)部的中等效能的處理器負(fù)責(zé)視頻處理管線。該處理器可專用於單個應(yīng)用,也可以運行如Linux般的作業(yè)系統(tǒng)。最終形成的硬軟體混合建置方案可以把處理工作交付給能夠進(jìn)行最佳處理的部分,實現(xiàn)低成本、高效能資料處理解決方案。圖1為典型的控制平面/資料平面系統(tǒng)。

 

假定采用運行在2.5GHz的雙核心雙指令執(zhí)行處理器來處理該資料,最佳的指令率為每秒一百億條指令。這樣的處理器可針對所處理資料的每一位元組執(zhí)行22.4條指令。對某些應(yīng)用而言這已經(jīng)足夠了,但事實上對復(fù)雜的視頻處理而言,22.4條指令所能處理的資料其實非常有限。若設(shè)計人員想執(zhí)行內(nèi)核卷積(Kernel Convo-lution)、噪音消除和其他過濾功能,處理器每秒須執(zhí)行的指令數(shù)遠(yuǎn)比上述數(shù)字來的多。因此,最理想的解決方案之一,便是在資料平面上創(chuàng)建平行或管線處理等單元。

 

圖1典型的控制平面/資料平面處理系統(tǒng)

 

FPGA內(nèi)建處理器 降低控制平面實作成本

 

除了昂貴的特定應(yīng)用積體電路(ASIC),F(xiàn)PGA是效能最高、最具經(jīng)濟(jì)效益的串行資料處理單元建置方法。FPGA因其靈活的架構(gòu)而能讓設(shè)計人員可建置包含并行和管線單元的處理系統(tǒng),以最佳化系統(tǒng)的效能和延遲。

 

雖然設(shè)計人員可利用FPGA的資料平面來滿足運算需求外,但仍設(shè)法控制該資料平面。以往,設(shè)計人員必須透過外部的獨立微處理器來進(jìn)行控制。然而,隨著FPGA整合嵌入式處理器的情況越來越普及,設(shè)計人員所需的控制功能其實已不假外求。採用內(nèi)部整合的處理器能夠帶來多項優(yōu)勢,例如能夠大大減少處理器和資料平面單元之間的控制延遲時間,并減少電路板上布線與晶片接腳的需求量。

 

延遲時間減少,可以釋放出更多處理器週期,其對系統(tǒng)運算性能的提升是顯而易見的。這是許多設(shè)計人員喜歡採用內(nèi)嵌式處理器的主因之一。另外,若設(shè)計人員使用外部處理器,因為外部處理器必須與資料平面保持通訊,而通訊所需的通道寬度可能是32位元或更高,因此設(shè)計人員必須用更多電路板布線與晶片接腳來進(jìn)行定址和控制。額外增加的連線可能會導(dǎo)致設(shè)計人員必須使用高階的處理器,或是有更多輸入/輸出(I/O)的FPGA,從而導(dǎo)致系統(tǒng)成本增加。

 

採用PCI Express介面能大幅度減少接腳與連線數(shù)量的需求,但遺憾的是,即便PCI Express在個人電腦(PC)領(lǐng)域已相當(dāng)普遍,但在嵌入式領(lǐng)域,這種介面的普及率仍然不高,且支援PCI Express的元件,其成本通常也遠(yuǎn)高於不採用PCI Express的同類元件。

 

在FPGA內(nèi)部建置控制平面處理器和資料平面可以減少元件數(shù)量、機(jī)板空間和功耗,最終形成一個低成本的解決方案。在FPGA內(nèi)既可以硬體實作PowerPC等嵌入式硬核處理器,也可以軟式建置賽靈思(Xilinx)的MicroBlaze等軟核處理器。此外還可以根據(jù)應(yīng)用要求配置以FPGA為基礎(chǔ)的處理器。以FPGA為基礎(chǔ)的系統(tǒng)能夠在處理器和FPGA邏輯之間提供移動決策和計算功能,從而達(dá)到系統(tǒng)級的優(yōu)化。

 

設(shè)計工具/參考設(shè)計簡化系統(tǒng)建置

 

某些設(shè)計工具軟體可以簡化以FPGA為基礎(chǔ)的控制平面、資料平面系統(tǒng)建置工作。使用軟體內(nèi)建的精靈工具或者透過調(diào)整現(xiàn)有參考設(shè)計來編譯系統(tǒng)是其中兩種常用方法。

 

透過引導(dǎo)精靈,設(shè)計人員可以迅速編譯微處理器系統(tǒng)。在許多先進(jìn)的設(shè)計工具環(huán)境下,設(shè)計人員只要使用下拉清單或者確認(rèn)方塊,就可以輕松配置特定的功能區(qū)塊、需要的處理器和周邊配置。設(shè)計人員也可以使用諸如MATLAB軟體這樣的工具來迅速編譯具有處理器介面的訊號處理管線,以實現(xiàn)控制功能。還有些設(shè)計工具甚至支援C-to-HDL功能,可構(gòu)建數(shù)位訊號管線。控制平面/資料平面的連接也可以簡單地透過匹配匯流排介面來完成。圖2顯示的是啟動引導(dǎo)精靈的說明視窗和採用引導(dǎo)精靈構(gòu)建的最終系統(tǒng)。

 

 

 

圖2引導(dǎo)精靈啟動螢?zāi)唤貓D和已完成的系統(tǒng)

 

除了藉由設(shè)計工具輔助外,調(diào)整現(xiàn)有的參考設(shè)計也是設(shè)計人員常用的方法。FPGA參考設(shè)計不斷發(fā)展,已成為市場焦點。在本文案例研究中使用的參考設(shè)計具有完整的微處理器系統(tǒng)、記憶體、周邊和720p高畫質(zhì)數(shù)位訊號處理管線。因此,該系統(tǒng)相當(dāng)於一款完整的控制平面與資料平面解決方案。在該參考設(shè)計中,由處理器控制增益和管線中的有限脈衝響應(yīng)(FIR)濾波器。使用C-to-FPGA工具創(chuàng)建目標(biāo)探測和強(qiáng)調(diào)顯示模組,讓整個系統(tǒng)具備所需功能所花的設(shè)計時間甚至不到20個小時。

 

該處理器可以使用機(jī)板支援封包提供的補(bǔ)充驅(qū)動程式來控制資料管線。目前已有針對Linux的驅(qū)動程式,可以讓處理器直接控制資料處理管線。Linux運用包括從Linux應(yīng)用中打開I/O元件,然后針對該元件進(jìn)行讀出或者寫入。

 

尋找小丑魚 視頻識別系統(tǒng)輕松達(dá)成任務(wù)

 

目標(biāo)檢測和識別廣泛應(yīng)用於監(jiān)控、醫(yī)學(xué)成像和工廠自動化等行業(yè)。圖像的解析度越高,目標(biāo)識別的準(zhǔn)確度越高。因此,對高畫質(zhì)攝影機(jī)和相關(guān)的高畫質(zhì)視頻串行處理功能的需求較為強(qiáng)勁。本案例(圖3)研究試圖解決以下問題:在720p高畫質(zhì)視頻串行的條件下,能否檢測出畫面中的小丑魚,并為它打上聚光燈效果以實現(xiàn)強(qiáng)調(diào)顯示在720p高畫質(zhì)視頻中的小丑魚(圖4)?

 

圖3小丑魚探測器控制平面/資料平面系統(tǒng)

 

 

圖4小丑魚探測器想做出的效果。

 

為了辨識出小丑魚,該設(shè)計需要16位元的色譜,以便識別小丑魚的條紋圖案。一旦識別,在螢?zāi)簧系男〕篝~將被打上移動的聚光燈明顯強(qiáng)調(diào)。此外,聚光燈的大小經(jīng)設(shè)計后可以隨匹配的相似性而調(diào)整。實際上,系統(tǒng)降低了除小丑魚周圍聚光燈外的其他區(qū)域圖像亮度。聚光燈的尺寸變化和形狀計算,以及為在每個畫素位置搜索小丑魚所進(jìn)行的比較,將為系統(tǒng)帶來大量的運算能力,處理器若要執(zhí)行這項功能,需要的時脈周期可達(dá)74.25MHz。顯然,這樣的處理要求大大超出一般嵌入式處理器的能力。

 

在這種情況下,最好的解決辦法是把串行資料處理轉(zhuǎn)移到輔助運算器上。在FPGA內(nèi)部建置輔助運算器能夠以最低成本靈活構(gòu)建能夠滿足效能要求的解決方案。因此,以FPGA為基礎(chǔ)的控制平面、資料平面架構(gòu)就是最佳選擇。FPGA嵌入式處理可以透過匯流排介面控制負(fù)責(zé)接收視頻資料、探測小丑魚、強(qiáng)調(diào)顯示小丑魚并輸出供顯示之用的視頻資料的數(shù)位訊號處理管線。

 

因此,在本目標(biāo)檢測和強(qiáng)調(diào)顯示案例中,研發(fā)人員選擇50MHz的MicroBlaze嵌入式處理器來管理和控制74.25MHz的資料處理管線,同時管理用戶介面。在免除了實際執(zhí)行視頻處理的責(zé)任后,處理器可以處理許多其他的功能,比如託管乙太網(wǎng)路(Ethernet)資料通訊、管理圖形用戶介面(GUI)、對資料處理管線進(jìn)行精細(xì)控制,如逐幀增益控制等。

 

Linux這類作業(yè)系統(tǒng)是提供多工功能、網(wǎng)路協(xié)定堆疊和用戶介面語言支援的理想選擇。圖3顯示所建置系統(tǒng)的方框圖。該解決方案可以在高資料處理頻寬需求和用軟體控制資料處理方式之間實現(xiàn)理想的平衡。

 

與FPGA製造商合作的Linux供應(yīng)商已經(jīng)開發(fā)完成了可讓處理器與FPGA溝通并對其進(jìn)行控制的驅(qū)動程式。首先,設(shè)計必須針對該I/O元件配置Linux。配置步驟由兩個步驟組成。首先,把定制的驅(qū)動程式載入到Linux內(nèi)核中:

 

 

 

 

隨后,將驅(qū)動程式註冊到特定的元件號碼(比如253):

 

 

 

通訊是透過開啟該I/O元件、然后對該元件進(jìn)行讀寫而完成的,示例編碼段落如下所示:

 

 

 

 

C-to-FPGA工具實現(xiàn)軟硬體協(xié)同設(shè)計

 

C-to-FPGA編譯器可以讓開發(fā)人員使用新的開發(fā)工具組和新技術(shù)解決軟體與硬體開發(fā)問題。開發(fā)人員可以先在軟體中進(jìn)行演算法編碼。根據(jù)筆者的過去經(jīng)驗,在軟體中開發(fā)演算法比在硬體中開發(fā)演算法的效率更高,因為C語言這類軟體語言能夠讓編碼人員在更高的層面上開發(fā)演算法,而這種層次是使用Verilog或VHDL這樣的硬體定義語言所無法達(dá)到的;其次,與同類的硬體開發(fā)工具相比,針對C語言的調(diào)整和測試工具運行速度更快、效率更高,通常也更易於使用。相當(dāng)于硬件演算法,C語言演算法可以在目標(biāo)處理器上全速運行,而硬件演算法須要先在類比程式上完成測試和調(diào)整;最后,C語言開發(fā)工具較同類硬件開發(fā)工具的成本要低得多。因此,工程人員一般傾向於在C語言或者類似的高階語言中開發(fā)演算法。

 

一旦使用C語言這樣的軟體語言完成對某個演算法的驗證,設(shè)計人員必須測量其效能,并確定該演算法是否能夠完全在嵌入式處理器或是硬件上運行、或者硬軟體混合協(xié)同處理建置方案是否為最佳選擇。在這種判斷過程中可以採用效能分析工具。如果編碼必須被轉(zhuǎn)到硬件上,則設(shè)計人員必須手工轉(zhuǎn)換演算法,或者使用C-to-FPGA工具。

 

C-to-FPGA工具可以讓開發(fā)人員迅速把演算法轉(zhuǎn)為HDL,對產(chǎn)生的硬件處理器進(jìn)行最佳化,并在一些假設(shè)的場景下平衡效能和FPGA資源。該工具還能夠讓軟體工程師使用FPGA內(nèi)部的高效能資料處理邏輯,從而變身為硬件工程師。

 

FPGA加持 視頻分析功能輕鬆實現(xiàn)

 

數(shù)位訊號處理器(DSP)系統(tǒng)的資料頻寬要求非常高,設(shè)計人員如果不採用昂貴的高性能通用處理器,往往無法滿足應(yīng)用需求。在這種情況下,設(shè)計人員一般會把資料處理系統(tǒng)畫分為兩個處理功能:使用通用處理器進(jìn)行控制處理,然后由FPGA來擔(dān)任硬件加速器,以進(jìn)行資料處理。這種架構(gòu)就是一個典型的控制平面和資料平面處理系統(tǒng)。

 

然而,在FPGA內(nèi)建嵌入式處理器的情況越來越普遍后,設(shè)計人員其實已不太須要使用外部處理器,因為FPGA就已經(jīng)可以同時實現(xiàn)控制平面和資料平面功能。一個FPGA可以包含一個或者多個像MicroBlaze這類軟核處理器,或像PowerPC這類硬核處理器。將它們整合到FPGA中,可以實現(xiàn)控制平面處理器和資料平面處理系統(tǒng)之間的低延遲、高頻寬通訊。

 

借助引導(dǎo)精靈和預(yù)先構(gòu)建的參考設(shè)計,針對嵌入式和資料處理功能的系統(tǒng)編譯簡單明瞭。透過把在C語言中構(gòu)建的演算法原型轉(zhuǎn)換到高效能硬件處理單元,C-to-FPGA工具有助于優(yōu)化這一流程。最后,可以利用目前可用的Linux驅(qū)動程式輕松地完成處理器和FPGA訊號處理管線之間的通訊及控制編碼。

 

本案例研究是一個典型的應(yīng)用示例,在這個例子中,透過低成本通用處理器處理高畫質(zhì)視頻流是不可行的,但是可以透過FPGA內(nèi)部的訊號處理管線輕松加以解決。處理器隨即被釋放出來用於提供用戶介面、網(wǎng)絡(luò)和系統(tǒng)管理功能,并同時監(jiān)測和控制信號處理管線。

 

 

 

下一篇: 斷路器、隔離開關(guān)、接

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
主站蜘蛛池模板: 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 万博士范文网-您身边的范文参考网站Vanbs.com | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 淘趣英语网 - 在线英语学习,零基础英语学习网站 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 5nd音乐网|最新流行歌曲|MP3歌曲免费下载|好听的歌|音乐下载 免费听mp3音乐 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 撕碎机,撕破机,双轴破碎机-大件垃圾破碎机厂家 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 高低温万能试验机_拉力试验机_拉伸试验机-馥勒仪器科技(上海)有限公司 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 电地暖-电采暖-发热膜-石墨烯电热膜品牌加盟-暖季地暖厂家 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 电池挤压试验机-自行车喷淋-车辆碾压试验装置-深圳德迈盛测控设备有限公司 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 陕西高职单招-陕西高职分类考试网| 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 真空包装机-诸城市坤泰食品机械有限公司 | 十二星座查询(性格特点分析、星座运势解读) - 玄米星座网 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 |