[問題] FPGA影像存取問題(verilog)
大家好,目前我在學習用FPGA搭配MT9P001影像感測器做影像處理
但在最基本的獲取正確影像這部分就碰到了問題
試了好久一直無法解決,所以想上來請教大家
目前系統架構是用FPGA對MT9P001進行I2C暫存器設定
得到的影像會存進FPGA上的SRAM,再以RS232傳送給電腦
目前得到的影像是這個樣子
https://imgur.com/HKsYzOB.jpg

我使用的是魚眼鏡頭,會有桶狀畸變的問題
桶狀畸變在底部應該是下凹的形狀
但我得到的影像卻是全部上凸,像是只得到了一部分的正確影像
但像素的個數是正確的(640*480)
後來調整I2C暫存器設定(只調整了PLL的參數)得到以下這張圖
https://imgur.com/Bcq1tmG.jpg


這張圖畸變的樣子正確了,可是整整有49個在一張影像裡啊QQ
黃色箭頭是第一張圖裡亮亮的那條線
也可以看出第一張圖拍到的範圍有多小...
想請問有沒有人也曾經遇過類似問題呢
已檢查過SRAM存值讀值和RS232傳輸的部分都是正確的
但不確定是I2C設定出了問題還是我程式碼(verilog)出問題
抱歉敘述有點長,先謝謝各位了!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.39.184
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1520308237.A.EDB.html
→
03/06 14:39,
7年前
, 1F
03/06 14:39, 1F
→
03/06 14:39,
7年前
, 2F
03/06 14:39, 2F
→
03/06 14:42,
7年前
, 3F
03/06 14:42, 3F
我是用FPGA本身的system clock(40MHz)經過PLL建立2個時脈
20MHz給MT9P001,80MHz給SRAM(存取時間最快可以到10ns)
想說用PLL應該是能保持相位同步
MT9P001的確沒有內建校正功能,校正是想要用軟體寫的
只是現在還沒能得到正確的影像
https://imgur.com/nvnBGHp.jpg

上面是簡易畫的方塊圖,目前覺得最有可能有問題的地方
是由MT9P001得到的PIXCLK經過filter(內有兩層D flip-flop)後變為20MHz
後來才發現PIXCLK是60MHz啊QQ
filter的clock給40MHz根本不夠(I2C設定沒檢查好打開了PLL,一直以為同樣是20MHz)
但60MHz太快了,所以目前有嘗試過
1.關閉MT9P001的PLL,讓EXTCLK=PIXCLK=20MHz
結果圖片變成很像電視雜訊,完全看不出東西
2.不加filter,結果跟上面一樣
反而60MHz變成20MHz的奇怪情況才照得出這篇文的第一張圖(雖然還是錯的)
請問有可能是這邊出問題嗎?
我會再檢查一下我的時脈的,謝謝
※ 編輯: sherry470 (140.116.39.184), 03/06/2018 17:04:39
→
03/06 17:19,
7年前
, 4F
03/06 17:19, 4F
→
03/06 17:21,
7年前
, 5F
03/06 17:21, 5F