女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用Stratix系列FPGA器件實現可訪問三口RAM操作的SDRAM控制器設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-04-26 08:06 ? 次閱讀

引言

SDRAM 具有存儲容量大、速度快、成本低的特點,因此廣泛應用于雷達信號處理等需 要海量高速存儲的場合,但是SDRAM 的操作相對復雜,需要有專門的控制器配合處理器 工作完成數據的存取操作。隨著FPGA 技術的快速發展及其應用的普及,用FPGA 實現 SDRAM 控制器是目前最流行的技術手段。雖然現在FPGA 的生產商提供了一些通用的 SDRAM 控制器,但是在雷達信號處理等一些專用領域內這些通用的SDRAM 控制器難以滿 足需要,需要開發適合的專用的SDRAM 控制器。

本文以一個典型的雷達信號存儲與預處理系統為應用背景,用 Altera 公司的Stratix 系 列FPGA 實現了一個三端口非透明型的SDRAM 控制器,該控制器內部具有靈活準確的優 先級仲裁功能,在保證多個端口平均分配SDRAM 帶寬的同時不影響數據傳輸的帶寬,采 用乒乓的DMA 傳輸機制大大提高了數據傳輸的帶寬和效率。

2 SDRAM 的特點及其基本操作

SDRAM 是在現有的標準動態存儲器中加入同步控制邏輯(一個狀態機),利用一個單一的系統時鐘同步所有的地址數據和控制信號,它具有如下一些特點:

結構特點:存儲容量大,受輸出管腳數量限制,其存儲單元設計成矩陣形存儲結構,因此地址分為行地址和列地址,首先給出行地址選通一行(或一頁),然后給出列地址選中要訪問的地址單元;

采用電容存儲信息,因此需要定時充電(刷新);

同步訪問:所有信號都在時鐘上升沿采樣有效才認為有效;

基于猝發(Burst)方式訪問:在發出一次讀寫命令之后,SDRAM 自動訪問長度為猝發 長度的地址空間,非Burst 訪問的效率很低;

速度快:只要 SDRAM 控制器合理設計時序,可以實現單周期訪問一個地址單元。 SDRAM 的基本操作包括:初始化、激活、預充電、刷新等等。

初始化:SDRAM 上電之后必須按照確定的程式進行初始化之后才能正常工作,最主要 的操作是模式寄存器的設置;

激活:選中所要訪問的行列地址單元;

刷新:SDRAM 存儲單元載體為容量很小的電容并存在漏電流。需要定時讀取回填各 個單元才能保證數據不丟。在片內有自動刷新控制器,記錄了刷新行地址,每執行一次自 動刷新命令,刷新一行;

預充電:每次讀寫操作是通過傳感放大器對存儲單元電容的充放電過程,在讀操作時對 選中整行單元的原始數據可能產生破壞。這就需要在每次讀取操作后立即對該行原內容 與閾值比較再回寫,并且對傳感放大器參考閾值電壓復位準備下一次做讀寫操作。所以 總是在執行換行讀寫或刷新之前執行預充電操作。

3 SDRAM 控制器的基本功能

三端口非透明型 SDRAM 控制器是指控制器面向用戶端有三個端口而不是通常情況下 的一個端口,三個端口的功能完全一致,依靠仲裁控制切換端口與SDRAM 之間交換數據, 數據交換采用DMA 的方式,流經SDRAM 的數據流如圖1 所示。數據由C 端口輸入,A 端 口輸出,B 端口作為與DSP 的數傳通道。

采用Stratix系列FPGA器件實現可訪問三口RAM操作的SDRAM控制器設計

圖 1 三端口SDRAM 控制器的數據流向

這里透明型是指外部設備訪問 SDRAM 時,只需簡單讀寫而不需要進行其它復雜的管 理操作,外部設備可以通過SDRAM 控制器將SDRAM 空間視為一個普通的同步三口RAM 操作。但是這種結構不能靈活的實現地址跳變的訪問,隨機訪問的帶寬很低,三個端口再次 平均分配SDRAM 的帶寬會進一步降低吞吐性能。所以,系統設計中采用了非透明型的設 計,非透明的意思是指:外部設備為了訪問SDRAM 的數據,不但要進行數據的讀寫操作,而且需要進行寄存器設置、控制信號調整等其它操作。非透明型設計的靈活性較差,但是可 以根據具體的使用環境對功能進行簡化,并且將一部分控制操作轉交給軟件完成,所以實現 相對比較簡單,而且更加穩定可靠。

4 SDRAM 控制器的基本結構及工作原理

