陳榮軍 鐘秀媚 譚洪舟 丁顏玉
摘要:SDRAM是一種廣泛應用于移動、手持設備的存儲芯片,它一次只能允許一個外設對其進行讀寫,對其正確的控制關系到整個系統(tǒng)的正常工作,因此,如何合理地分配外設對SDRAM的讀寫控制權至關重要。該文在圖像拍攝顯示基礎上進行改進,添加串口對SDRAM的控制模塊,用verilog硬件描述語言設計一個串口傳送模塊,將SDRAM中存儲的數(shù)據(jù)通過串口傳送到PC機上,協(xié)議簡單,所需資源少,可以實現(xiàn)較高速傳送。
關鍵詞:FPGA;verilog;SDRAM;UART
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2012)36-8796-03
該文描述了一種基于FPGA的SDRAM讀寫改進方法。本設計以攝像頭從外界獲取圖像數(shù)據(jù)存儲在SDRAM中為例,如果僅通過VGA控制模塊讀取該圖像數(shù)據(jù)顯示到屏幕上,則每次拍照得到的圖像只能預覽而無法對其進行處理,并且會被下一次拍的圖像覆蓋,因此就需要添加一個傳送模塊,將該圖像傳送到PC上,進行后續(xù)必要的處理。
在數(shù)據(jù)通信、計算機網(wǎng)絡以及分布式工業(yè)控制系統(tǒng)中,串行通信時用來交換數(shù)據(jù)和信息的常用方式,具有占用資源少、工作穩(wěn)定可靠、可以靈活潛入到一些通信系統(tǒng)中[1]。
1 總體方案設計
2 系統(tǒng)模塊設計
FPGA(現(xiàn)場可編程門陣列)作為可編程邏輯器件,是在PAL等邏輯器件的基礎上發(fā)展而來,其規(guī)模比較大,可以代替幾百塊通用IC芯片[2]。采用verilog硬件描述語言設計串口和SDRAM控制模塊。
2.1 UART控制模塊設計
2.2 SDRAM控制器模塊設計
SDRAM是Synchronous Dynamic Random Access Memory(同步動態(tài)隨機存儲器)的簡稱。SDRAM具有容量大、傳輸速度快、價格低廉、支持突發(fā)傳輸?shù)葍?yōu)點,其單片容量可達256 Mb或更高,工作速度可達100~200 MHz,目前,許多嵌入式設備的大容量存儲器都采用SDRAM來實現(xiàn)。但由于SDRAM靠電容存儲信息,存在泄漏電流問題,因此需要不停的動態(tài)刷新。另外SDRAM本身在某一時刻的訪問操作只能是單向的,即不能同時進行讀寫,因此需要建立一個合理的握手機制,避免同一時刻對同一個SDRAM進行讀寫[5]。
在通常的設計中一般采用SDRAM存儲器時,通常都是搭建一個Nios系統(tǒng),用Altera提供的SDRAM控制器的IP核完成其控制電路。但是,采用其IP核需要花費更多的硬件資源,因此可以自己設計SDRAM控制電路。
由于三個模塊:圖像采集、VGA控制、串口傳送模塊要對SDRAM的同一段存儲空間進行讀寫,而且每個模塊的讀寫速度不盡相同,因此,合理分配其讀寫時序非常重要。SDRAM控制器模塊中包括了三個FIFO:一個用于D5M模塊對SDRAM進行寫操作的緩沖FIFO,另外兩個分別是用于VGA和UART模塊對SDRAM進行讀操作的緩沖FIFO。每個FIFO的輸入輸出數(shù)據(jù)寬度均為32位。3個FIFO輪流對SDRAM進行讀/寫一定數(shù)量的數(shù)據(jù),當某個FIFO“滿”則跳過對SDRAM的操作。
3 調試
5 結束語
要實現(xiàn)SDRAM到PC的直接數(shù)據(jù)傳輸可以有多種方式:串口、USB、Ethernet。該文描述的是一種通過串口進行傳送的方式,其協(xié)議簡單,占用資源少,可以實現(xiàn)較高速有效的傳送。在原有的設計中,攝像頭模塊與VGA控制模塊對SDRAM進行讀寫,但每次拍照得到的圖像只能存儲在SDRAM中,無法對其進行處理,并且會被下一次拍的圖像覆蓋,因此添加了一個傳送模塊將該圖像傳送到PC上。經(jīng)驗證,圖像獲取模塊、VGA控制模塊與UART各自有序地掌握SDRAM的讀寫控制權,實現(xiàn)了圖像獲取、存儲、顯示和傳輸?shù)耐暾^程。
參考文獻:
[1] 賈子申,李淑清,王冠雅. 基于FPGA的UART控制器設計[J].電子測量技術,2008(3):82-83 90.
[2] 鐘秀媚,陳榮軍,李偉健.一種基于FPGA和超聲波的虛擬電子琴設計[J].電子設計工程,2012(10):142-144.
[3] 張靖武,周靈彬. 單片機原理、應用于PROTEUS仿真[M].北京:電子工業(yè)出版社,2010.
[4] 郝立兵. 基于FPGA技術的RS232接口時序電路設計[J].現(xiàn)代電子技術,2012(6):175-176 .
[5] 陸軍,高樂,劉濤,等. 基于FPGA的全景圖像處理系統(tǒng)SDRAM控制器設計與實現(xiàn)[J].應用科技,2012(2):55-60.