新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoPC的自感知運(yùn)動(dòng)圖像采集系統(tǒng)設(shè)計(jì)

基于SoPC的自感知運(yùn)動(dòng)圖像采集系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2009-11-16 來(lái)源:網(wǎng)絡(luò) 收藏
經(jīng)測(cè)試SDRAM控制器滿足要求,在Model-Sim6.0中其時(shí)序仿真波形圖如圖4所示。

本文引用地址:http://2s4d.com/article/152285.htm

2.2.2 幀存分時(shí)切換機(jī)制
Write_FIFO,Read_FIFO1和Read_FIFO2都是16 b位寬,而SDRAM只有16 b的數(shù)據(jù)位寬,三個(gè)FIFO都要訪問(wèn)SDRAM,這就涉及到相互競(jìng)爭(zhēng)的問(wèn)題,在同一時(shí)刻只能有一個(gè)訪問(wèn)SDRAM。為此需要一個(gè)分時(shí)切換機(jī)制。由于SDRAM的操作時(shí)鐘為100 MHz,而像素時(shí)鐘為25 MHz,經(jīng)過(guò)抽樣后時(shí)鐘頻率更是大大降低。在一次周期內(nèi),SDRAM完全可以和三個(gè)FIFO的接口輪流切換,從而不會(huì)影響的速度。
如圖5所示,其工作過(guò)程為:
(1)經(jīng)格式轉(zhuǎn)換模塊輸出,寫(xiě)入Write_FIFO的輸入端口。
(2)當(dāng)控制電路檢測(cè)到Write_FIFO中讀出端的數(shù)據(jù)量大于256(三個(gè)FIFO容量均為512 word)時(shí),產(chǎn)生寫(xiě)命令,并擁有寫(xiě)互斥鎖。SDRAM控制器接到命令,以100 MHz時(shí)鐘將256個(gè)數(shù)據(jù)寫(xiě)入SDRAM。
(3)Write_FIFO輸出256個(gè)數(shù)據(jù)后,讀出端的數(shù)據(jù)量小于256,并且由于Read_FIFO1中初始狀態(tài)的輸入端數(shù)據(jù)小于256,Read_FIFO1擁有讀互斥鎖,產(chǎn)生讀命令,SDRAM控制器接到命令,以100 MHz時(shí)鐘將256個(gè)數(shù)據(jù)讀出,并寫(xiě)入Read_FIFO1。
(4)當(dāng)Read_FIFO1收到256個(gè)數(shù)據(jù),其輸入端數(shù)據(jù)大于256,并且由于Read_FIFO2中初始狀態(tài)的數(shù)據(jù)小于256,Read_FIFO2擁有讀互斥鎖,產(chǎn)生讀命令,SDRAM控制器將256個(gè)數(shù)據(jù)讀出,并寫(xiě)入Read_FIFO2。
(5)這樣就完成了一次操作,之后就是循環(huán)操作。地址信號(hào)也是由控制電路產(chǎn)生,每經(jīng)過(guò)一次讀寫(xiě),地址增量為256,這樣就可以保持信號(hào)的連續(xù)性。
(6)Write_FIFO在一定周期內(nèi)向SDRAM中連續(xù)寫(xiě)入兩幀連續(xù);Read+FIFO1根據(jù)SDRAM中的地址讀取其中的一幀數(shù)據(jù);而Read_FIFO2讀取另一幀圖像數(shù)據(jù)。
通過(guò)這個(gè)機(jī)制,三個(gè)FIFO中始終都有數(shù)據(jù),不會(huì)發(fā)生讀空、寫(xiě)滿情況,使得存儲(chǔ)器兩端的數(shù)據(jù)讀/寫(xiě)方便,只要在write FIFO的輸入端和Read―FIF01、Read FIFO2的輸出端進(jìn)行操作就行,在時(shí)鐘的上升沿將數(shù)據(jù)寫(xiě)入或輸出,實(shí)現(xiàn)了異步方式。

3 檢測(cè)模塊
該模塊采用幀間差分法,其基本原理是將連續(xù)的兩幀或幾幀的圖像對(duì)應(yīng)的像素值相減,在環(huán)境亮度變化不大的情況下,如果對(duì)應(yīng)像素值相差很小,則認(rèn)為此處景物是靜止的,如果圖像區(qū)域某處的像素值變化很大,可認(rèn)為這是由于圖像中物體引起的。其算法實(shí)現(xiàn)簡(jiǎn)單,能夠適應(yīng)各種動(dòng)態(tài)環(huán)境,穩(wěn)定性較好。
中對(duì)相鄰兩幀圖像的每個(gè)像素RGB分量分別取絕對(duì)差值。當(dāng)絕對(duì)差值大于閾值時(shí)(這里取經(jīng)驗(yàn)值16),就認(rèn)為存在差異,如果做比較的兩個(gè)像素的RGB分量只要有一個(gè)分量有差異,則令此點(diǎn)的數(shù)值為1,這樣就得到一幅320×240像素大小的二值差值圖像。然后傳統(tǒng)處理方法是統(tǒng)計(jì)值為1的點(diǎn)的個(gè)數(shù),如果其數(shù)量超過(guò)預(yù)設(shè)值,就認(rèn)為兩幅圖像有差異。這種方法設(shè)計(jì)簡(jiǎn)單,但是準(zhǔn)確率還不夠高,為此該設(shè)計(jì)提出了一種改進(jìn)的算法,引入了圖像處理常用的兩種操作腐蝕和膨脹。腐蝕與膨脹是一對(duì)逆運(yùn)算,如果先腐蝕再膨脹,便構(gòu)成了開(kāi)運(yùn)算。一般來(lái)說(shuō),開(kāi)運(yùn)算能夠去除孤立的小點(diǎn),毛刺和小橋(即連通兩塊區(qū)域的小點(diǎn))。而總的位置和形狀不變。
對(duì)上述二值圖像進(jìn)行開(kāi)運(yùn)算處理,可以消除小顆粒的噪聲的干擾,從而盡可能降低誤判和漏判。
設(shè)計(jì)流程如圖6所示,通過(guò)調(diào)用ALTSHIFTTAPS IP核,并利用輸出TAPS,構(gòu)建一個(gè)11×11像素大小的圖塊作為結(jié)構(gòu)元素,然后腐蝕:
(1)用11×11的結(jié)構(gòu)元素,掃描圖像的每一個(gè)像素;
(2)用結(jié)構(gòu)元素與其覆蓋的二值圖像做“與”操作;
(3)如果都為1,結(jié)果圖像的該像素為1,否則為0。
接著再將上述結(jié)果作為第二個(gè)ALTSHIFTTAPS的輸入,再次構(gòu)建11×11個(gè)像素的結(jié)構(gòu)元素,然后進(jìn)行膨脹處理:
(1)用11×ll的結(jié)構(gòu)元素,掃描圖像的每一個(gè)像素;
(2)用結(jié)構(gòu)元素與其覆蓋的二值圖像做“或”操作;
(3)如果都為0,結(jié)果圖像的該像素為0,否則為1。
最后得到判定信號(hào)DETECT,并用這個(gè)信號(hào)控制數(shù)據(jù)寫(xiě)入過(guò)程,一旦判定信號(hào)為1,就啟動(dòng)后續(xù)的圖像存儲(chǔ)過(guò)程。



評(píng)論


相關(guān)推薦

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

關(guān)閉