基于SDRAM的圖像存儲顯示系統
FPGA聽起來是比較枯燥的學科,但是真正了解它,運用它,你會發現它將非常有趣。恭喜我們兩名同學在快樂中制作出了新的作品,在老師的幫助下,兩位同學合力完成了基于SDRAM的圖像存儲顯示系統,讓我們一起來看一看他們的制作過程吧!
首先看一看他們的設計思路,他們的想法是基于FPGA的彩色圖像實時采集顯示工程,通上電后,FPGA設置攝像頭的工作方式,通過攝像頭實時采集外界的圖像信息,圖像信息經過FPGA儲存到SDRAM,同時在FPGA中產生顯示器的同步信號,從SDRAM中讀取圖像數據,通過VGA顯示控制模塊傳輸后發送到顯示器上。
設計聽起來是比較簡單的,但是在兩位同學的制作過程中,他們并沒有直接使用別人的IP核,兩位同學根據數據手冊設計出來了SDRAM模塊接口代碼,這也是本項目最大的難點與亮點。大家都知道,程序是模塊的靈魂,一個優秀代碼的完成也不是一蹴而就的,它需要花費相當多的時間和精力去調試錯誤,修補漏洞。在SDRAM接口設計過程中,從架構的搭建,到每一個邏輯代碼的編寫,都是兩位學員獨立完成的。當然不論是設計還是調試,這過程中都會遇到很多的難題,在一次次的困難面前,他們都沒有選擇放棄,互相商量尋找解決方案,一個路不通就回過頭來選擇另外一條,找到合適的解決方案。就是這樣的付出,他們設計出了屬于自己的SDRAM接口,并運用到此項目中去。
項目計劃得到老師的認可后,他們投入到了準備中來。先說硬件的準備,他們準備了明德揚MP801 V2.0開發板一塊,帶有VGA接口的顯示器一臺,VGA接口連接線,OV7670攝像頭一個。軟件上他們使用了Quartus II 13.0編譯軟件,并且設計了規整的結構圖,如下圖所示。

準備好這一切后,兩位同學就開始設計代碼了,經過在明德揚的學習,他們的代碼寫的非常的規整,我們一起來欣賞一下他們寫的TOP層次源碼。








file:///C:/Users/%E6%B6%9B%E5%A3%B0%E4%BE%9D%E6%97%A7/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif
綜合編譯完成后,二人將生成的比特流文件下載到至明德揚MP801開發板中,并用VGA線將開發板與顯示器相連接。至此,兩位同學的作品算是初步的完成了。當然連接好后在調試的過程中也是遇到了一定的問題,比如攝像頭采集后顯示的圖像亮度過低,通過調節攝像頭的配置寄存器,畫面變得明亮起來。經過多次調試,兩位同學的作品完美出爐啦,為大家展示一下。
一、硬件展示
1、連接好的FPGA板

2、攝像頭采集圖片信息,畫面實時的顯示在顯示器上


二、參數分享
1、OV7670攝像頭:分辨率640*480,幀率30幀/秒,輸出圖像為RGB565格式;
2、VGA:分辨率640*480,幀率60幀/秒,輸出圖像為RGB565格式。
以上就是兩位同學的作品,設計看起來很簡單,但是由于自己設計的SDRAM模塊接口,整個制作還是耗費了兩位同學相當多的時間和精力,并且在程序的設計中兩位同學還是非常的用心和細心的,讓我們為他們的努力與付出鼓掌。想要成為一位合格的FPGA工程師,就要適當的放棄“拿來主義”,像我們的兩位同學一樣,試著去嘗試去制作屬于自己的模塊,只有在實踐中不斷的試錯,才可以得到提升與進步,感興趣的同學也可以試著自己做一下,相信大家經過勤加學習、多加練習、刻苦鉆研、不懈努力,一定可以成為優秀的FPGA工程師。
明德揚專注FPGA,想要學習FPGA的同學快快加入明德揚吧!