<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 三維圖像信息處理FPGA+DSP核心架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)

          三維圖像信息處理FPGA+DSP核心架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-12-18 來源:網(wǎng)絡(luò) 收藏

          2.3 重建模塊

          為了應(yīng)對(duì)大數(shù)據(jù)量復(fù)雜高速運(yùn)算的需要,這里采用了兩片TigerSHARC 201芯片并行重建運(yùn)算。由控制對(duì)兩片所要進(jìn)行任務(wù)分配,結(jié)合預(yù)存入FIFO的數(shù)據(jù)和PCI總線所給參數(shù)進(jìn)行定標(biāo)參數(shù)計(jì)算、坐標(biāo)計(jì)算、三維重建和構(gòu)型。由于TS201內(nèi)部集成的總線仲裁機(jī)制,雙DSP可以無縫連接,大大減小了多DSP協(xié)調(diào)工作的難度。DSP間的連接是依靠其擁有的全雙工LinkPort,它采用LVDS(低電平差分信號(hào))輸入數(shù)據(jù)。鏈路口能獨(dú)立或同時(shí)工作,在時(shí)鐘的上升沿和下降沿鎖存數(shù)據(jù)。鏈路時(shí)鐘頻率最高可以與處理器核相同,高達(dá)500MHz,每個(gè)鏈路能完成500Mbps的單向數(shù)據(jù)傳輸。每個(gè)DSP的4個(gè)LinkPort合起來最大的通透率為4.0Gbps。連線短且簡(jiǎn)單,不需要額外的輔助電路,且可有效防止連線長(zhǎng)引起的信號(hào)畸變。LinkPort傳輸協(xié)議由控制完成。

          2.4 PCI通信接口模塊

          根據(jù)三維獲取系統(tǒng)的速度傳輸要求,采用PCI接口完成該系統(tǒng)與通用PC的交互。PCI接口控制器是硬件部分的控制中心和數(shù)據(jù)交換中心,它接收設(shè)備驅(qū)動(dòng)程序的命令和數(shù)據(jù),配置和控制系統(tǒng)的各個(gè)模塊使其協(xié)調(diào)工作,完成系統(tǒng)任務(wù);它還負(fù)責(zé)將采集到和處理后的數(shù)據(jù)通過PCI總線轉(zhuǎn)送給通用PC。本系統(tǒng)采用PLX公司的32bit/33MHz PCI9030作為接口芯片,串行EEPROM-FM93CS56L電可擦除只讀存儲(chǔ)器保存PCI9030的配置
          2.5 系統(tǒng)控制與數(shù)據(jù)交換模塊

          控制單元對(duì)處理器的數(shù)據(jù)處理單元和輸入數(shù)據(jù)格式轉(zhuǎn)換單元以及所有FIFO存儲(chǔ)器產(chǎn)生控制,與預(yù)處理FPGA配合完成DSP的LinkPort協(xié)議。由于數(shù)據(jù)處理單元中為流水處理,在控制單元的中要特別注意由流水線產(chǎn)生的固定周期的延時(shí),延時(shí)的周期數(shù)等于相應(yīng)流水線的級(jí)數(shù)??刂茊卧€與PCI接口連接,接收來自主計(jì)算機(jī)的控制信號(hào)和背景閾值等信息??刂艶PGA還是SAA7111A、PCI接口和DSP之間的和信息交換的橋梁,為其提供所需要的參數(shù)和數(shù)據(jù)信息。


          3 軟件

          3.1 圖像預(yù)處理算法

          如圖3,激光帶預(yù)處理算法的[2]為:由于有激光幀和無激光幀是依次交替產(chǎn)生的,因此首先要保存一幀有激光幀,在其下一幀,即無激光幀到來時(shí),將保存的有激光幀和當(dāng)前無激光幀的相同行、列的點(diǎn)相減,再對(duì)結(jié)果進(jìn)行亮度提取,處理完成后的數(shù)據(jù)存入目標(biāo)緩存。



          如圖4,實(shí)現(xiàn)提取輪廓線算法分為三個(gè)部分[3],首先由計(jì)算比較模塊對(duì)輸入像素點(diǎn)的值與預(yù)先計(jì)算好的閾值進(jìn)行比較,判斷其是否為目標(biāo)像素;然后利用一個(gè)序列檢測(cè)模塊進(jìn)行一維尺度濾波以去除某些噪聲點(diǎn);再經(jīng)過一個(gè)邊緣檢測(cè)模塊,提取出每行的第一個(gè)目標(biāo)像素作為目標(biāo)的左邊緣點(diǎn);完成后將此點(diǎn)所對(duì)應(yīng)的列地址數(shù)據(jù)存入目標(biāo)緩存。在某些情況下,可能整行都檢測(cè)不到邊緣點(diǎn),這時(shí)將0存入目標(biāo)緩存作為無邊緣點(diǎn)的標(biāo)識(shí)。



          提取中心線算法實(shí)現(xiàn)比較簡(jiǎn)單,只需對(duì)目標(biāo)緩存的寫允許信號(hào)加以控制,使RGB數(shù)據(jù)只能在每行的中心點(diǎn)處寫入目標(biāo)緩存即可。

          3.2 三維重建和構(gòu)型

          如圖5所示,高速DSP將根據(jù)預(yù)處理信息得到的激光標(biāo)志線、輪廓線和中心顏色線數(shù)據(jù)與源數(shù)字化圖像結(jié)合起來進(jìn)行三維重建。首先根據(jù)獲取的圖像標(biāo)志點(diǎn)數(shù)據(jù)結(jié)合控制點(diǎn)三維坐標(biāo)數(shù)據(jù)計(jì)算出系統(tǒng)定標(biāo)數(shù)據(jù);其次根據(jù)輪廓線計(jì)算物體外表面展開圖,再依據(jù)定標(biāo)數(shù)據(jù)結(jié)合展開圖和機(jī)械參數(shù)對(duì)圖像中的坐標(biāo)點(diǎn)進(jìn)行計(jì)算,給出數(shù)據(jù)集,輸出深度數(shù)據(jù)文件;最后對(duì)多次掃描的數(shù)據(jù)進(jìn)行融合,將離散點(diǎn)構(gòu)型成立體模型(或立體彩色模型),將模型生成DXF、STL等數(shù)據(jù)文件傳入PC機(jī),使用后端處理軟件進(jìn)行顯示[3]。

          3.3 算法實(shí)現(xiàn)

          圖像預(yù)處理算法設(shè)計(jì)使用Verilog HDL在Xilinx公司的ISE8.1集成編譯環(huán)境下成功實(shí)現(xiàn);FPGA開發(fā)流程不再贅述。

          DSP三維重建算法已使用C語言在ADI公司Visual DSP++環(huán)境下成功實(shí)現(xiàn)[4]。算法實(shí)現(xiàn)步驟如下:①用C語言編程實(shí)現(xiàn)算法。②使用Visual DSP++編譯器將源程序編譯成目標(biāo)文件。③根據(jù)產(chǎn)生的目標(biāo)文件,分析結(jié)果及源程序結(jié)構(gòu)并優(yōu)化源代碼。④應(yīng)用TigerSHARC 201評(píng)估板進(jìn)行運(yùn)算時(shí)間評(píng)估。⑤重復(fù)上述步驟直至達(dá)到系統(tǒng)實(shí)時(shí)性要求,最后下載到目標(biāo)板。

          整個(gè)系統(tǒng)聯(lián)機(jī)運(yùn)行穩(wěn)定,滿足設(shè)計(jì)要求,實(shí)時(shí)性好。

          實(shí)時(shí)三維圖像信息處理以其數(shù)據(jù)量大、速度要求高、處理過程復(fù)雜的特點(diǎn)使其難以使用集成電路實(shí)現(xiàn)。本文研究的以目前最新高性能處理器的FPGA+DSP為的三維圖像處理系統(tǒng)精心設(shè)計(jì)了算法的硬件實(shí)現(xiàn),充分利用了兩種處理器的長(zhǎng)處。實(shí)驗(yàn)表明,該系統(tǒng)有著良好的性能,對(duì)實(shí)現(xiàn)基于網(wǎng)絡(luò)的實(shí)時(shí)三維掃描應(yīng)用,如三維傳真、機(jī)械遠(yuǎn)程加工、快速成型和虛擬現(xiàn)實(shí),有著重要的意義。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();