三端口非透明型 SDRAM 控制器的結構框圖如圖2 所示。A、B、C 三個端口的內部結 構完全相同,都包含一個雙口RAM(作為數據乒乓緩存),一個DMA 控制器。外部設備可以 通過端口讀寫DPRAM 中的數據,也可以寫DMA 控制寄存器。DMA 控制器的功能是根據 DMA 控制寄存器內的設置在DPRAM 和SDRAM 之間交換數據,當DSP 或者其它外部設備 設置了寄存器后,DMA 控制器向仲裁和數據分配器發出訪問SDRAM 的請求,然后開始一 次DMA 操作。仲裁和數據分配器的功能是決定當前哪一個端口具有訪問SDRAM 的權利。 SDRAM 時序控制器則負責產生操作SDRAM 必須的命令碼,并且傳遞數據。

采用Stratix系列FPGA器件實現可訪問三口RAM操作的SDRAM控制器設計

圖 2 三端口非透明型SDRAM 控制器的結構

外部設備與 SDRAM 之間通過一個雙口RAM(DPRAM)進行隔離。外部設備可以直 接讀寫DPRAM 的右側端口,也可以通過設置DMA 寄存器來啟動DPRAM 左側端口與 SDRAM 之間的DMA 操作。SDRAM 控制器的基本工作原理如下:

(1)寫操作:當外部設備需要向SDRAM 寫數據時,首先將數據存入DPRAM,然后 啟動一個從DPRAM 到SDRAM 的DMA。

(2)讀操作:當外部設備需要讀SDRAM 時,首先啟動一個從SDRAM 到DPRAM 的 DMA,等DMA 結束以后再從DPRAM 讀取數據。

(3)基于扇區的長度和地址控制:為了簡化DMA 控制器以及其它的控制邏輯,DPRAM 和SDRAM 之間的DMA 傳輸不是任意長度任意地址的DMA 傳輸,而是以扇區為基本數傳 單位。這里定義一個扇區的長度為SDRAM 中的一行(或者叫一個page)。每個DPRAM 則 順序劃分為2 個扇區。每次DMA 操作完成一個完整扇區數據的搬移。

(4)仲裁控制:當兩個或是三個DMA 控制器同時請求訪問SDRAM 時,由仲裁控制 器根據優先級規則進行控制。設計中采用了輪換優先級的方式,即:剛剛完成了一次DMA 操作的端口具有比較低的優先級,當前具有最高優先級的端口有權占用SDRAM 直至本次 DMA 結束,這樣,就可以三個端口分時占用DMA 通道,保證三個端口之間平均的分配 SDRAM 的帶寬。

5 仲裁器的設計

仲裁及數據分配器的設計的核心問題是輪換優先級的設計。必須保證三個端口分時占用 DMA 通道,保證平均分配帶寬。采用有限狀態機作為仲裁器的控制邏輯,這樣既可以保證 優先級設計的穩定性,又可以確保仲裁器判決的實時性,有限狀態機的設計如圖3 所示。

采用Stratix系列FPGA器件實現可訪問三口RAM操作的SDRAM控制器設計

圖 3 仲裁器的有限狀態機設計

設計中最復雜的情況是:一個通道訪問SDRAM 的同時(如A 通道),另外兩個通道同時 申請下一次訪問SDRAM(如B、C 通道),這樣就需要有一個標志位,用它來記錄上一次訪 問過SDRAM 的通道,在下一次仲裁時把它排除在外,直到再下一次仲裁時才予以考慮。

每次DMA 結束后,都自動返回到IDLE 的狀態,通過request 標志位,上次DMA 通道記錄 位來判斷此次訪問SDRAM 的通道。具體設計如下:

設初始狀態下,默認A 端口具有最高優先級,然后A、B、C 三個端口具有輪換優先級;

設置一個標志位 old_request,表示上一次響應的端口,“100”A 端口響應,“010”B 端 口響應,“001”C 端口響應;

利用一個標志位 request[2:0]作為狀態翻轉的標志;

利用標志位 two_request,three_request 作為進入兩個或三個端口同時請求狀態的標志, two_request = ABC + ABC + ABC,three_request = ABC。

6 結論

