當(dāng)前位置:首頁(yè) > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]為了在嵌入式系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)對(duì)SDRAM存儲(chǔ)器的訪問(wèn),本文提出了一種基于AMBA-AHB總線規(guī)范的SDRAM控制器設(shè)計(jì)方案。方案首先簡(jiǎn)要介紹了AMBA總線規(guī)范,然后在完成整個(gè)存儲(chǔ)控制器的整體框架設(shè)計(jì)的基礎(chǔ)上給出了SDRAM控制器的實(shí)現(xiàn)原理以及詳細(xì)的子模塊劃分。整個(gè)控制器的設(shè)計(jì)已用Verilog HDL語(yǔ)言實(shí)現(xiàn)并通過(guò)了Modelsim仿真和FPGA驗(yàn)證。仿真結(jié)果表明所設(shè)計(jì)的控制器符合SDRAM內(nèi)部指令操作,并且滿足了嚴(yán)格的時(shí)序要求。

0 引言

隨著大規(guī)模集成電路和高速、低功耗、高密度存儲(chǔ)技術(shù)的發(fā)展,SDRAM動(dòng)態(tài)存儲(chǔ)器因容量大、速度快、價(jià)格低廉等優(yōu)點(diǎn),現(xiàn)已成為PC內(nèi)存的主流。然而SDRAM存儲(chǔ)器內(nèi)部控制邏輯十分復(fù)雜,時(shí)序要求也非常嚴(yán)格,因此需要設(shè)計(jì)專門(mén)的SDRAM 控制器來(lái)實(shí)現(xiàn)系統(tǒng)對(duì)SDRAM的訪問(wèn)。

存儲(chǔ)控制器是嵌入式微處理器中AMBA-AHB總線與片外存儲(chǔ)設(shè)備之間的接口,完成總線主設(shè)備(CPU或DMA)與片外存儲(chǔ)設(shè)備(SDRAM或SRAM)的數(shù)據(jù)傳輸,其功能與性能決定著嵌入式微處理器所支持的外部存儲(chǔ)器的類型以及外部存儲(chǔ)器的訪問(wèn)速度,進(jìn)而決定著整個(gè)嵌入式系統(tǒng)的處理速度。AMBA總線規(guī)范成為嵌入了式微處理器內(nèi)片上總線的標(biāo)準(zhǔn),設(shè)計(jì)基于AMBA總線標(biāo)準(zhǔn),支持嵌入式系統(tǒng)常用存儲(chǔ)器類型的存儲(chǔ)控制器IP具有非常大的現(xiàn)實(shí)意義。

1 AMBA 總線簡(jiǎn)介

典型的基于AMBA總線的微控制器架構(gòu)如圖1所示。

 

 

它包含一個(gè)作為系統(tǒng)骨架的AHB(Advanced High-Performance Bus)或ASB總線,可實(shí)現(xiàn)CPU或DMA模塊與片外存儲(chǔ)器之間的大量數(shù)據(jù)通信,以獲得大的帶寬。

另外,在這條高性能總線上還有一個(gè)橋接器以連接低帶寬的APB,而在APB上連接著大多數(shù)的系統(tǒng)外設(shè)。用戶可以各自獨(dú)立設(shè)計(jì)基于這個(gè)規(guī)范的微處理器以及外圍IP,提高了系統(tǒng)的開(kāi)發(fā)效率及模塊的可重用型[6].

其中,AHB 總線是一種支持多總線主機(jī)的高性能總線,用于高性能、高時(shí)鐘頻率的系統(tǒng),它保證了處理器與片外存儲(chǔ)器的有效連接。一個(gè)完整的AHB傳輸過(guò)程可以分為地址傳輸階段和數(shù)據(jù)傳輸階段,地址傳輸階段傳輸?shù)刂泛涂刂菩盘?hào),而數(shù)據(jù)傳輸階段傳輸?shù)氖亲x寫(xiě)數(shù)據(jù)和響應(yīng)信號(hào)。AHB 總線支持流水線傳輸,也就是說(shuō)在前一個(gè)數(shù)據(jù)傳輸階段可以同時(shí)進(jìn)行下一個(gè)地址傳輸階段,前后不同的傳輸階段可以重疊起來(lái)以提高系統(tǒng)的數(shù)據(jù)處理速度。

2 SDRAM 工作原理

