基于SOPC的運動視覺處理系統(tǒng)的設(shè)計與實現(xiàn)
2 視頻采集模塊
該模塊主要負責(zé)視頻圖像的采集,攝像頭參數(shù)的設(shè)置和云臺步進電機的控制。其中,通過 I2C總線可以設(shè)定攝像頭內(nèi)部控制寄存器。在 FPGA中,實現(xiàn) I2C總線控制器的途徑有兩種:一種是在 Nios II中用軟件模擬實現(xiàn);另一種是采用第三方,比如 Sciworx,CAST,Digital Core Design等公司提供的 IP核。這些 IP核具有工作參數(shù),可以根據(jù)需要進行設(shè)定。以 CAST公司提供的 I2C總線控制器為例,傳輸速率最高為 100Kbps,可以工作在 4種模式下,分別是主發(fā)送器模式、主接收器模式、從發(fā)送器模式和從接收器模式。雙路 CMOS圖像傳感器接口控制視頻圖像采集的時序,幀同步和行同步;云臺控制信號是根據(jù)視頻圖像處理后的結(jié)果,控制云臺的兩個步進電機的轉(zhuǎn)動。這兩個模塊需要自己開發(fā),形成具有自主知識產(chǎn)權(quán)的 IP核。
3 視頻圖像處理模塊
該模塊包括 NiosII 32位嵌入式處理器,數(shù)字信號處理塊,數(shù)字圖像與數(shù)字視頻處理 IP MegaCore,以及其他一些邏輯電路,這是運動視覺處理與控制 SoPC設(shè)計的重點和核心,分別分以下幾個部分介紹。
?。?) Nios II嵌入式處理器
Nios II嵌入式處理器是一款通用的 RISC結(jié)構(gòu)的 CPU,它定位于廣泛的嵌入式應(yīng)用。在 Nios II IDE集成開發(fā)環(huán)境中,按照操作提示添加、設(shè)置相關(guān)參數(shù),在幾分鐘之內(nèi)就能生成一個 Nios II嵌入式處理器。其硬件開發(fā)過程為:
?、?分析系統(tǒng)所要完成的功能、達到的性能
?、?啟動 SOPC Builder,選取具體的 FPGA型號
③ 定義 CPU,外圍器件,存儲系統(tǒng)等模塊
④ 為各個模塊分配基地址和中斷請求號(IRQ)
?、?生成 Nios系統(tǒng)模塊,引腳鎖定,編譯軟件開發(fā)過程為:
?、?在 SOPC Builder中啟動 Nios II IDE
② 創(chuàng)建 C/C++軟件工程,并指定目標(biāo)硬件
?、?利用工程模本編寫相應(yīng)的程序
④ 編譯后,即可下載到硬件中運行
Nios II IDE中可以采用 C/C++或者匯編語言進行程序的編寫,其文件擴展名分別為 .c和.s。一個單獨的 Nios II/f CPU大約需要占用 1800個 LEs,如果再添加一些定時器,外圍器件等,那么占用的邏輯單元會進一步增加。
(2)數(shù)字信號處理塊
Stratix II系列 FPGA內(nèi)部具有數(shù)字信號處理塊( DSP Blocks,DSP塊)。數(shù)字信號處理塊可以支持不同數(shù)據(jù)寬度的乘法器( 9×9、18×18、36×36)和操作模式(乘法運算、復(fù)數(shù)乘法運算、乘加運算和乘法累加運算),每個 DSP塊提供了 2.8 GMACS的 DSP數(shù)據(jù)吞吐量。最大 Stratix II器件 EP2S180內(nèi)部含有 96個數(shù)字信號處理塊,能夠提供了 284 GMACS的吞吐量,可以支持 384個 18×18乘法器。此外,數(shù)字信號處理塊增加了新的舍入和飽和支持,便于將 DSP固件代碼導(dǎo)入FPGA。一些應(yīng)用如話音處理,由于存放數(shù)據(jù)的存儲緩沖是固定寬度,可以使用舍入和飽和。現(xiàn)在采用了支持舍入和飽和的數(shù)字信號處理塊,可以很方便地將基于 DSP處理器的設(shè)計導(dǎo)入到 FPGA中進行實現(xiàn)。
在 Altera的可編程器件上進行 DSP系統(tǒng)設(shè)計,需要有同時支持高級的算法和硬件描述語言的開發(fā)工具。MathWorks的 MATLAB和 Simulink系統(tǒng)級的設(shè)計工具具備了算法開發(fā)、仿真、驗證能力。Altera的 DSP Builder將這些工具與 Altera的開發(fā)工具組合在一起,提供了一個系統(tǒng)設(shè)計、算法設(shè)計和硬件設(shè)計共享的 DSP開發(fā)平臺。
(3)視頻圖像處理
IP核第三方提供有許多應(yīng)用于通信、圖像編解碼、視頻處理的可定制 IP核。合理地利用這些 IP核,在保證性能與可靠性的同時,可以大大縮短開發(fā)時間。下面介紹的是色彩空間轉(zhuǎn)換 IP。
評論