SDRAM 學習筆記(一)


  前面幾篇博客已經講到了關於0V7725的相關驅動問題,那么OV7725驅動成功之后,設定OV7725輸出RGB565格式,那么對於640x480x16,那么若是選用FIFO,應該設置為位寬16bit,存儲深度為30萬,但是這樣是不現實的。所以采用存儲深度更大的SDRAM來實現數據的緩存。

  要么對於SDRAM的學習資料,筆者列舉以下幾篇文檔供大家學習。

  image

image

image

  當然還有之前各位大神寫的博客,都可以進行參考,這里不一一列舉。

  本篇博客先整體介紹SDRAM,以及SDRAM的重要知識點。

  1.基礎知識

  SDRAM(synchronous dynamic random access memory),同步動態隨機存儲器。同步也就是與CPU前端總線的系統時鍾頻率相同,並且內部命令的發送與數據的傳輸都是以它為基准。動態是SDRAM是電容陣列,需要不斷的充放電,不斷刷新數據保證數據不丟失,所以SDRAM有個重要參數,就是刷新頻率。

  我們可以把SDRAM想象成一個表格,若要寫入某一個單元,則需指定行地址和列地址,如下圖21.1所示,整個由行列組成的塊,稱之為L-Bank,大部分的SDRAM都是基於4個L-Bank設計的,也就是有4張這樣的表格。尋址流程,先是指定L-Bank的地址,再進行指定行地址,然后再指定列地址尋址單元,其中每個單元可以放置8/16/32位的數據。

wps8854.tmp

  筆者常用的是hynix(海思)的SDRAM芯片,如下圖。基於hynix的其他其他型號操作時序都是一樣的,只不過存儲容量改變。時鍾頻率以及其他參數改變,這個之后會提及到。

image

wps81CF.tmp

  由上圖可以看出,有四個分區,每一個分區是由行和列激活信號,並通過行和列的預解碼實現行和列的鎖定,其中地址緩存器賦予地址寄存器,用來產生行和列的預解碼,以及模式寄存器,模式寄存器用來控制寫入的方式。狀態機部分是產生控制邏輯,功能和仲裁器一樣,SDRAM的實施其實也是利用了DMA的原理,CPU只需給仲裁邏輯發送相應的指令,會將數據從一個地方搬運到另一個地方。

  所以整個SDRAM部分,應該包括邏輯控制單元,地址寄存器,數據寄存器,在時序控制中,還有一個命令解碼器,CPU就是通過這個通道來實現命令的交互,來操作內存條的。SDRAM中還有模式寄存器,這個決定SDRAM是否能夠讀寫操作的成敗。

2. PCB設計注意事項

  SDRAM在制作PCB時,為了保證在高頻下正常工作,首先應該處理好電源引腳的退耦電容,退耦電容的layout與FPGA電源引腳一樣,在PCB設計時盡可能的靠近電源引腳,以最大限度地濾除紋波,提高SDRAM驅動電源的質量。

  SDRAM時鍾信號:由於SDRAM的工作頻率較高,為避免傳輸效應,同時避免對其他信號產生干擾,在時鍾線的布線時應盡可能采用地線隔離,縮短PCB上面的走線長度。

  SDRAM控制信號:由於是高速並行操作,控制線在layout時盡可能地等長,以最大限度地保證時序信號的同步性。

  如果對SDRAM的時鍾,時序要求比較高,則在重要的控制線上面,加33Ω電阻來消除干擾。這個主要是降低信號邊沿的跳變速率。

  SDRAM盡可能地遠離電源,晶振,用戶接口等干擾比較大的電路模塊

  SDRAM走線即使沒有嚴格的走等長線,只要走線不是太長,都沒有太大關系。

wpsA8DE.tmp

   上圖是筆者經常采用的一種方案,其中引腳15和19如果不采用掩模處理的話,可以直接接地。

//=======================================================================

更多詳細的資料下載可以登錄筆者百度網盤:

網址:http://pan.baidu.com/s/1bnwLaqF

密碼:fgtb

//=======================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM