2238 8K圖像信號發(fā)生器數(shù)據(jù)讀出管理
點擊次數(shù):978 更新時間:2021-11-25
2238 8K圖像信號發(fā)生器的基本原理如下:通過模擬產(chǎn)生CCD相機輸出控制時序,將特定圖像進(jìn)行循環(huán)播放輸出。目標(biāo)圖像數(shù)據(jù)可通過PC機進(jìn)行加載,并且需要進(jìn)行非易失性存儲。這樣在完成圖像加載之后,系統(tǒng)一經(jīng)啟動就能夠?qū)D像數(shù)據(jù)按照要求進(jìn)行輸出。目標(biāo)圖像按要求均是灰度圖像,可以是單幀、也可以是多幀,可以是從相機采集而來,也可以是通過Matlab仿真模擬得到的。選擇載入不同的目標(biāo)圖像序列,則系統(tǒng)可以完成不同的需求任務(wù)。
2238 8K圖像信號發(fā)生器數(shù)據(jù)讀出管理:
數(shù)據(jù)讀取輸出是指FPGA模擬CCD相機輸出時序,將FLASH中的數(shù)據(jù)通過CameraLink接口進(jìn)行循環(huán)輸出。所選的FLASH的單片讀出速率可達(dá)25MB/s,由于8片F(xiàn)LASH可以并行讀出,所以整個系統(tǒng)的數(shù)據(jù)讀出率可以達(dá)到200MB/s。這樣有利于模擬出較高幀頻的CCD相機輸出。當(dāng)系統(tǒng)進(jìn)行圖像數(shù)據(jù)讀取輸出時,F(xiàn)PGA中設(shè)置了FIFO來緩沖數(shù)據(jù)。CameraLink輸出管理模塊產(chǎn)生相機時序,將FIFO中的數(shù)據(jù)按要求送到CameraLink接口。對于從FLASH向FIFO轉(zhuǎn)移數(shù)據(jù),先將各FLASH中的2KB數(shù)據(jù)被讀入其在FPGA中對應(yīng)的RAM中;然后控制各RAM中的數(shù)據(jù)被按順序轉(zhuǎn)移至FIFO中,控制器通過FIFO的數(shù)據(jù)深度來判斷是否需要繼續(xù)讀入數(shù)據(jù),當(dāng)判斷FIFO中的數(shù)據(jù)快滿時暫停讀取,這時由于數(shù)據(jù)繼續(xù)被讀出,隨著FIFO中的數(shù)據(jù)減少到一定程度時,啟動將RAM中的數(shù)據(jù)繼續(xù)讀入FIFO;一旦一個RAM中的數(shù)據(jù)被轉(zhuǎn)移,則FLASH讀取管理模塊繼續(xù)將該FLASH中的后續(xù)數(shù)據(jù)寫入該RAM。
在加載某種8位數(shù)據(jù)寬度、雙通道輸出的目標(biāo)圖像時,使用Chipscope得到的CameraLink信號如圖5所示。其中,strobe為時鐘信號,dval,lval,fval分別是數(shù)據(jù)有效、行有效、幀有效信號。觀測結(jié)果說明輸出的數(shù)據(jù)與加載的數(shù)據(jù)保持一致,輸出控制時序也符合要求。為了模擬出不同類型的CCD相機,只需要修改FPGA程序中設(shè)定的strobe時鐘頻率、Lineblanking時間、Frameblanking時間等必要參數(shù)即可。