當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹基于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),利用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)MMC2107與SDRAM接口電路。文中包括MMC2107組成結(jié)構(gòu)、SDRAM存儲(chǔ)接口結(jié)構(gòu)和SDRAM控制狀態(tài)機(jī)的設(shè)計(jì)。

    摘要:介紹基于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),利用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)MMC2107與SDRAM接口電路。文中包括MMC2107組成結(jié)構(gòu)、SDRAM存儲(chǔ)接口結(jié)構(gòu)和SDRAM控制狀態(tài)機(jī)的設(shè)計(jì)。

    關(guān)鍵詞:現(xiàn)場(chǎng)可編程門(mén)陣列 SDRAM EBI VHDL 狀態(tài)機(jī) K4S560832A

引言

在嵌入式系統(tǒng)中,微控制器中通常有一定容量的存儲(chǔ)器,用來(lái)存放程序和數(shù)據(jù),但由于片內(nèi)存儲(chǔ)器受器件規(guī)模和生產(chǎn)成本的制約,其容量通常不能滿(mǎn)足用戶(hù)實(shí)際需求,還需要使用半導(dǎo)體存儲(chǔ)器件來(lái)擴(kuò)展存儲(chǔ)空間。如果采用SDRAM進(jìn)行存儲(chǔ)擴(kuò)展,可以大幅度地降低系統(tǒng)設(shè)計(jì)成本;但SDRAM控制時(shí)序比較復(fù)雜,給系統(tǒng)設(shè)計(jì)帶來(lái)很大困難。為了方便使用SDRAM,實(shí)現(xiàn)嵌入式系統(tǒng)中存儲(chǔ)的大容量擴(kuò)展,本文介紹一種新穎的解決方案:采用FPGA技術(shù)和VHDL語(yǔ)言,實(shí)現(xiàn)MMC2107微控制器與SDRAM的接口設(shè)計(jì)。

1 SDRAM內(nèi)部結(jié)構(gòu)

SDRAM是一種具有同步接口的高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器。本文語(yǔ)選用的是三星公司生產(chǎn)的32M×8位SDRAM器件K4S560832A。K4S560832A存儲(chǔ)總?cè)萘?56M位,內(nèi)部分成4個(gè)全,每個(gè)體8M字節(jié),內(nèi)部結(jié)構(gòu)如圖1所示。

K4S560832A為了能滿(mǎn)足各種系統(tǒng)的使用要求,提供了時(shí)鐘頻率、猝發(fā)長(zhǎng)度、延時(shí)節(jié)拍等可編程參數(shù)。在芯片上電后可以通過(guò)地址線(xiàn)A12~A0配置,芯片只有在完成配置后才能進(jìn)入正常工作狀態(tài)。在具體操作SDRAM時(shí),首先,必須進(jìn)行初始化配置,即寫(xiě)模式寄存器,以便確定DRAM列選延遲節(jié)拍數(shù)、猝發(fā)類(lèi)型、猝發(fā)長(zhǎng)度等工作模式。然后通過(guò)ACT命令激活對(duì)應(yīng)地址的組,同時(shí)輸入行地址。最后,通過(guò)RD或WR命令輸入列地址,將相應(yīng)數(shù)據(jù)讀出或?qū)懭氲綄?duì)應(yīng)的地址。操作完成后,用相關(guān)命令中止讀或?qū)懖僮鳌T跊](méi)有操作的時(shí)候,每64ms必須對(duì)所有存儲(chǔ)單元刷新一遍(8192行),防止數(shù)據(jù)丟失。

圖1 K4S560832A內(nèi)部結(jié)構(gòu)

2 MMC2107組成結(jié)構(gòu)及外部總線(xiàn)接口

MMC2107是32位M-CORE系列MCU,是以M210microRISC核為CPU,最高系統(tǒng)時(shí)鐘可達(dá)33MHz;在MIPS。MMC2107是基于M210 CPU的、通用MCU系列中的第一個(gè)成員,具有很低的功耗;在主模式下,以最大系統(tǒng)時(shí)鐘運(yùn)行,并且片內(nèi)所有模塊全部處于運(yùn)行狀態(tài)時(shí),最大的工作電流為200mA,特別適合于由電池供電的應(yīng)用場(chǎng)合。MMC2107的組成框圖如圖2所示。