SDRAM 是一種高速高容量同步動(dòng)態(tài)存儲(chǔ)器,相比于SRAM 等靜態(tài)存儲(chǔ)器具有容量大、速度快、價(jià)格低廉等優(yōu)點(diǎn),成為圖像處理中常用的數(shù)據(jù)存儲(chǔ)器。但因SDRAM存儲(chǔ)結(jié)構(gòu)的特殊性,需要對(duì)SDRAM不斷進(jìn)行預(yù)充電、刷新等操作以保持?jǐn)?shù)據(jù)不丟失。SDRAM 內(nèi)部的操作是通過(guò)總線命令實(shí)現(xiàn)的,命令由RASN、CASN 和WEN信號(hào)聯(lián)合產(chǎn)生,如表1所示(H表示高電平,L表示低電平)。

 

 

SDRAM上電后必須按一種確定的方式初始化。在上電穩(wěn)定后100 μs時(shí)間內(nèi)存儲(chǔ)器不接受除NOP以外的任何命令。當(dāng)100 μs過(guò)后,通過(guò)控制器向SDRAM所有bank 發(fā)出預(yù)充電(Precharge)命令[8],使SDRAM 所有bank進(jìn)入待機(jī)狀態(tài)。之后,要對(duì)SDRAM 連續(xù)執(zhí)行兩個(gè)自動(dòng)刷新操作,使SDRAM 芯片內(nèi)部的刷新及計(jì)數(shù)器進(jìn)入正常運(yùn)行狀態(tài)。兩個(gè)刷新周期完畢之后,開(kāi)始對(duì)SDRAM 的模式寄存器(Mode Register)進(jìn)行操作,模式寄存器用來(lái)決定SDRAM將以何種工作模式工作。整個(gè)初始化過(guò)程如圖2所示。

 

 

3 SDRAM 控制器與AMBA-AHB 總線的關(guān)系

本設(shè)計(jì)基于AMBA-AHB總線的slave模塊,SDRAM控制器處在片內(nèi)AHB 總線與片外存儲(chǔ)設(shè)備之間,作為一個(gè)從機(jī)掛在AHB總線上。它一邊需要通過(guò)AHB總線接口模塊與AHB總線通信,因此必須符合AHB總線標(biāo)準(zhǔn);另一邊又需要給外部存儲(chǔ)設(shè)備提供控制信號(hào),以實(shí)現(xiàn)對(duì)外部存儲(chǔ)設(shè)備的讀寫(xiě)操作。控制器接收來(lái)自總線主設(shè)備的符合AMBA-AHB 總線規(guī)范的數(shù)據(jù)傳輸請(qǐng)求,產(chǎn)生正確的讀寫(xiě)控制信號(hào)給SDRAM 存儲(chǔ)器,以完成總線的數(shù)據(jù)傳輸請(qǐng)求。

AMBA 2.0總線為嵌入式微控制器定義了一套片上總線標(biāo)準(zhǔn),因此本設(shè)計(jì)是獨(dú)立設(shè)計(jì)的基于該規(guī)范的外圍IP.[!--empirenews.page--]

4 SDRAM 控制器系統(tǒng)設(shè)計(jì)架構(gòu)

SDRAM 控制器與AHB 總線接口在整個(gè)系統(tǒng)中的連接關(guān)系如圖3所示。

 

 

4.1 AHB-slave總線接口電路

AHB-slave總線接口電路用來(lái)實(shí)現(xiàn)SDRAM 控制邏輯與AHB-master之間的信號(hào)傳輸。

按照AMBA 總線規(guī)范要求,AHB 總線從設(shè)備(slave)在總線時(shí)鐘上升沿,HREADY信號(hào)(由從設(shè)備發(fā)出)為高的情況下,必須鎖存來(lái)自AHB總線的總線控制信號(hào)、數(shù)據(jù)信號(hào)、地址信號(hào)等,以供內(nèi)部譯碼模塊以及其他各模塊使用。

4.2 總線地址譯碼

AHB 總線可以掛多個(gè)從設(shè)備,如圖3 所示的從機(jī)A,從機(jī)B.因此在一次讀寫(xiě)操作中,需要對(duì)來(lái)自總線的讀寫(xiě)地址進(jìn)行譯碼,以判斷總線是對(duì)哪個(gè)從設(shè)備進(jìn)行訪問(wèn),并產(chǎn)生相應(yīng)的內(nèi)部片選信號(hào)。

4.3 SDRAM控制器

SDRAM 控制器由5個(gè)模塊組成:SDRAM 控制器模塊、控制接口模塊、命令解析模塊、地址數(shù)據(jù)復(fù)用總線模塊和數(shù)據(jù)通路模塊。SDRAM 控制器模塊是頂層模塊,通過(guò)例化其他4個(gè)子模塊將其連成一個(gè)整體。

