《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高速SDRAM控制器的視頻應用
基于FPGA的高速SDRAM控制器的視頻應用
摘要: SDRAM(同步動態存儲器)是一種應用廣泛的存儲器,具有容量大、數據讀寫速度快、價格低廉等優點,特別適合那些需要海量存儲器的應用領域,例如視頻方面。
關鍵詞: FPGA SDRAM 控制器
Abstract:
Key words :

0 引言

SDRAM(同步動態存儲器)是一種應用廣泛的存儲器,具有容量大、數據讀寫速度快、價格低廉等優點,特別適合那些需要海量存儲器的應用領域,例如視頻方面。

這里有一個視頻項目要求將非標準的ITU-R BT.656視頻格式的數據轉換成VGA格式,直接用于顯示器顯示。如圖1,輸入的視頻格式是非標準的ITU-R BT.656格式,圖像分辨率是1280×1024,幀速是15幀/秒,每一個像素點是24bit;輸出的視頻格式是VGA格式,圖像分辨率是1280× 1024,幀速是60幀/秒,每一個像素點還是24bit。

 

本項目使用SDRAM來存儲視頻數據。在設計中,要求能夠將一幅完整的圖像(1280×1024×24bit)存儲在SDRAM中。并且要求讀寫突發長度是1280,即一行視頻數據(1280×24bit)。SDRAM突發長度最高只能達到256(即SDRAM芯片的一列的長度),為此需要使用FPGA專門實現一個SDRAM控制器。在控制器的設計中通過采用切換bank操作、自動預沖、集中刷新等技術實現了這種超長突發長度的數據讀寫。同樣通過適當地修改此控制器,可以實現任意突發長度的數據讀寫。

1 SDRAM基本特性

本設計中采用的SDRAM芯片的型號是MT48LC2M3282-7。SDRAM的主要操作包括初始化、讀寫和刷新操作。SDRAM的初始化操作過程如下:上電后等待100 μs;然后依次完成預沖,兩次刷新操作;接下來就可以配置寄存器了。至此整個初始化工作結束,SDRAM進入正常工作狀態。SDRAM進入正常工作狀態后,就可以根據命令來工作。這些命令包括:預沖(Precharge)和自動預沖(AutoPrecharge)、激活(Active)、讀 (read)、寫(write)、自動刷新(Auto Refresh)和自刷新(Self Refresh)等。根據本設計的需要,這里詳細介紹設計中相關的命令:自動預沖、激活、讀寫、自動刷新。自動預沖命令是SDRAM芯片在一次突發讀/寫結束后自動發出預沖命令,將讀寫的行關閉。它與預沖命令有著相同的功能,但是發起命令的方式不一樣。預沖命令是SDRAM控制器發起的命令,它需要占據 SDRAM的總線,在這段時間不能讀寫數據。而自動預沖命令是SDRAM自動的行為,不需要占據SDRAM的總線。這個命令是在發起讀寫命令時設置的。

激活命令是對SDRAM的某一行激活,這樣才能對這一行數據發起讀寫操作。讀寫命令是對某一激活的行進行突發讀寫操作。具體的突發讀寫的數據長度在初始化時配置寄存器時設置了。

刷新命令是對SDRAM內的數據完成再生的操作,因為SDRAM采用電容存儲數據,而電容存在漏電的現象,因此需要隔一段時間對電容作一次刷新(即重新充電),一般來說要求64ms內將SDRAM的所有行都刷一遍。SDRAM有兩種刷新命令:自動刷新和自刷新。自刷新是在芯片處于低功耗狀態下時才使用的方式,芯片內部自動完成刷新操作。自動刷新是控制器發起的刷新操作,它必須在SDRAM沒有激活行時才能進行刷新操作,而且需要占用一定的時間(大約 60~70ns)??刂破骺梢愿鶕枰x擇在何時刷新,即定時刷新,或集中刷新。定時刷新是隔一段時間就刷新一次;集中刷新是在某一段空閑時間內連續刷新若干次。這個只要保證在64 ms內將所有的行都刷一遍即可,具體的刷新方式可以根據自己的應用需要來設計。

2 SDRAM控制器的設計

2.1 SDRAM控制器的設計思路

SDRAM芯片完成一次讀寫操作由三個命令組成:激活、讀/寫、預沖。讀寫數據的突發長度往往是有限制的,在SDRAM芯片本身提供的突發長度最大只能達到一行的容量(256,即全頁突發模式)。這樣當一次讀寫突發長度結束后,如果需要發起下一次讀寫,就需要發預沖命令結束這一行,然后發激活命令開啟下一行。這樣才能開始寫下一次數據。因此,如果想要連續的數據讀寫,就必須想辦法節省激活和預沖命令。