從圖2可以看出,MMC2107片內(nèi)除了M210核以外,主要還有128KB Flash、8KB SRAM、外部總線(xiàn)接口、時(shí)鐘模塊、復(fù)位模塊、M-CORE到IPBUS之間的接口、中斷控制器模塊、8位邊沿端口葦、2個(gè)可編程間隔定時(shí)器(PIT1和PIT2)、看門(mén)狗定時(shí)器WDT、2個(gè)定時(shí)器模塊(TIM1和TIM2)、串行外圍接口SPI、2個(gè)串行通信接口(SCI1和SCI2)、ADC模塊、多個(gè)通用的輸入/輸出信號(hào)、TAP控制器等功能及模塊。

MMC2107在主模式和仿真模式下,支持MCORE訪(fǎng)問(wèn)外部的存儲(chǔ)器或設(shè)備。這時(shí),M-CORE的本地總線(xiàn)(內(nèi)部總線(xiàn))擴(kuò)展到片外,由外部總線(xiàn)接口(EBI)負(fù)責(zé)控制M-CORE局部總線(xiàn)和外地址空間之間的信息傳送。EBI有23位地址總線(xiàn)A[22:0]和4個(gè)片選信號(hào)CS[3:0],使M-CORE的外部存儲(chǔ)存儲(chǔ)器地址空間可達(dá)32MB。EBI的數(shù)據(jù)傳送寬度可以是32位的,也可以是16位的,可以由片選模塊按4個(gè)片選通道分別予以設(shè)定,即片選通道0~3可各自編程選定。為了便于與各種速度的外設(shè)備相連,EB1在片選模塊的控制下,可以形成所需長(zhǎng)度的外總線(xiàn)周期。在EBI發(fā)起一個(gè)外部數(shù)據(jù)傳送以后,EBI驅(qū)動(dòng)并保持傳送所需的各種信號(hào),直到該總線(xiàn)周期結(jié)束。使EBI結(jié)束現(xiàn)行總線(xiàn)周期的方法有兩種:EBI收到了由外邏輯發(fā)來(lái)的傳送響應(yīng)信號(hào)TA或TEA,或者收到了內(nèi)部傳送響應(yīng)信號(hào),片選模塊可以為4個(gè)片選通道分別選擇總線(xiàn)周期結(jié)束的方法。

圖2 MMC2107組成框圖

3 FLEX10K系列FPGA

隨著深亞微米VLSI技術(shù)的迅速發(fā)展,F(xiàn)PGA/CPLD等可編程器件的資源有極大的發(fā)展。尤其是FPGA,器件的集成度已達(dá)到上千萬(wàn)門(mén),系統(tǒng)工作頻率已達(dá)到幾百M(fèi)Hz。FLEX10K系列FPGA是工業(yè)界第一個(gè)嵌入式的可編程邏輯器件。由于其具有高密度、低成本、低功率等特點(diǎn),所以脫穎而出成為當(dāng)今Altera CPLD中應(yīng)用前景最好的器件系列。到目前為止,F(xiàn)LEX 10K系列已經(jīng)推出了FLEX10K、FLEX10KA、FLEX10KB、FLEX 10KV和FLEX10KE等5種分支系列,其集成度也達(dá)到前所未有的250 000門(mén)。FLEX10K主要由嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速布線(xiàn)通道(FastTrack)和I/O單元組成,具有如下特點(diǎn):

①片上集成了實(shí)現(xiàn)宏函數(shù)的嵌入式陣列和實(shí)現(xiàn)普通函數(shù)的邏輯陣列;

②高密度,具有10 000~250 000個(gè)可用門(mén);

③支持多電壓(multivolt)I/O接口,低功耗,遵守全PCI總線(xiàn)規(guī)定,內(nèi)帶JTAG邊界掃描測(cè)試電路;

④通過(guò)外部EPROM、集成控制器或JTAG接口實(shí)現(xiàn)在電路可重構(gòu)(ICR);

⑤快速、可預(yù)測(cè)連線(xiàn)延時(shí)的快速通道連續(xù)式布線(xiàn)結(jié)構(gòu);

⑥實(shí)現(xiàn)高速、多輸入邏輯函數(shù)的專(zhuān)用級(jí)聯(lián)鏈;

