SDRAM 學習筆記(一)

来源:http://www.cnblogs.com/raymon-tec/archive/2016/01/20/5144138.html
-Advertisement-
Play Games

前面幾篇博客已經講到了關於0V7725的相關驅動問題,那麼OV7725驅動成功之後,設定OV7725輸出RGB565格式,那麼對於640x480x16,那麼若是選用FIFO,應該設置為位寬16bit,存儲深度為30萬,但是這樣是不現實的。所以採用存儲深度更大的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

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • TopShelf簡介 個人理解:開源、跨平臺的服務框架。提供一種方式以控制台編寫windows服務,與windows服務相比,目前只發現便於調試。 官網網站:http://docs.topshelf-project.com/en/latest/index.htmlTopShelf基本用法...
  • 9-6. 管理斷開時的併發問題想要確保只接受在WCF客戶端併發令牌未被修改的實體。解決方案我們有一個如Figure 9-6所示的模型.Figure 9-6訂單實體模型我們想通過WCF服務來更新一個order ,而要確保這個order 在我們上次取回後沒有發生過其它修改。稍後我們將演示兩個不同的方式....
  • C#用副線程去試圖修改主線程的UI控制項會報出異常,解決方案是使用副線程註冊事件通知主線程自己去修改UI控制項在winform中,方法如下private void button1_Click(object sender, EventArgs e){ Thread myThread = new Th...
  • WCF
    正在準備中
  • 9-5. 刪除一個斷開的實體問題我們要把一個把WCF上取回的對象做上刪除的標誌.解決方案假設我們有如Figure 9-5所示實體的支付與票據的模型.Figure 9-5. 一個支付與票據的模型我們的模型展示了支付記錄與票據的關係。在應用程式中,我們用客戶端與用WC封裝EF數據訪問交互. 在我們的例子...
  • 想完成一個鏈表發現有錯誤,代碼如下://http://ac.jobdu.com/problem.php?pid=1511//֮ǰÓÃlistʵÏֵģ¬½ñÌìÊÔÒ»ÏÂÓÃstructʵÏÖһϰÉ//¿
  • 在try-catch-finally語句中使用return語句遇到了一些疑問代碼一:static int intc(){ int x =0; try{ x=1; return x; }finally { ...
  • 我又來送福利啦!!!不同於上篇文章,這次我們的爬蟲採用了多線程,一直以來被所謂的分散式 多線程 爬蟲 給唬的怕怕的。今天就來一發多線程爬蟲吧,還能看妹子圖,想想就覺得很激動!!! 依然是流程解釋: 1.分析要爬取的網址,發現頁面分兩級,第一級是多個圖片集的入口,第二集是圖片的入口。我們新建兩...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...