激活命令通過切換Bank操作來完成。SDRAM有4個獨立的bank,每一個bank可以同時允許有一行激活,彼此并不會相互干擾。這樣的話,在同一時刻最多可以有4個行處于激活狀態。這就為節約激活時間提供了解決方案:在突發讀寫一個bank下的某一行時,可以在突發長度結束之前提前激活另一個 bank下的某一行。這樣當這個突發長度結束時就可以直接讀寫另一bank中被激活的行。預沖可以采用自動預沖方式來完成,不需要額外的預沖命令。

通過上述兩種操作方式可以完全實現超長突發長度的數據讀寫,本設計將SDRAM設置成突發長度為8,突發長度結束后采用自動預沖方式完成此行的預沖操作,具體設想如下:

在寫SDRAM時,先激活Bank0的第一行;發出帶自動預沖模式的寫操作;數據開始寫入這一行內;一段時間后(在突發長度結束之前)將Bank1的第一行激活;在Bank0的寫突發長度結束的同時,發出寫Bank1的命令,這樣接下來的數據就寫入Bank1的第一行中;而由于在寫SDRAM的Bank0 時設置成自動預沖模式,所以SDRAM會在Bank0的寫操作結束后自動預沖,經過tRP(預沖時間)后,這一Bank自動回到idle狀態。同樣 Bank1處于寫突發長度時將Bank2的第一行激活,在Bank1的寫突發長度結束的同時發出寫Bank2的命令……如此四個bank輪流工作,將數據均勻地分配到4個bank中。

對于這種超長的數據突發讀寫,完成一次讀寫操作所花費的時間比較多,例如讀寫時鐘是108MHz時,一次突發長度是1280的寫操作所花費的時間是11. 6 μs,即在這段時間內SDRAM的數據總線是不能被中斷的。因此采用集中刷新是最好的解決辦法。在突發讀寫結束后,會有一段比較長的空閑期(具體時間長度根據視頻數據的視頻中行消隱數據個數和讀寫時鐘決定),在這段時問內可以集中連續發出多個刷新命令,只需要保證在64ms內總的刷新次數達到了要求即可。

2.2 SDRAM控制器的實現

本設計中將SDRAM控制器分成4個子模塊:sdr_master主控模塊、sdr_ctrl命令模塊、sdr_sig譯碼模塊、sdr_data數據通路模塊,見圖2。sdr_master主控模塊根據外部的讀寫請求向sdr_ctrl命令模塊提供各種讀寫控制信號;sdr_ctrl命令模塊內部的控制狀態機會依此發出各種SDRAM讀寫控制命令;sdr_sig譯碼模塊會把sdr_ctrl輸出的控制命令譯碼成符合SDRAM接口的信號。此SDRAM 控制器的設計,最復雜的部分在于如何設計SDRAM的工作時序,即SDRAM何時激活,何時讀/寫,何時預沖,何時刷新。這些控制除了滿足SDRAM的工作特性外,還要滿足設計要求。因此,鑒于SDRAM控制的復雜性,一般都采用狀態機來控制。本設計中sdr_ctrl命令模塊包括兩個狀態機:初始化狀態機完成SDRAM的初始化;控制狀態機完成SDRAM的正常工作控制。下面分別詳述這兩個狀態機的設計。

 

初始化狀態機的結構見圖3。系統在上電(復位)后,處于i NOP狀態;當等待了100 μs后,狀態跳轉到i PRE,發出預沖命令;接著跳轉到i tRP等待;經過tRP時間后,狀態跳轉到i_AR1,發第一次刷新命令,然后在i_tRFC1等待tRFC時間后發第二次刷新命令,再等待tRFC;接下來轉到狀態i MRS,發裝載模式字命令,然后等待tMRD時間后初始化完成,進入i_ready狀態。至此初始化完成,SDRAM芯片就可以正常工作了。

 

控制狀態機的狀態跳變見圖4。此狀態機是為了滿足超長數據的連讀或連寫而特殊設計的。上電后處于c_idle狀態,當初始化完成后,控制狀態機才能開始正常工作。當外部要求進行讀寫操作時,會正式地啟動狀態機。此時狀態機跳變到c_ACT狀態,使SDRAM控制器發出激活命令;接下來兩個狀態 c_tRCD1、c_tRCD2是激活等待時間tRCD;然后狀態機根據外部是讀請求還是寫請求,來決定下一個狀態是發讀命令還是寫命令。下面以寫數據為例進行說明,讀數據的工作過程是一樣的。

 