⑦增強(qiáng)功能的I/O引腳,每個(gè)引腳都有一個(gè)獨(dú)立的三態(tài)輸出使能控制,都有漏極開(kāi)路選擇;

⑧具有快速建立時(shí)間和時(shí)鐘到輸出延時(shí)的外部寄存器;

⑨多種封裝方式可任意選擇。

本文所采用的FLEX 10K系列器件是FLEX 10KA EPF10K30AQC240引腳器件。

圖3 SDRAM存儲(chǔ)系統(tǒng)基本結(jié)構(gòu) 圖4 SDRAM存儲(chǔ)器初始化狀態(tài)機(jī)

4 MMC2107微控制器SDRAM接口設(shè)計(jì)

本文介紹MMC2107外部SDRAM存儲(chǔ)系統(tǒng)的實(shí)際存儲(chǔ)容量為32M×32位,使用4片三星公司生產(chǎn)的K4S560832A存儲(chǔ)器芯片。系統(tǒng)MMC2107支持對(duì)存儲(chǔ)單元的讀寫(xiě)和刷新。MMC2107對(duì)讀寫(xiě)存儲(chǔ)器的讀寫(xiě)以32位單位進(jìn)行(數(shù)據(jù)寬度32位),每次讀寫(xiě)由外部決定訪(fǎng)存周期。采用分散刷新方式,7.8μs執(zhí)行1次自動(dòng)刷新命令;如果長(zhǎng)時(shí)間沒(méi)有訪(fǎng)存操作,自動(dòng)進(jìn)入低功耗模式。

4.1 SDRAM存儲(chǔ)接口結(jié)構(gòu)

本文使用了1片F(xiàn)PGA可編程器件來(lái)設(shè)計(jì)SDRAM控制接口(下文稱(chēng)為SDRAM控制器),SDRAM控制器接受MCU的寫(xiě)、讀命令。由于K4S560832A時(shí)鐘頻率為133MHz,SDRAM要求在64ms內(nèi)刷新8192行數(shù)據(jù),因此該器件每間隔7.8μs執(zhí)行一次自動(dòng)刷新命令,計(jì)數(shù)器數(shù)值應(yīng)小于7.8μs×133MHz=1037.4。當(dāng)計(jì)數(shù)器計(jì)滿(mǎn)1037次時(shí),內(nèi)部設(shè)置一個(gè)刷新定時(shí)器給出刷新命令,由SDRAM內(nèi)部狀態(tài)控制器產(chǎn)生對(duì)K4S460832A的相應(yīng)操作命令序列。數(shù)據(jù)線(xiàn)不通過(guò)SDRAM控制器,4片SDRAM各輸出1字節(jié)寬度的數(shù)據(jù)。SDRAM存儲(chǔ)系統(tǒng)基本結(jié)構(gòu)如圖3所示。

圖5 SDRAM存儲(chǔ)器讀狀態(tài)機(jī)及時(shí)序關(guān)系

    4.2 SDRAM控制狀態(tài)機(jī)設(shè)計(jì)

SDRAM狀態(tài)機(jī)用來(lái)實(shí)現(xiàn)其初始化、命令仲裁、單字讀/寫(xiě)、猝發(fā)讀/寫(xiě)、自動(dòng)刷新和自刷新操作。

(1)存儲(chǔ)器器件初始化

存儲(chǔ)器初始化過(guò)程嚴(yán)格按照K4S560832A上電順序要求,對(duì)器件完成初始化設(shè)置。上電后延時(shí)200μs后對(duì)所有體進(jìn)行預(yù)充電,計(jì)數(shù)器數(shù)值=200μs×133MHz=26 000次。然后,給出兩個(gè)自動(dòng)刷新命令,進(jìn)行模式設(shè)置,初始化結(jié)束后進(jìn)入空閑狀態(tài)T0,等待對(duì)存儲(chǔ)器的訪(fǎng)問(wèn)命令。其過(guò)程狀態(tài)如圖4所示。

(2)命令仲裁

