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