當要求寫SDRAM時,控制狀態機的狀態由c_tRCD2跳變到c_WR狀態,發出寫命令。SDRAM控制器會在發寫命令的同時將本次突發數據的第一個數據送到總線上,接著是三個周期的狀態:c_tDAL1、c_DAL2、c_tDAL3,之后回到c_idle狀態。這樣完成了寫數據的一次循環,剛好需要 8個周期。在回到c_idle狀態后即可啟動下一次寫數據傳輸,這時狀態機跳到c_ACT狀態,發出激活另一個bank的某一行的命令,然后經過兩個周期后,此時上一次寫操作的數據突發長度剛好結束。下一個周期狀態變成c_WR,發下一次的寫命令,同時將這一次突發長度的第一個數據放到SDRAM數據總線上……如此循環,可以完成長度是1280的連續數據的寫入。這個循環如何結束呢?當發了最后一個突發寫命令后,狀態機回到c_idle時,即可停止循環,不再進入激活狀態??傊ㄟ^控制這個狀態機可以完成長度是8的倍數的連續數據讀寫??刂茽顟B機還有實現刷新操作的功能,當要求對SDRAM進行刷新操作時,控制狀態機的狀態會跳變到c_AR,SDRAM控制器會依此發出刷新命令。然后狀態機跳變到c_tRFC狀態等待刷新操作的結束。當刷新操作結束后,狀態機將恢復到c_idle。這樣就完成了一次刷新操作。如果需要多次刷新,就可以連續進行多次這樣的循環。

2.3 SDRAM控制器的綜合

本設計使用的SDRAM芯片是MT48LC2M3282,FPGA芯片是cyclone的EP1C6Q240C6。綜合工具是QuartusII 6.0。綜合的結果是邏輯單元使用了170個,占總資源的3%;工作頻率最高可以達到240.10 MHz,滿足項目要求。

3 代碼的仿真測試

本設計的仿真工具是Modelsim6.1f,部分仿真測試波形見圖5。圖中描述了讀一行數據的時序圖,在開始突發寫數據后,SDRAM的數據總線sdr_DQ上的數據沒有被中斷。這個表示整個設計達到了能夠支持超長數據突發讀寫功能,能滿足設計要求。

 

4 結束語

