[問題] FPGA影像存取問題(verilog)

看板Electronics作者 (sherry)時間7年前 (2018/03/06 11:50), 7年前編輯推噓0(005)
留言5則, 1人參與, 7年前最新討論串1/1
大家好,目前我在學習用FPGA搭配MT9P001影像感測器做影像處理 但在最基本的獲取正確影像這部分就碰到了問題 試了好久一直無法解決,所以想上來請教大家 目前系統架構是用FPGA對MT9P001進行I2C暫存器設定 得到的影像會存進FPGA上的SRAM,再以RS232傳送給電腦 目前得到的影像是這個樣子 https://imgur.com/HKsYzOB.jpg
我使用的是魚眼鏡頭,會有桶狀畸變的問題 桶狀畸變在底部應該是下凹的形狀 但我得到的影像卻是全部上凸,像是只得到了一部分的正確影像 但像素的個數是正確的(640*480) 後來調整I2C暫存器設定(只調整了PLL的參數)得到以下這張圖 https://imgur.com/Bcq1tmG.jpg
放大看 https://imgur.com/nnc1Wab.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
Image sensor跑的比RAM寫入速度快,你的sensor跟ram write
03/06 14:39, 1F

03/06 14:39, 7年前 , 2F
跑非同步?
03/06 14:39, 2F

03/06 14:42, 7年前 , 3F
MT9P001這等級的sensor應該沒有內建幾何失真調整功能
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
你的PIXCLK要對上SRAM寫入頻率跟時序規格
03/06 17:19, 4F

03/06 17:21, 7年前 , 5F
另外,SRAM寫入要確認它是幾個clock寫入一筆資料
03/06 17:21, 5F
文章代碼(AID): #1QdX0DxR (Electronics)