4.3.1 控制接口模塊

控制接口模塊對(duì)來(lái)自AHB 總線信號(hào)和SDRAM 控制寄存器的信號(hào)解碼并寄存,傳送已經(jīng)解碼的NOP、WRITEA、READA、REFRESH、PRECHARGE 和LOAD_MODE命令和ADDR給命令解析模塊。

控制接口模塊還含有一個(gè)用于給命令解析模塊產(chǎn)生周期刷新命令的刷新電路,用于給命令模塊發(fā)送刷新請(qǐng)求。收到命令模塊的刷新請(qǐng)求后,減法計(jì)數(shù)器重新裝入數(shù)值,重復(fù)以上過(guò)程。

本設(shè)計(jì)所使用的MT48LC16M4A2 型號(hào)SDRAM 存儲(chǔ)器具有每64 ms刷新4 096次的要求,因此由64 ms/4 096=15.625 09 μs知,器件必須至少每15.625 09 μs刷新一次。假如存儲(chǔ)器和SDRAM控制器工作在100 MHz的時(shí)鐘周期下,那么刷新間隔周期的最大數(shù)值是15.625 μs/0.01 μs=1 562 d.

4.3.2 命令解析模塊

命令解析模塊接收控制接口模塊輸出的已經(jīng)解碼的命令和周期性輸出的刷新請(qǐng)求,產(chǎn)生合適的命令給SDRAM器件。從刷新控制邏輯電路發(fā)出的刷新請(qǐng)求比主機(jī)接口的命令的優(yōu)先級(jí)別高,因此模塊還含有一個(gè)簡(jiǎn)易的仲裁電路,用于仲裁主機(jī)的命令和刷新控制邏輯所產(chǎn)生的刷新請(qǐng)求。

在仲裁電路已經(jīng)接受主機(jī)命令后,命令被送到模塊的命令發(fā)生器部分,命令模塊使用3個(gè)移位寄存器來(lái)產(chǎn)生命令之間的時(shí)序,一個(gè)移位寄存器用于控制ACT 命令;第二個(gè)用于控制讀或?qū)懨畎l(fā)出的時(shí)間;第三個(gè)用于對(duì)命令的持續(xù)時(shí)間定時(shí),這樣仲裁其就可以判斷最近請(qǐng)求的操作是否已經(jīng)完成。

命令解析模塊所產(chǎn)生的輸出信號(hào)OE用于控制數(shù)據(jù)通路模塊的輸入數(shù)據(jù)通路的三態(tài)緩沖。

4.3.3 地址數(shù)據(jù)復(fù)用總線模塊

該模塊實(shí)現(xiàn)SDRAM的地址復(fù)用,地址的行部分在ACT(RAS)命令時(shí)復(fù)用到SDRAM輸出的A[11:0],地址的列部分在讀(CAS)或?qū)懨顣r(shí)復(fù)用到SDRAM地址線上。

4.3.4 數(shù)據(jù)通路模塊

數(shù)據(jù)通路模塊提供了SDRAM和主機(jī)之間的數(shù)據(jù)接口,負(fù)責(zé)SDRAM控制器與外部SDRAM存儲(chǔ)器之間的數(shù)據(jù)交換,具體說(shuō)就是在對(duì)SDRAM寫(xiě)操作時(shí)將來(lái)自AHB總線的數(shù)據(jù)放到外部數(shù)據(jù)線上,在對(duì)SDRAM讀操作時(shí),將來(lái)自SDRAM的數(shù)據(jù)正確送到AHB總線上。

5 設(shè)計(jì)實(shí)現(xiàn)與仿真結(jié)果

本文使用Micron 公司提供的型號(hào)為MT48LC16M4A2 的Verilog 仿真模型進(jìn)行仿真驗(yàn)證,證明了設(shè)計(jì)的正確性。仿真結(jié)果如圖4,圖5所示,圖4是SDRAM寫(xiě)操作的仿真時(shí)序圖,即將AHB總線控制操作轉(zhuǎn)化成SDRAM 寫(xiě)操作指令;圖5 表示的是將寫(xiě)入SDRAM的數(shù)據(jù)連續(xù)讀出的仿真時(shí)序。

 

 

6 結(jié)語(yǔ)

本方案設(shè)計(jì)了一個(gè)基于AMBA-AHB 總線的SDRAM控制器,將AMBA-AHB 總線的控制操作轉(zhuǎn)化成了符合SDRAM 操作規(guī)范的控制指令,最后的仿真波形證實(shí)了該設(shè)計(jì)的正確性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