本文介紹了一種實現超長數據突發讀寫的設計。此設計采用切換Bank操作節約了激活命令所花費的時間;采用自動預沖命令節約了預沖命令所花費的時間;采用集中刷新完成了足夠的刷新操作。通過對上面操作的組合設計,能夠很好地完成超長數據的突發讀寫。在設計中,成功地實現了突發長度是1280的數據讀寫,滿足了項目需求。
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产亚洲欧美日韩一区二区| 欧美午夜视频在线| 91久久精品国产| 欧美日本视频在线| 亚洲免费观看高清完整版在线观看| 欧美精品久久天天躁| 香港成人在线视频| 亚洲精品国精品久久99热| 亚洲精品一区二区网址| 欧美精品日韩一区| 国产精品午夜av在线| 国产精品国产成人国产三级| 亚洲国产精品久久久久秋霞影院| 一区二区免费在线观看| 久久蜜桃av一区精品变态类天堂| 久久露脸国产精品| 黄色一区二区三区| 国产精品成人观看视频国产奇米| 国产精品高清在线| 欧美激情在线免费观看| 欧美日韩在线视频一区二区| 久久久99国产精品免费| 久久精品亚洲一区| 久久精品国产亚洲高清剧情介绍| 国产乱码精品一区二区三区五月婷| 午夜欧美精品| 一区二区三区国产在线| 国产精品xxxav免费视频| 欧美午夜视频| 国产日韩av高清| 亚洲国产日韩在线| 99成人免费视频| 欧美在线视频在线播放完整版免费观看| 午夜视频在线观看一区| 亚洲永久网站| 亚洲欧美日韩一区| 亚洲欧美日本日韩| 欧美日韩国产区| 另类酷文…触手系列精品集v1小说| 欧美黑人国产人伦爽爽爽| 亚洲理论在线| 免费h精品视频在线播放| 久久aⅴ国产紧身牛仔裤| 国产美女精品一区二区三区| 欧美一区三区二区在线观看| 欧美影院在线| 欧美在线一二三| 欧美激情成人在线视频| 久久精品青青大伊人av| 亚洲欧美变态国产另类| 亚久久调教视频| 欧美电影美腿模特1979在线看| 91久久久久久久久久久久久| 亚洲国产精品99久久久久久久久| 亚洲精品日日夜夜| 好看的亚洲午夜视频在线| 一区二区三区欧美激情| 蜜桃av噜噜一区二区三区| 18成人免费观看视频| 日韩一区二区久久| 国产精品久久久久久久久久尿| 亚洲美女视频网| 久久久噜噜噜久久中文字免| 欧美亚洲视频一区二区| 国产精品区二区三区日本| 一本到高清视频免费精品| 欧美午夜一区二区三区免费大片| 亚洲大黄网站| 国产在线不卡精品| 亚洲一区二区三区四区视频| 国产精品日韩在线| 蜜桃av一区二区三区| 一区二区日韩伦理片| 国产伦精品一区二区三区高清版| 国产精品亚洲一区二区三区在线| 国产亚洲一区在线播放| 久久久久久久久岛国免费| 在线一区欧美| 国产精品护士白丝一区av| 国产精品久久久久久久免费软件| 国产日韩欧美一二三区| 久久九九精品99国产精品| 欧美激情第六页| 久久久精品tv| 激情文学综合丁香| 免费一级欧美在线大片| 亚洲经典在线| 国产精品成人观看视频国产奇米| 欧美特黄a级高清免费大片a级| 欧美一级片一区| 好吊色欧美一区二区三区四区| 99视频一区二区| aa级大片欧美| 在线看不卡av| 亚洲夜间福利| 欧美伊人影院| 伊人精品成人久久综合软件| 国产欧美一区二区三区久久| 国产亚洲欧美一区二区三区| 久久这里有精品15一区二区三区| 欧美国产在线观看| 免费成年人欧美视频| 亚洲国产成人高清精品| 韩国av一区二区三区| 先锋影音国产精品| 国产精品v片在线观看不卡| 欧美视频在线观看免费网址| 亚洲国产精品va在线看黑人| 亚洲欧美日韩高清| 国产亚洲制服色| 亚洲毛片在线| 一本久道久久久| 欧美午夜精品久久久久久人妖| 狂野欧美一区| 亚洲欧美日韩电影| 国产亚洲精品久久飘花| 亚洲国产一区二区三区青草影视| 欧美精品一区二区三区高清aⅴ| 国产亚洲va综合人人澡精品| 久久福利精品| 欧美日韩高清在线观看| 久久精品二区亚洲w码| 亚洲综合成人在线| 亚洲精品一二三| 在线亚洲高清视频| 欧美四级在线| 国产一区二区三区在线播放免费观看| 亚洲国内在线| 欧美sm重口味系列视频在线观看| 国内精品嫩模av私拍在线观看| 亚洲欧美国产精品专区久久| 一本色道久久综合亚洲二区三区| 嫩模写真一区二区三区三州| 国产欧美另类| 国产日韩欧美夫妻视频在线观看| 亚洲人体一区| 亚洲免费视频成人| 国产精品视频导航| 欧美性大战久久久久久久蜜臀| 极品中文字幕一区| 国产一区av在线| 欧美色综合天天久久综合精品| 午夜久久电影网| 亚洲每日更新| 欧美亚洲在线播放| 亚洲毛片在线看| 国产欧美日韩伦理| 亚洲国产精品免费| 亚洲国产经典视频| 午夜精品久久久久久久久久久久久| 老鸭窝毛片一区二区三区| 日韩视频第一页| 久久久久久久久久看片| 国产欧美视频一区二区| 久久美女艺术照精彩视频福利播放| 国产精品久久久久久久久| 欧美色大人视频| 国产精品国产三级国产aⅴ浪潮| 国产精品欧美日韩| 国产视频一区在线观看| 亚洲国产欧美另类丝袜| 一区二区三区四区五区在线| 国产主播一区二区三区| 欧美在线视频二区| 亚洲黄色一区二区三区| 国产日本欧美一区二区三区在线| 亚洲视频网站在线观看| 精品电影在线观看| 欧美欧美在线| 欧美女同在线视频| 欧美性大战久久久久久久蜜臀| 国产精品国产三级国产普通话三级| 国产精品永久免费视频| 欧美国产日韩在线观看| 噜噜噜噜噜久久久久久91| 亚洲一区三区电影在线观看| ●精品国产综合乱码久久久久| 亚洲欧美日本在线| 欧美性大战久久久久| 欧美喷潮久久久xxxxx| 欧美成人精品福利| 亚洲你懂的在线视频| 国产精品国产三级国产专播品爱网| 欧美sm极限捆绑bd| 一区二区免费在线视频| 欧美日韩精品一区二区三区| 亚洲午夜精品网| 欧美jizzhd精品欧美巨大免费| 国产麻豆综合| 亚洲一区二区三区四区在线观看| 卡一卡二国产精品| 国产精品成av人在线视午夜片| 正在播放欧美一区| 国产日韩视频一区二区三区| 国产一区二区日韩精品欧美精品| 欧美日韩日日骚| 亚洲欧美视频在线| 欧美影院在线播放| 亚洲一区日韩| 国产精品国产自产拍高清av| 亚洲精品欧美| 欧美男人的天堂| 香蕉成人久久| 久久国产精品毛片| 亚洲国产成人午夜在线一区| 亚洲美女精品一区| 亚洲午夜性刺激影院| 欧美日韩免费在线观看| 久久国产一区| 欧美一区二区三区免费观看| 久久综合五月| 性欧美办公室18xxxxhd| 国产一区二区三区四区五区美女| 国产精品久久久久久久久动漫| 久久精品五月婷婷| 欧美黄色aa电影| 国产一区二区观看| 激情欧美丁香| 亚洲精品日韩激情在线电影| 欧美高清视频在线观看| 黄色一区二区三区四区| 亚洲精品久久久久久一区二区| 欧美日韩精品一本二本三本| 久久国产99| 欧美激情第一页xxx| 欧美日韩成人在线播放| 国产精品露脸自拍| 久久久久国产精品www| 亚洲欧洲另类国产综合| 免费毛片一区二区三区久久久| 亚洲免费观看在线观看| 国内综合精品午夜久久资源| 久久爱91午夜羞羞| 国产女人aaa级久久久级| 一区二区三区高清视频在线观看| 国产精品久久影院| 亚洲免费观看高清完整版在线观看熊| 欧美精品久久99久久在免费线| 欧美日韩高清在线一区| 欧美在线一二三四区| 午夜视频一区| 亚洲综合激情| 欧美日韩国产成人精品| 久久亚洲国产精品一区二区| 在线观看欧美激情| 久久裸体艺术| 欧美黑人国产人伦爽爽爽| 欧美国产日韩在线观看| 亚洲激情成人在线| 国外视频精品毛片| 午夜国产欧美理论在线播放| 欧美—级高清免费播放| 欧美日韩国内| 欧美高清视频在线观看| 国产情人节一区| 国产精品乱码人人做人人爱| 国内外成人免费激情在线视频网站| 好看的av在线不卡观看| 久久久久亚洲综合| 国产一区二区三区不卡在线观看| 欧美国产精品| 欧美区视频在线观看| 国产精品久久久久国产精品日日| 欧美精品久久久久久| 久久综合色8888| 亚洲免费影视第一页| 夜夜爽夜夜爽精品视频| 久久久噜噜噜久久| 麻豆精品一区二区综合av| 欧美日韩黄色一区二区| 国产欧美精品日韩区二区麻豆天美| 欧美成人精品| 欧美日韩视频在线一区二区| 亚洲精品久久久久久久久久久久久| 欧美午夜精品久久久| 欧美日韩三区四区| 亚洲香蕉成视频在线观看| 欧美在线三级| 国产精品夜色7777狼人| 国产欧美日韩视频一区二区三区| 国产精品自在欧美一区| 国产毛片精品视频| 免费成人在线视频网站| 欧美精品一区二区在线播放| 国产精品成人国产乱一区| 久久精品亚洲精品| 99精品久久免费看蜜臀剧情介绍| 黄色国产精品| 日韩亚洲视频在线| 国产精品国产三级欧美二区| 亚洲影院色无极综合| 一区二区三区四区精品| 一区二区三区**美女毛片| 国产乱码精品一区二区三区不卡| 国产日韩欧美制服另类| 久久久噜久噜久久综合| 欧美日韩一区二区国产| 日韩视频永久免费观看| 午夜亚洲性色福利视频| 久久影视精品| 亚洲理论电影网| 日韩亚洲欧美一区二区三区| 亚洲人www| 国产精品亚洲а∨天堂免在线| 免费看黄裸体一级大秀欧美| 午夜久久久久| 在线观看成人一级片| 99国产精品99久久久久久| 亚洲日本中文字幕免费在线不卡| 欧美色视频日本高清在线观看| 99这里只有久久精品视频| 国产精品福利av| 久久精品中文| 蜜臀a∨国产成人精品| 国产人成精品一区二区三| 国产精品第一页第二页第三页| 黄色国产精品一区二区三区| 国内精品久久国产| 欧美日韩国产一区| 国产精品男人爽免费视频1| 久久亚洲精品伦理| 亚洲激情专区| 亚洲国产精品第一区二区三区| 亚洲成人在线视频网站| 免费一级欧美在线大片| 亚洲一区二区精品在线观看| 欧美精品在线看| 正在播放亚洲一区|