基于FPGA的相關(guān)測(cè)速系統(tǒng)
(2)Raw to RGB壓縮模塊
通過(guò)內(nèi)部設(shè)置一個(gè)1 280×10 bit的FIFO,同時(shí)輸出兩行數(shù)據(jù),通過(guò)輸入的行計(jì)數(shù)和列計(jì)數(shù)模塊的奇偶將原Byer格式的數(shù)據(jù)壓縮成RGB格式,4個(gè)點(diǎn)壓縮成一個(gè)點(diǎn),圖像大小變成640×512。同時(shí),通過(guò)內(nèi)置的時(shí)鐘計(jì)數(shù)模塊將當(dāng)前輸出的RGB所在的行列值輸出,范圍為640×512。
(3)處理流程1
M4K寫(xiě)入控制器:CCD時(shí)鐘。通過(guò)當(dāng)前輸入的行列坐標(biāo),確定觸發(fā)背景M4K內(nèi)存模塊和模板M4K內(nèi)存模塊的寫(xiě)入使能。背景M4K大小設(shè)為256×256×4 bit,模板M4K大小設(shè)為32×32×4 bit。當(dāng)該模塊工作時(shí),相關(guān)模塊不工作,以防止未寫(xiě)完數(shù)據(jù)就做相關(guān)處理。
M4K模塊:存放處理過(guò)的4 bit灰度數(shù)據(jù),讀寫(xiě)時(shí)鐘分開(kāi),有寫(xiě)使能位。
(4)處理流程2
SdRam接口:提供兩個(gè)寫(xiě)端口和兩個(gè)讀端口,可同時(shí)處理。內(nèi)部連接了PLL倍頻器,將SDRam的處理速度倍增到100 MB,然后通過(guò)內(nèi)部的讀寫(xiě)和刷新?tīng)顟B(tài)機(jī)控制讀寫(xiě)。
VGA控制模塊:由I2C控制生成行同步信息,并將讀入的RGB數(shù)據(jù)通過(guò)系數(shù)處理送到解碼器輸出VGA圖像。
測(cè)速模塊:模板選擇的位置固定在圖像的正中,即第192行192列開(kāi)始的32×32大小的數(shù)據(jù),通過(guò)輸入的(X,Y)坐標(biāo)和(192,192)的差值得到像素的偏移量。然后通過(guò)實(shí)際的圖像大小和距離的比例系數(shù),乘以當(dāng)前的處理頻率,得到當(dāng)前的物體移動(dòng)速度。
為了計(jì)算偏移量和相對(duì)位移,必須引入除法運(yùn)算,而除法運(yùn)算是通過(guò)許多移位寄存器和加法器構(gòu)成的。運(yùn)算極其耗時(shí),且需要大量邏輯單元和查找表,對(duì)處理速度有很大影響。所以選取MegaWizard生成的除法器來(lái)減少所需的運(yùn)算時(shí)間。
最后,由于實(shí)際的數(shù)據(jù)均為16進(jìn)制,為了滿(mǎn)足顯示的10進(jìn)制坐標(biāo)換算的需要,設(shè)計(jì)了16進(jìn)制到10進(jìn)制LED顯示的轉(zhuǎn)換模塊,實(shí)現(xiàn)了速度的直觀顯示,如圖3所示。
綜上所述,通過(guò)模塊化設(shè)計(jì)和綜合設(shè)計(jì),在FPGA上實(shí)現(xiàn)了測(cè)速需要的功能設(shè)計(jì)。
本文對(duì)攝像頭采集到的數(shù)據(jù)進(jìn)行處理。選取圖像正中的256×256個(gè)像素位置作為背景區(qū)域,其中的32×32個(gè)像素作為模板選取區(qū)域,通過(guò)前后兩幀的相關(guān)得到模板在后一幀中的位移像素值。測(cè)速示意圖如圖4所示。
如果按照理想的相似三角形判斷,攝像頭可以測(cè)量的速度可以達(dá)到無(wú)限大。設(shè)背景區(qū)域長(zhǎng)寬均為X cm,最大速度可以達(dá)到(X×(256-32)/256)/0.529 4=1.9×0.875X cm/s,測(cè)量精度為(X/256)/0.529 4=1.9×X/256。但是由于攝像頭對(duì)光強(qiáng)的敏感程度和目標(biāo)的實(shí)際采樣灰度受噪聲的影響,以及受安裝位置和與被測(cè)物體距離的限制,實(shí)際測(cè)量速度范圍是有限的。在測(cè)試中采用的背景大小為20 cm×20 cm,離檢測(cè)面距離30 cm左右,100 MHz工作頻率,測(cè)速的最大值可達(dá)到(20×(256-32)/256)/0.529 4=33.056 cm/s。
整個(gè)測(cè)速系統(tǒng)可以根據(jù)實(shí)際應(yīng)用情況設(shè)定參數(shù)來(lái)調(diào)整搜索區(qū)域,具有很寬的測(cè)速范圍。相對(duì)于傳統(tǒng)的接觸式測(cè)速系統(tǒng),克服了物體運(yùn)動(dòng)異常時(shí)測(cè)量出現(xiàn)的原理性誤差;相對(duì)于非接觸的一維測(cè)速系統(tǒng),克服了測(cè)速的單一性,可以測(cè)量物體在各種運(yùn)動(dòng)方向上移動(dòng)的速度。如果使用高性能FPGA進(jìn)行多路并行的相關(guān)運(yùn)算,搭配高速高分辨率的攝像頭,完全可以解決全圖互相關(guān)算法處理的計(jì)算量巨大的問(wèn)題,使測(cè)速的精度和速度得到進(jìn)一步提高。這種測(cè)速方式具有的一系列優(yōu)點(diǎn),使其發(fā)展空間非常廣闊,可以廣泛應(yīng)用到各個(gè)領(lǐng)域。
總之,本文研究的基于FPGA的相關(guān)測(cè)速系統(tǒng),能夠?qū)崿F(xiàn)非接觸式和高精度的測(cè)量。其中,融合了信號(hào)采集與處理、邏輯器件FPGA和互相關(guān)技術(shù)等,具有學(xué)科交叉融合的特點(diǎn)。在各種傳送帶、紙板、熱軋鋼板、汽車(chē)和列車(chē)等運(yùn)動(dòng)物體的非接觸測(cè)速上具有較大的實(shí)際應(yīng)用價(jià)值,為解決非接觸式運(yùn)動(dòng)物體測(cè)速問(wèn)題提供了技術(shù)手段。
評(píng)論