本文利用 FPGA 設計并實現了一個相對專用的三端口非透明型SDRAM 控制器。本文 作者創新點在于:通過設計一個帶輪換優先級設置的多端口SDRAM 控制器,采用乒乓的 DMA 傳輸機制,將復雜的SDRAM 訪問虛擬成一個簡單的三口RAM 的訪問,具有訪問簡 單、控制靈活、傳輸帶寬大等特點。已在某雷達信號存儲與預處理系統中成功應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21957

    瀏覽量

    614037
  • 控制器
    +關注

    關注

    114

    文章

    16963

    瀏覽量

    182891
  • 雷達
    +關注

    關注

    50

    文章

    3075

    瀏覽量

    119399
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    SDRAM與雙RAM數據轉移接口控制電路

    和后仿真。以上介紹了一種應用于通用微處理系統中的SDRAM與雙RAM之間的數據轉移接口控制電路,由VHDL語言設計,用Xilinx公司4
    發表于 06-10 05:00

    如何使用Verilog實現基于FPGASDRAM控制器

    本文提出了一種基于FPGASDRAM控制器的設計方法,并用Verilog給于實現,仿真結果表明通過該方法設計實現
    發表于 04-15 06:46

    基于FPGA端口非透明型SDRAM控制器

    本文采用Altera 公司的Stratix 系列FPGA 實現了一個端口非透明型
    發表于 03-03 14:37 ?11次下載

    SDRAM控制器的設備與VHDL實現

    摘要: 介紹了SDRAM的存儲體結構、主要控制時序和基本操作命令,并且結合實際系統,給出了一種用FPGA實現的通用
    發表于 06-20 12:51 ?961次閱讀
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設備與VHDL<b class='flag-5'>實現</b>

    使用Verilog實現基于FPGASDRAM控制器

    摘 要:介紹了SDRAM的特點和工作原理,提出了一種基于FPGASDRAM控制器的設計方法,使用該方法實現
    發表于 06-20 13:04 ?2334次閱讀

    采用FPGA與IP來實現DDR RAM控制和驗證的方法

    DDR SDRAM的接口特性:其輸入輸出引腳與SSTL-Ⅱ電氣特性兼容,內部提供了DDR觸發、鎖相環等硬件資源。使用這些特性,可以比較容易地設計性能可靠的高速DDR RAM控制器。本
    發表于 11-24 16:00 ?4247次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>FPGA</b>與IP來<b class='flag-5'>實現</b>DDR <b class='flag-5'>RAM</b><b class='flag-5'>控制</b>和驗證的方法

    SDRAM控制器的設計

    邏輯復雜,接口方式與普通的存儲差異很大。為了解決這個矛盾,需要設計專用的SDRAM控制器,使用戶像使用SRAM -樣方便的使用SDRAM??紤]到
    發表于 11-28 19:51 ?5次下載
    <b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設計

    基于FPGA器件實現對DDR SDRAM控制

    實現數據的高速大容量存儲是數據采集系統中的一項關鍵技術。本設計采用Altera 公司Cyclone系列FPGA 完成了對DDR SDRAM
    的頭像 發表于 08-14 08:00 ?4010次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>器件</b><b class='flag-5'>實現</b>對DDR <b class='flag-5'>SDRAM</b>的<b class='flag-5'>控制</b>

    FPGA讀寫SDRAM的實例和SDRAM的相關文章及一些SDRAM控制器設計論文

    本文檔的主要內容詳細介紹的是FPGA讀寫SDRAM的實例和SDRAM的相關文章及一些SDRAM控制器設計論文主要包括了:
    發表于 12-25 08:00 ?57次下載
    <b class='flag-5'>FPGA</b>讀寫<b class='flag-5'>SDRAM</b>的實例和<b class='flag-5'>SDRAM</b>的相關文章及一些<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設計論文

    如何使用FPGA設計SDRAM控制器

    針對SDRAM 操作繁瑣的問題,在對SDRAM 存儲和全頁突發式操作進行研究的基礎上,提出一種簡易SD
    發表于 12-18 16:13 ?6次下載
    如何使用<b class='flag-5'>FPGA</b>設計<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>

    基于FPGA的DDR3SDRAM控制器設計及實現簡介

    基于FPGA的DDR3SDRAM控制器設計及實現簡介(arm嵌入式開發平臺PB)-該文檔為基于FPGA的DDR3
    發表于 07-30 09:05 ?7次下載
    基于<b class='flag-5'>FPGA</b>的DDR3<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設計及<b class='flag-5'>實現</b>簡介

    基于FPGASDRAM控制器的設計與實現簡介

    基于FPGASDRAM控制器的設計與實現簡介(嵌入式開發工程師和基層公務員)-該文檔為基于FPGAS
    發表于 07-30 09:34 ?11次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>的設計與<b class='flag-5'>實現</b>簡介

    基于FPGA的DDR3SDRAM控制器設計及實現

    基于FPGA的DDR3SDRAM控制器設計及實現(嵌入式開發式入門)-該文檔為基于FPGA的DDR3SD
    發表于 07-30 13:07 ?37次下載
    基于<b class='flag-5'>FPGA</b>的DDR3<b class='flag-5'>SDRAM</b><b class='flag-5'>控制器</b>設計及<b class='flag-5'>實現</b>

    實時視頻SDRAM控制器FPGA設計與實現.zip

    實時視頻SDRAM控制器FPGA設計與實現
    發表于 12-30 09:21 ?3次下載

    fpgaram的使用

    FPGARAM的使用主要涉及配置和使用雙端口RAM模塊。雙端口RAM的特點是有兩組獨立的端口,可以對同一存儲塊進行讀寫
    的頭像 發表于 03-15 13:58 ?1401次閱讀