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