- 相關(guān)推薦
利用FPGA實(shí)現(xiàn)MMC2107與SDRAM接口設(shè)計(jì)
摘要:介紹基于現(xiàn)場可編程門陣列(FPGA),利用VHDL語言設(shè)計(jì)實(shí)現(xiàn)MMC2107與SDRAM接口電路。文中包括MMC2107組成結(jié)構(gòu)、SDRAM存儲(chǔ)接口結(jié)構(gòu)和SDRAM控制狀態(tài)機(jī)的設(shè)計(jì)。引言
在嵌入式系統(tǒng)中,微控制器中通常有一定容量的存儲(chǔ)器,用來存放程序和數(shù)據(jù),但由于片內(nèi)存儲(chǔ)器受器件規(guī)模和生產(chǎn)成本的制約,其容量通常不能滿足用戶實(shí)際需求,還需要使用半導(dǎo)體存儲(chǔ)器件來擴(kuò)展存儲(chǔ)空間。如果采用SDRAM進(jìn)行存儲(chǔ)擴(kuò)展,可以大幅度地降低系統(tǒng)設(shè)計(jì)成本;但SDRAM控制時(shí)序比較復(fù)雜,給系統(tǒng)設(shè)計(jì)帶來很大困難。為了方便使用SDRAM,實(shí)現(xiàn)嵌入式系統(tǒng)中存儲(chǔ)的大容量擴(kuò)展,本文介紹一種新穎的解決方案:采用FPGA技術(shù)和VHDL語言,實(shí)現(xiàn)MMC2107微控制器與SDRAM的接口設(shè)計(jì)。
1 SDRAM內(nèi)部結(jié)構(gòu)
SDRAM是一種具有同步接口的高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器。本文語選用的是三星公司生產(chǎn)的32M×8位SDRAM器件K4S560832A。K4S560832A存儲(chǔ)總?cè)萘?56M位,內(nèi)部分成4個(gè)全,每個(gè)體8M字節(jié),內(nèi)部結(jié)構(gòu)如圖1所示。
K4S560832A為了能滿足各種系統(tǒng)的使用要求,提供了時(shí)鐘頻率、猝發(fā)長度、延時(shí)節(jié)拍等可編程參數(shù)。在芯片上電后可以通過地址線A12~A0配置,芯片只有在完成配置后才能進(jìn)入正常工作狀態(tài)。在具體操作SDRAM時(shí),首先,必須進(jìn)行初始化配置,即寫模式寄存器,以便確定DRAM列選延遲節(jié)拍數(shù)、猝發(fā)類型、猝發(fā)長度等工作模式。然后通過ACT命令激活對(duì)應(yīng)地址的組,同時(shí)輸入行地址。最后,通過RD或WR命令輸入列地址,將相應(yīng)數(shù)據(jù)讀出或?qū)懭氲綄?duì)應(yīng)的地址。操作完成后,用相關(guān)命令中止讀或?qū)懖僮。在沒有操作的時(shí)候,每64ms必須對(duì)所有存儲(chǔ)單元刷新一遍(8192行),防止數(shù)據(jù)丟失。
圖1 K4S560832A內(nèi)部結(jié)構(gòu)
2 MMC2107組成結(jié)構(gòu)及外部總線接口
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)用場合。MMC2107的組成框圖如圖2所示。
從圖2可以看出,MMC2107片內(nèi)除了M210核以外,主要還有128KB Flash、8KB SRAM、外部總線接口、時(shí)鐘模塊、復(fù)位模塊、M-CORE到IPBUS之間的接口、中斷控制器模塊、8位邊沿端口葦、2個(gè)可編程間隔定時(shí)器(PIT1和PIT2)、看門狗定時(shí)器WDT、2個(gè)定時(shí)器模塊(TIM1和TIM2)、串行外圍接口SPI、2個(gè)串行通信接口(SCI1和SCI2)、ADC模塊、多個(gè)通用的輸入/輸出信號(hào)、TAP控制器等功能及模塊。
MMC2107在主模式和仿真模式下,支持MCORE訪問外部的存儲(chǔ)器或設(shè)備。這時(shí),M-CORE的本地總線(內(nèi)部總線)擴(kuò)展到片外,由外部總線接口(EBI)負(fù)責(zé)控制M-CORE局部總線和外地址空間之間的信息傳送。EBI有23位地址總線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在片選模塊的控制下,可以形成所需長度的外總線周期。在EBI發(fā)起一個(gè)外部數(shù)據(jù)傳送以后,EBI驅(qū)動(dòng)并保持傳送所需的各種信號(hào),直到該總線周期結(jié)束。使EBI結(jié)束現(xiàn)行總線周期的方法有兩種:EBI收到了由外邏輯發(fā)來的傳送響應(yīng)信號(hào)TA或TEA,或者收到了內(nèi)部傳送響應(yīng)信號(hào),片選模塊可以為4個(gè)片選通道分別選擇總線周期結(jié)束的方法。
圖2 MMC2107組成框圖
3 FLEX10K系列FPGA
隨著深亞微米VLSI技術(shù)的迅速發(fā)展,F(xiàn)PGA/CPLD等可編程器件的資源有極大的發(fā)展。尤其是FPGA,器件的集成度已達(dá)到上千萬門,系統(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門。FLEX10K主要由嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速布線通道(FastTrack)和I/O單元組成,具有如下特點(diǎn):
①片上集成了實(shí)現(xiàn)宏函數(shù)的嵌入式陣列和實(shí)現(xiàn)普通函數(shù)的邏輯陣列;
②高密度,具有10 000~250 000個(gè)可用門;
③支持多電壓(multivolt)I/O接口,低功耗,遵守全PCI總線規(guī)定,內(nèi)帶JTAG邊界掃描測試電路;
④通過外部EPROM、集成控制器或JTAG接口實(shí)現(xiàn)在電路可重構(gòu)(ICR);
⑤快速、可預(yù)測連線延時(shí)的快速通道連續(xù)式布線結(jié)構(gòu);
⑥實(shí)現(xiàn)高速、多輸入邏輯函數(shù)的專用級(jí)聯(lián)鏈;
⑦增強(qiáng)功能的I/O引腳,每個(gè)引腳都有一個(gè)獨(dú)立的三態(tà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ǔ)單元的讀寫和刷新。MMC2107對(duì)讀寫存儲(chǔ)器的讀寫以32位單位進(jìn)行(數(shù)據(jù)寬度32位),每次讀寫由外部決定訪存周期。采用分散刷新方式,7.8μs執(zhí)行1次自動(dòng)刷新命令;如果長時(shí)間沒有訪存操作,自動(dòng)進(jìn)入低功耗模式。
4.1 SDRAM存儲(chǔ)接口結(jié)構(gòu)
本文使用了1片F(xiàn)PGA可編程
【利用FPGA實(shí)現(xiàn)MMC2107與SDRAM接口設(shè)計(jì)】相關(guān)文章:
MPC8272總線與DSP HPI總線接口的FPGA實(shí)現(xiàn)03-07
談DSP HPI總線與MPC8272總線接口的FPGA實(shí)現(xiàn)03-08
基于FPGA的TS over lP的設(shè)計(jì)與實(shí)現(xiàn)03-21
基于DDR SDRAM的信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)03-30
QDRII SRAM控制器的設(shè)計(jì)與FPGA實(shí)現(xiàn)03-30
利用FPGA實(shí)現(xiàn)模式可變的衛(wèi)星數(shù)據(jù)存儲(chǔ)器糾錯(cuò)系統(tǒng)03-19
基于FPGA的指紋特征點(diǎn)集匹配的設(shè)計(jì)與實(shí)現(xiàn)03-07