完成存儲(chǔ)器上電初始化后,SDRAM進(jìn)入空閑態(tài)T0,在該狀態(tài)進(jìn)行命令仲裁。由于讀寫(xiě)命令來(lái)自MCU,在同一時(shí)刻只能有一個(gè)有效,它們之間不需要仲裁。讀寫(xiě)命令和刷新命令的仲裁原則為先來(lái)先服務(wù),同時(shí)到達(dá)時(shí)讀寫(xiě)優(yōu)先。若長(zhǎng)時(shí)間沒(méi)有訪(fǎng)問(wèn)請(qǐng)求(SDRAM控制狀態(tài)機(jī)內(nèi)部定時(shí)器探測(cè)),則令存儲(chǔ)器進(jìn)入低功耗模式。在存儲(chǔ)器進(jìn)入低功耗模式后,讀寫(xiě)命令可以把狀態(tài)從低功耗模式拉出,而自動(dòng)刷新請(qǐng)求則被屏蔽。


    (3)存儲(chǔ)器讀

由于嵌入式系統(tǒng)時(shí)鐘頻率較低,置存儲(chǔ)器讀延時(shí)節(jié)拍數(shù)(CL)為“2”,讀操作由四個(gè)狀態(tài)組成。由于存儲(chǔ)器件讀操作分為單字讀和猝發(fā)讀兩種方式,因此,設(shè)計(jì)一個(gè)計(jì)數(shù)器來(lái)區(qū)分兩種讀操作,并用該計(jì)數(shù)器定義猝發(fā)讀的長(zhǎng)度。當(dāng)計(jì)數(shù)器=0時(shí),進(jìn)行單字讀操作;當(dāng)計(jì)數(shù)器≠0時(shí),進(jìn)行猝發(fā)讀操作,計(jì)數(shù)器在時(shí)鐘信號(hào)的觸發(fā)下遞減,連續(xù)讀出若干個(gè)數(shù)據(jù),直至計(jì)數(shù)器=0,完成猝發(fā)讀操作。其狀態(tài)轉(zhuǎn)換及時(shí)序關(guān)系如圖5所示。

(4)存儲(chǔ)器寫(xiě)

存儲(chǔ)器寫(xiě)操作由三個(gè)狀態(tài)組成。其狀態(tài)轉(zhuǎn)換及時(shí)序關(guān)系如圖6所示。由于存儲(chǔ)器件寫(xiě)操作分為單字寫(xiě)和猝發(fā)寫(xiě)兩種方式,因此設(shè)計(jì)一個(gè)計(jì)數(shù)器來(lái)區(qū)分兩種寫(xiě)操作,并用該計(jì)數(shù)器來(lái)定義猝發(fā)寫(xiě)的長(zhǎng)度。當(dāng)計(jì)數(shù)器=0時(shí),進(jìn)行單字節(jié)寫(xiě)操作;當(dāng)計(jì)數(shù)器≠0時(shí),進(jìn)行猝發(fā)寫(xiě)操作。計(jì)數(shù)器在時(shí)鐘信號(hào)的觸發(fā)下遞減,連續(xù)寫(xiě)入若干個(gè)數(shù)據(jù)直至計(jì)數(shù)器=0,完成猝發(fā)寫(xiě)操作。

圖7 自動(dòng)刷新和自刷新?tīng)顟B(tài)轉(zhuǎn)換

    (5)存儲(chǔ)器自動(dòng)刷新和自刷新

自動(dòng)刷新操作由2個(gè)節(jié)拍組成,自刷新由11個(gè)節(jié)拍組成。進(jìn)入自刷新模式之前和退出自刷新模式后各進(jìn)行1次自動(dòng)刷新操作。自動(dòng)刷新和自刷新操作狀態(tài)轉(zhuǎn)換關(guān)系如圖7所示。

SDRAM狀態(tài)機(jī)設(shè)計(jì)完成后,利用VHDL語(yǔ)言對(duì)SDRAM狀態(tài)機(jī)進(jìn)行行為描述,然后編譯、模擬仿真和適配下協(xié),并注意合理的引腳定義,充分利用芯片資源,由于FPGA通用、高速及價(jià)廉的特點(diǎn),因此具有很好的應(yīng)用前景,尤其適用于需要大容量存儲(chǔ)器擴(kuò)展的嵌入式系統(tǒng)中。

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

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

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

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

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

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(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ā)表演講稱(chēng),數(shù)字世界的話(huà)語(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)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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