C2H技術(shù)在視頻監(jiān)控系統(tǒng)中的應(yīng)用
由于傳統(tǒng)技術(shù)的限制,視頻監(jiān)控系統(tǒng)的性能很難有較大的提升。為了解決這個(gè)問(wèn)題,在分析視頻監(jiān)控系統(tǒng)各部分時(shí)耗的基礎(chǔ)上,引入了C2H(C-to-Hardware)新技術(shù)對(duì)系統(tǒng)中耗時(shí)大的環(huán)節(jié)——數(shù)據(jù)讀寫(xiě)環(huán)節(jié)進(jìn)行硬件加速,有效的提高了視頻監(jiān)控系統(tǒng)的性能。通過(guò)測(cè)試數(shù)據(jù)表明,視頻監(jiān)控系統(tǒng)中應(yīng)用了C2H 技術(shù)加速后,數(shù)據(jù)讀寫(xiě)速度提升十幾倍,使整個(gè)系統(tǒng)性能得到明顯提高。
本文引用地址:http://m.butianyuan.cn/article/166555.htm0 引 言
隨著視頻監(jiān)控系統(tǒng)的廣泛應(yīng)用,人們對(duì)監(jiān)控系統(tǒng)的實(shí)時(shí)性提出了更高的要求,特別是在數(shù)據(jù)的高速采集應(yīng)用中,傳統(tǒng)技術(shù)在處理速度上面臨著嚴(yán)峻的考驗(yàn),當(dāng)前通用的解決方案很難滿足用戶日益提高的需求。為此,Altera 公司于2006 年4 月7 日提出了C2H 技術(shù)。這個(gè)技術(shù)的實(shí)質(zhì)是通過(guò)硬件映射的方式直接用硬件對(duì)C 語(yǔ)言進(jìn)行加速,獲得系統(tǒng)性能的提高。
本文將 C2H 技術(shù)應(yīng)用于視頻監(jiān)控系統(tǒng)的數(shù)據(jù)存儲(chǔ)功能部分,有效的加快了數(shù)據(jù)的讀寫(xiě)速度,使系統(tǒng)的性能得到大幅度的提升。
1 C2H 技術(shù)介紹
1.1 C2H 的特點(diǎn)
C2H 是一種可以直接對(duì)ANSI C 函數(shù)定制硬件加速的技術(shù),在推出短短的一年時(shí)間內(nèi)就得到了嵌入式及FPGA 設(shè)計(jì)者的廣泛使用。C2H 編譯器能分析程序要加速實(shí)現(xiàn)的存儲(chǔ)器接口類型,生成硬件加速器邏輯以及合適的Avalon(總線互聯(lián)架構(gòu))的主機(jī)和從機(jī)接口,達(dá)到與存儲(chǔ)器延時(shí)的匹配。這樣,分擔(dān)了處理器的數(shù)據(jù)計(jì)算和存儲(chǔ)器訪問(wèn)任務(wù),使處理器能夠更好的處理其他任務(wù)。數(shù)據(jù)表明,與未采用C2H 加速的系統(tǒng)相比,采用NiosII C2H 編譯器加速的系統(tǒng)性能提高了10 到45 倍,而耗費(fèi)的邏輯資源僅比處理器本身多出0.7 至2.0 倍。NiosII C2H 編譯器是基于Eclipse 的NiosII 集成開(kāi)發(fā)環(huán)境(IDE)中的一個(gè)插件。同時(shí),C2H編譯器具有識(shí)別并行運(yùn)行事件的功能,能在硬件中同時(shí)運(yùn)行相互獨(dú)立的事件。與前面結(jié)果無(wú)關(guān)的事件將被盡早的執(zhí)行。軟件調(diào)用以線程的方式進(jìn)行加速——每個(gè)加速器完全并行運(yùn)行,真正的多任務(wù)系統(tǒng)(CPU, 硬件加速器)。
1.2 C2H 的使用流程
C2H的使用需要進(jìn)行反復(fù)的調(diào)試,直到性能符合設(shè)計(jì)要求。具體流程如下:
(1)在NiosII中開(kāi)發(fā)和調(diào)試C程序;
(2)分析C程序,找到最適合加速的部分;
(3)將需要加速的代碼段寫(xiě)成一個(gè)獨(dú)立的子函數(shù);
(4)指定這個(gè)函數(shù)為硬件加速的函數(shù);
(5)在NiosII IDE中重新編譯整個(gè)工程;
(6)分析硬件加速的結(jié)果,觀察C2H*估報(bào)告;
2 視頻監(jiān)控系統(tǒng)的設(shè)計(jì)
設(shè)計(jì)中選用的是 Altera 公司生產(chǎn)的CycloneII 系列中的EP2c35 FPGA。CycloneII 系列是低成本嵌入式處理解決方案,具有可以擴(kuò)展外設(shè)集、存儲(chǔ)器、I/O 的特點(diǎn)。同時(shí)Altera 公司免費(fèi)提供NiosII 嵌入式處理器。NiosII 軟核是一個(gè)32 位RISC 嵌入式處理器,性能超過(guò)200MIPS,滿足當(dāng)前系統(tǒng)的設(shè)計(jì)要求。Altera 公司提供了一整套針對(duì)NiosII 軟核的SOPC 開(kāi)發(fā)工具,輕松實(shí)現(xiàn)從底層的硬件設(shè)計(jì)到上層的軟件開(kāi)發(fā)。
2.1 視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)
本文中設(shè)計(jì)的視頻監(jiān)控系統(tǒng)的基本構(gòu)成是現(xiàn)場(chǎng)實(shí)時(shí)采集圖像的攝像機(jī)、視頻解碼芯片AD7181B、視頻D/A 芯片ADC7123、VGA 控制器、Flash、SDRAM 控制器及控制核心NiosIICPU。整個(gè)系統(tǒng)除A/D 和D/A 采用專用芯片外,其余部分均在FPGA 上實(shí)現(xiàn)。視頻監(jiān)控系統(tǒng)的硬件設(shè)計(jì)框圖如下圖1 所示:
圖1 系統(tǒng)硬件設(shè)計(jì)框圖
評(píng)論