第4章 存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口課件_第1頁(yè)
第4章 存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口課件_第2頁(yè)
第4章 存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口課件_第3頁(yè)
第4章 存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口課件_第4頁(yè)
第4章 存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口課件_第5頁(yè)
已閱讀5頁(yè),還剩90頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1第四章存儲(chǔ)系統(tǒng)機(jī)制

及存儲(chǔ)器接口

存儲(chǔ)系統(tǒng)機(jī)制及存儲(chǔ)器接口存儲(chǔ)器是嵌入式系統(tǒng)中的主要硬件部件,用于存儲(chǔ)指令碼及相關(guān)的數(shù)據(jù)。目前有許多嵌入式CPU芯片內(nèi)部集成有一定容量的易失性及非易失性的存儲(chǔ)器。但也有需要擴(kuò)展外部存儲(chǔ)器芯片的。總線

總線是把微處理器與存儲(chǔ)器、I/O端口及設(shè)備相連接的信息通道,但總線并不僅僅指的是一束信號(hào)線,而應(yīng)包含相應(yīng)的通信協(xié)議和規(guī)則。在嵌入式系統(tǒng)中,按照使用場(chǎng)合的不同,我們可以把總線分成:(1)片上總線(2)板級(jí)總線(3)系統(tǒng)級(jí)總線AMBA總線片上總線即是微處理器芯片內(nèi)部的總線,典型的如ARM公司提出的AMBA總線。AMBA總線AMBA是AdvancedMicrocontrollerBusArchitecture的縮寫(xiě),是一種開(kāi)放的,用于高性能嵌入式系統(tǒng)中的總線規(guī)范。AMBA總線規(guī)范2.0版本中包含了4個(gè)部分:AHB、ASB、APB和TestMethodology。其中:①AHB是AdvancedHighPerformaceBus的縮寫(xiě),用于芯片內(nèi)高性能系統(tǒng)模塊連接的總線,支持突發(fā)模式數(shù)據(jù)傳輸和事務(wù)處理。②ASB是AdvancedSystemBus的縮寫(xiě),也是用于芯片內(nèi)高性能系統(tǒng)模塊的連接,支持突發(fā)模式數(shù)據(jù)傳輸。這是早期的系統(tǒng)總線格式,現(xiàn)在由AHB取代。③APB是AdvancedPeriPheralBus的縮寫(xiě),是用于芯片內(nèi)較低性能的I/O部件或模塊的連接,一般是作為ARM系列微處理器芯片中二級(jí)總線用。④TestMethodology是AMBA總線規(guī)范中所制定的測(cè)試方法。板級(jí)總線板級(jí)總線是指板卡中芯片與芯片之間、或者板卡與板卡之間的連接總線。典型的如PC-104總線、PCI總線等。但是,嵌入式系統(tǒng)由于受到應(yīng)用條件的約束,特別是體積方面的約束,因此,在構(gòu)建板級(jí)目標(biāo)系統(tǒng)時(shí),往往并未采用標(biāo)準(zhǔn)化的總線,而是直接完成芯片與芯片引腳間的連接。嵌入式系統(tǒng)的板級(jí)目標(biāo)系統(tǒng)硬件平臺(tái)設(shè)計(jì)時(shí),主要完成的任務(wù)是把微處理器芯片與其它芯片進(jìn)行有機(jī)的連接。S3C2410及片上總線

S3C2410是韓國(guó)三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T內(nèi)核,加上豐富的片內(nèi)外設(shè),為手持設(shè)備和其它應(yīng)用,提供了低價(jià)格、低功耗、高性能微控制器的解決方案。

一、主要特性具有16KB指令Cache、16KB數(shù)據(jù)Cache和存儲(chǔ)器管理單元MMU。外部存儲(chǔ)器控制器,可擴(kuò)展8組,每組128MB,總?cè)萘窟_(dá)1GB;支持從Nandflash存儲(chǔ)器啟動(dòng)。55個(gè)中斷源,可以設(shè)定1個(gè)為快速中斷,有24個(gè)外部中斷,并且觸發(fā)方式可以設(shè)定。4通道的DMA,并且有外部請(qǐng)求引腳。3個(gè)通道的UART,帶有16字節(jié)的TX/RXFIFO,支持IrDA1.0功能。具有2通道的SPI、1個(gè)通道的IIC串行總線接口和1個(gè)通道的IIS音頻總線接口。有2個(gè)USB主機(jī)總線的端口,1個(gè)USB設(shè)備總線的端口。有4個(gè)具有PWM功能的16位定時(shí)器和1個(gè)16位內(nèi)部定時(shí)器。8通道的10位A/D轉(zhuǎn)換器,最高速率可達(dá)500kB/s;提供有觸摸屏接口。具有117個(gè)通用I/O口和24通道的外部中斷源。兼容MMC的SD卡接口。具有電源管理功能,可以使系統(tǒng)以普通方式、慢速方式、空閑方式和掉電方式工作??撮T(mén)狗定時(shí)器。具有日歷功能的RTC。有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。具有PLL功能的時(shí)鐘發(fā)生器,時(shí)鐘頻率高達(dá)203MHz。雙電源系統(tǒng):1.8/2.0V內(nèi)核供電,3.3V存儲(chǔ)器和I/O供電。二、系統(tǒng)結(jié)構(gòu) 主要由兩大部分構(gòu)成:

ARM920T內(nèi)核 片內(nèi)外設(shè)。

1、ARM920T內(nèi)核 由三部分:ARM9內(nèi)核ARM9TDMI、32KB的Cache、MMU。

2、片內(nèi)外設(shè)

分為高速外設(shè)和低速外設(shè),分別用AHB總線和APB總線。S3C2440片上總線—引腳封裝與引腳信號(hào):S3C微控制器是289-FBGA封裝其信號(hào)可以分成:addr0addr26、Data0data31、GPA0GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0—nGCS7、AIN7、IIC、SPI、OM0OM3等,大部分都是復(fù)用的(3)控制類(lèi)信號(hào)引腳

又可以分成幾個(gè)子類(lèi):

1、總線控制信號(hào)

·OM1、OM0:這2根信號(hào)線是S3C2440的模式選擇信號(hào)引腳,用來(lái)確定芯片的模式以及數(shù)據(jù)線的寬度。OM[1:0所決定的啟動(dòng)方式OM[1:0]=00時(shí),處理器從NANDFlash啟動(dòng)OM[1:0]=01時(shí),處理器從16位寬度的ROM啟動(dòng)OM[1:0]=10時(shí),處理器從32位寬度的ROM啟動(dòng)。OM[1:0]=11時(shí),處理器從TestMode啟動(dòng)。(3)控制類(lèi)信號(hào)引腳

又可以分成幾個(gè)子類(lèi):

1、總線控制信號(hào)·nWE(輸出引腳):寫(xiě)使能信號(hào),用來(lái)指示當(dāng)前總線周期為寫(xiě)周期。

·nOE:讀使能信號(hào)引腳,用來(lái)指示當(dāng)前總線周期為讀周期。

·nWAIT(輸入引腳):等待信號(hào)引腳,用來(lái)請(qǐng)求延長(zhǎng)當(dāng)前周期。

·nXBREQ(輸入引腳):總線請(qǐng)求。

·nXBACK(輸出引腳):總線應(yīng)答。

2、NANDFlash控制信號(hào)

3、SDRAM控制信號(hào)(4)I/O部件接口引腳

這類(lèi)功能的引腳有許多,主要是完成相應(yīng)的接口部件功能,例如:UART的串口通信引腳、LCD顯示器接口引腳、攝像頭接口引腳等。(5)其它功能類(lèi)引腳

其它功能類(lèi)引腳主要包括:JTAG調(diào)試接口引腳、復(fù)位引腳、時(shí)鐘電路引腳、以及電源引腳等。

JTAG概述

JTAG是JointTestActionGroup(聯(lián)合測(cè)試行動(dòng)組)的簡(jiǎn)稱(chēng)。IEEE1149.1標(biāo)準(zhǔn)是由JTAG這個(gè)組織最初提出來(lái)的,最終由IEEE批準(zhǔn)并標(biāo)準(zhǔn)化的,所以,IEEE1149.1標(biāo)準(zhǔn)也俗稱(chēng)JTAG標(biāo)準(zhǔn)。

JTAG標(biāo)準(zhǔn)主要用于芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試。在芯片內(nèi)部封裝專(zhuān)門(mén)的電路測(cè)試訪問(wèn)接口(TAP),通過(guò)專(zhuān)用的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。目前,大多數(shù)復(fù)雜的器件都支持JTAG協(xié)議,如ARM、DSP、FPGA等。JTAG接口的IC內(nèi)部結(jié)構(gòu)ARM處理器的實(shí)時(shí)JTAG仿真器與開(kāi)發(fā)板的連線圖1)14針JTAG接口定義引

腳名

稱(chēng)描

述1、13VCC接電源3nTRST測(cè)試系統(tǒng)復(fù)位信號(hào)5TDI測(cè)試數(shù)據(jù)串行輸入7TMS測(cè)試模式選擇9TCK測(cè)試時(shí)鐘11TDO測(cè)試數(shù)據(jù)串行輸出12NC未連接其他GND接地接口電路設(shè)計(jì)2)20針JTAG接口定義引

腳名

稱(chēng)描

述1VTref目標(biāo)板參考電壓,接電源2VCC接電源3nTRST測(cè)試系統(tǒng)復(fù)位信號(hào)5TDI測(cè)試數(shù)據(jù)串行輸入7TMS測(cè)試模式選擇9TCK測(cè)試時(shí)鐘11RTCK測(cè)試時(shí)鐘返回信號(hào)13TDO測(cè)試數(shù)據(jù)串行輸出15nRESET目標(biāo)系統(tǒng)復(fù)位信號(hào)17、19NC未連接其他GND接地S3C2440的時(shí)鐘控制邏輯能夠產(chǎn)生系統(tǒng)所需要的時(shí)鐘,包括CPU的FCLK,AHB總線接口的HCLK,和APB總線接口的PCLK。

S3C2440A有兩個(gè)PLL(MPLL和UPLL)

,一個(gè)MPLL用于FCLK,HCLK,PCLK,另一個(gè)UPLL用于USB模塊(48MHZ)。

FCLK用于ARM920T;

HCLK用于AHB總線(包括ARM920T,存儲(chǔ)控制器,中斷控制器,LCD控制器,DMA和USB主機(jī));

PCLK用于APB總線(包括外設(shè)如WDT,IIS,I2C,PWM,PWM,TIMER,MMC,ADC,UART,GPIO,RTC,SPI)。主時(shí)鐘源由一個(gè)外部晶振或者外部時(shí)鐘產(chǎn)生。時(shí)鐘源選擇

下表描述了模式控制引腳(OM3和OM2)和選擇時(shí)鐘源之間的對(duì)應(yīng)關(guān)系。OM[3:2]=00時(shí),MPLL和UPLL的時(shí)鐘均選擇外部振蕩器;S3C2440S3C2440OM3OM2OM[3:2]=11時(shí),MPLL和UPLL的時(shí)鐘均選擇外部時(shí)鐘源。VDDOM3OM2S3C2440S3C2440外部振蕩器晶振電路設(shè)計(jì)外部振蕩器電路有12MHz晶振和2個(gè)15pF的微調(diào)電容組成,12MHz的時(shí)鐘信號(hào)經(jīng)過(guò)片內(nèi)的PLL倍頻可以達(dá)到203MHz。系統(tǒng)所需要的RTC時(shí)鐘采用相同的方式。

復(fù)位電路可以使用簡(jiǎn)單的阻容復(fù)位(RC),這個(gè)電路成本低廉,但不能保證任何情況產(chǎn)生穩(wěn)定可靠的復(fù)位信號(hào),所以一般場(chǎng)合需要使用專(zhuān)門(mén)的復(fù)位芯片。阻容復(fù)位電路S3C2410nRESETVDD10k10uF復(fù)位電路其它板級(jí)總線標(biāo)準(zhǔn)(1)PC-104總線

PC-104總線是專(zhuān)門(mén)為控制領(lǐng)域的應(yīng)用而定義的嵌入式系統(tǒng)總線,它支持采用堆棧結(jié)構(gòu)的總線形式,通過(guò)PC-104總線,可以把各板卡疊加在一起,從而構(gòu)建小型的、高可靠性的嵌入式系統(tǒng)。(2)STD總線

STD總線也是在工業(yè)控制領(lǐng)域被使用的一種嵌入式系統(tǒng)板級(jí)總線(3)PCI總線

PCI總線是PC機(jī)中被廣泛使用的板級(jí)總線標(biāo)準(zhǔn)。在有些嵌入式系統(tǒng)中,也會(huì)采用PCI總線作為其板級(jí)總線。存儲(chǔ)系統(tǒng)及管理

一、存儲(chǔ)系統(tǒng)的組織結(jié)構(gòu)在復(fù)雜的嵌入式系統(tǒng)中,存儲(chǔ)系統(tǒng)的組織結(jié)構(gòu)按作用可以劃分為4級(jí):寄存器、cache(緩存區(qū))、主存儲(chǔ)器和輔助存儲(chǔ)器。如下圖所示。注:對(duì)于簡(jiǎn)單的嵌入式系統(tǒng)來(lái)說(shuō),沒(méi)有必要把存儲(chǔ)器系統(tǒng)設(shè)計(jì)成4級(jí),最簡(jiǎn)單的嵌入式系統(tǒng)只需要寄存器和主存儲(chǔ)器即可。存儲(chǔ)系統(tǒng)寄存器是包含在微處理器核內(nèi)部的,是微處理器核的重要組成部分,它用來(lái)作指令執(zhí)行時(shí)的數(shù)據(jù)存放單元。Cache是高速緩存,通常又分成數(shù)據(jù)緩存和指令緩存2種。主存儲(chǔ)器是程序執(zhí)行代碼及數(shù)據(jù)的存放區(qū),通常存放指令代碼的存儲(chǔ)器是非易失性的存儲(chǔ)器。輔助存儲(chǔ)器通常用來(lái)存儲(chǔ)大容量數(shù)據(jù),或者作為程序代碼的備份存儲(chǔ)空間,由NANDFlash類(lèi)型的非易失性存儲(chǔ)器芯片來(lái)承擔(dān)。三、存儲(chǔ)管理單元在復(fù)雜的嵌入式系統(tǒng)設(shè)計(jì)時(shí),越來(lái)越多的會(huì)選用帶有存儲(chǔ)管理單元(MMU)的微處理器芯片。MMU完成的主要功能有:(1)將主存地址從虛擬存儲(chǔ)空間映射到物理存儲(chǔ)空間。(2)存儲(chǔ)器訪問(wèn)權(quán)限控制。(3)設(shè)置虛擬存儲(chǔ)空間的緩沖特性等。用于存儲(chǔ)管理的系統(tǒng)控制協(xié)處理寄存器CP15在基于ARM的嵌入式系統(tǒng)中,存儲(chǔ)系統(tǒng)通常使用CP15來(lái)完成存儲(chǔ)器的大部分管理工作;除了CP15之外,在具體的存儲(chǔ)機(jī)制中可能還會(huì)用到其他技術(shù)如:頁(yè)表技術(shù)等。CP15可以保護(hù)16個(gè)32位的寄存器,編號(hào)0-15。實(shí)際上對(duì)于某些編號(hào)的寄存器可能對(duì)應(yīng)有多個(gè)物理寄存器,在指令中指定特定的標(biāo)志位來(lái)區(qū)分相應(yīng)的寄存器。MCR:寫(xiě)協(xié)處理器指令,將ARM中的Rn寄存器的值寫(xiě)入?yún)f(xié)處理器的Cn中。MRC:讀協(xié)處理器指令,將協(xié)處理器的Cn寄存器的值讀入ARM的Rn中。MCR寫(xiě)CP15指令語(yǔ)法

MCR{cond}p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}

OP1為協(xié)處理器將執(zhí)行的操作的代碼。對(duì)于CP15來(lái)說(shuō),該值必須為0;Rd為源寄存器,其值將被傳送到協(xié)處理器中;該寄存器不能為PC;CRn是協(xié)處理器的目標(biāo)寄存器,可以是C0-15;CRm是附加的目標(biāo)寄存器或源操作數(shù)寄存器,用于區(qū)分同一編號(hào)的不同物理寄存器,當(dāng)指令中不需要附加信息時(shí)要將C0指定為CRm;OP2也提供附加信息,用于區(qū)分同一編號(hào)的不同物理寄存器,當(dāng)指令中不需要附加信息時(shí),可以省略或者將其置0。MCR寫(xiě)CP15MCR P15,0,R4,C1,C0,0上述指令從ARM寄存器R4中將數(shù)據(jù)傳送到協(xié)處理器CP15的寄存器C1中。其中R4為ARM寄存器,存放源操作數(shù);C1和C0為協(xié)處理器寄存器,為目標(biāo)寄存器;操作碼1為0,操作碼附加信息也為0。MRC讀CP15指令語(yǔ)法

MRC{cond}p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}

OP1為協(xié)處理器將執(zhí)行的操作的代碼。對(duì)于CP15來(lái)說(shuō),該值必須為0;Rd為目標(biāo)寄存器,指令處理的結(jié)果將存放在該寄存器中;CRn是協(xié)處理器寄存器,存放第一個(gè)源操作數(shù);CRm是附加的源操作數(shù)寄存器,用于區(qū)分同一編號(hào)的不同物理寄存器,當(dāng)指令中不需要附加信息時(shí)要將C0指定為CRm;OP2也提供附加信息,用于區(qū)分同一編號(hào)的不同物理寄存器,當(dāng)指令中不需要附加信息時(shí),可以省略或者將其置0。CP15寄存器列表編號(hào)基本作用在MMU中的作用在PU中的作用0ID編碼(只讀)ID編碼和Cache類(lèi)型1控制位(可讀可寫(xiě))各種控制位2存儲(chǔ)保護(hù)和控制地址轉(zhuǎn)換表基地址Cachability控制位3存儲(chǔ)保護(hù)和控制域(domain)訪問(wèn)控制位Bufferability控制位4存儲(chǔ)保護(hù)和控制保留保留5存儲(chǔ)保護(hù)和控制內(nèi)存失效狀態(tài)訪問(wèn)權(quán)限控制位6存儲(chǔ)保護(hù)和控制內(nèi)存失效地址保護(hù)區(qū)域控制7高速緩存和寫(xiě)緩存高速緩存和寫(xiě)緩存控制8存儲(chǔ)保護(hù)和控制TLB控制保留9高速緩存和寫(xiě)緩存高速緩存鎖定10存儲(chǔ)保護(hù)和控制TLB鎖定保留11保留12保留13進(jìn)程標(biāo)示符進(jìn)程標(biāo)示符14保留15因不同設(shè)計(jì)而異因不同設(shè)計(jì)而異因不同設(shè)計(jì)而異CP15寄中的寄存器C0存放ARM相關(guān)的一些標(biāo)識(shí)符,C0只讀,當(dāng)MRC指令中制定不同的opcode2時(shí),獲取到的是不同的標(biāo)識(shí)符:opcode2編碼 對(duì)應(yīng)的標(biāo)識(shí)符寄存器

0 主標(biāo)識(shí)符寄存器

1 Cache類(lèi)型標(biāo)識(shí)符寄存器其他 保留示例:MRCP15,0,R0,C0,C0,0;將該ARM芯片的標(biāo)示符讀取到ARM寄存器R0中。示例:MRCP15,0,R0,C0,C0,1;將該ARM芯片的cache類(lèi)型讀取到ARM寄存器R0中。CP15中的寄存器C1控制寄存器,包括以下控制功能:禁止/使能MMU以及其他的與存儲(chǔ)系統(tǒng)相關(guān)的功能。配置存儲(chǔ)系統(tǒng)及ARM處理器中相關(guān)部分的工作方式。使用MCR或MRC時(shí),CRm和opcode2都為0。

MCRp15,0,R0,C1,0,0MRCp15,0,R3,C1,0,031161514131211109876543210SBZP/UNPL4RRVIZFRSBLDPWCAMM(bit[0]):使能MMU,0=禁止MMU,1=允許MMUA(bit[1]):使能地址對(duì)齊檢查,0=禁止,1=允許寄存器C1的MMU控制位:CP15中的寄存器C1C(bit[2]):當(dāng)數(shù)據(jù)和指令cache分開(kāi)時(shí),使能數(shù)據(jù)cache,否則使能整個(gè)cache。0=禁止,1=使能。W(bit[3]):使能寫(xiě)入緩沖,0=禁止,1=使能。P(bit[4]):兼容26位地址,控制PROG32控制信號(hào)。0=異常中斷處理程序進(jìn)入32位地址模式,1=進(jìn)入26位模式。D(bit[5]):兼容26位地址,控制DATA32控制信號(hào)。0=禁止26位地址異常檢查,1=使能。L(bit[6]):ARMv3及以前版本,0=早期中止模型,1=后期B(bit[7]):內(nèi)存模式,0=little-endian,1=big-endian。S(bit[8]):在基于MMU的存儲(chǔ)系統(tǒng)中,用作系統(tǒng)保護(hù)。R(bit[9]):在基于MMU的存儲(chǔ)系統(tǒng)中,用作ROM保護(hù)。CP15中的寄存器C1F(bit[10]):由生產(chǎn)商定義。Z(bit[11]):使能跳轉(zhuǎn)預(yù)測(cè),0=禁止,1=使能。I(bit[12]):當(dāng)數(shù)據(jù)和指令cache分開(kāi)時(shí),使能指令cache。0=禁止,1=使能。V(bit[13]):控制中斷向量表的位置。0=0x00-0x1c,1=0xFFFF0000-0xFFFF001c。RR(bit[14]):選擇cache的淘汰算法,0=常規(guī)淘汰算法,1=預(yù)測(cè)性淘汰算法。L4(bit[15]):對(duì)于ARMv5及以上版本,兼容以前版本功能,0=保持當(dāng)前功能,1=兼容以前版本。存儲(chǔ)管理單元MMU概述MMU主要完成以下工作:實(shí)現(xiàn)虛擬地址空間到物理存儲(chǔ)空間的映射;存儲(chǔ)器訪問(wèn)權(quán)限的控制;設(shè)置虛擬存儲(chǔ)空間的緩沖特性。頁(yè)表(translatetable)是實(shí)現(xiàn)上述功能的一個(gè)重要手段,它實(shí)際上是位于內(nèi)存中的一個(gè)對(duì)照表。ARM系統(tǒng)中CP15的C2寄存器用來(lái)保存頁(yè)表的基地址。存儲(chǔ)管理單元MMU概述地址變換條目:頁(yè)表的每一行對(duì)應(yīng)與虛擬地址空間的一個(gè)頁(yè),該行同時(shí)保含了該虛擬內(nèi)存頁(yè)對(duì)應(yīng)的物理內(nèi)存頁(yè)的地址、該頁(yè)的訪問(wèn)權(quán)限以及緩沖特性等。我們將頁(yè)表中的一行稱(chēng)為地址變換條目。頁(yè)表存放在內(nèi)存中,系統(tǒng)通常有一個(gè)寄存器來(lái)保存頁(yè)表的基地址。ARM系統(tǒng)中使用的就是CP15的寄存器C2??毂恚簭奶摂M地址到物理地址的轉(zhuǎn)換實(shí)際上就是查詢(xún)頁(yè)表的過(guò)程。由于程序在執(zhí)行過(guò)程中具有局部性,即在一段時(shí)間內(nèi)只是局限在少數(shù)幾個(gè)單元,為了加快頁(yè)表的查詢(xún)速度,在系統(tǒng)中通常使用一個(gè)容量更小、速度更快的存儲(chǔ)器件來(lái)保存當(dāng)前需要訪問(wèn)的地址變換條目,這個(gè)容量小的頁(yè)表又稱(chēng)作快表(TLB)。存儲(chǔ)管理單元MMU概述快表的使用:更新:當(dāng)CPU需要訪問(wèn)內(nèi)存時(shí),首先在TLB中查找需要的地址變換條目。若不存在則在內(nèi)存頁(yè)表中查詢(xún),并把查詢(xún)的結(jié)果添加到TLB中。清除:當(dāng)內(nèi)存中頁(yè)表的內(nèi)容改變或者使用新的頁(yè)表時(shí),TLB中的內(nèi)容需要清空。CP15的寄存器C8用于完成該功能。鎖定:可以將一個(gè)地址變換條目鎖定在TLB中,以加快訪問(wèn)速度,CP15的寄存器10用于完成該功能。與MMU操作相關(guān)的寄存器1控制位(可讀可寫(xiě))各種控制位2存儲(chǔ)保護(hù)和控制地址轉(zhuǎn)換表基地址Cachability控制位3存儲(chǔ)保護(hù)和控制域(domain)訪問(wèn)控制位Bufferability控制位4存儲(chǔ)保護(hù)和控制保留保留5存儲(chǔ)保護(hù)和控制內(nèi)存失效狀態(tài)訪問(wèn)權(quán)限控制位6存儲(chǔ)保護(hù)和控制內(nèi)存失效地址保護(hù)區(qū)域控制8存儲(chǔ)保護(hù)和控制TLB控制保留10存儲(chǔ)保護(hù)和控制TLB鎖定保留MMU中地址變換過(guò)程虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射是以?xún)?nèi)存塊為單位進(jìn)行的。根據(jù)存儲(chǔ)塊大小,可以支持多種地址變換。ARM支持的存儲(chǔ)塊的大小有以下幾種:段(section):由1MB的存儲(chǔ)器塊構(gòu)成(20位)大頁(yè)(largepage):由64KB的存儲(chǔ)器塊構(gòu)成(16位)小頁(yè)(smallpage):由4KB的存儲(chǔ)器塊構(gòu)成(12位)微頁(yè)(tinypage):由1KB的存儲(chǔ)器塊構(gòu)成(10位)通過(guò)采用另外的訪問(wèn)控制機(jī)制,還可將大頁(yè)分為16KB的子頁(yè);將小頁(yè)分為1KB的子頁(yè);極小頁(yè)不能再分。MMU中地址變換過(guò)程在MMU中采用兩級(jí)頁(yè)表實(shí)現(xiàn)上述地址映射:一級(jí)頁(yè)表中包含有以段為單位的地址變換條目以及只想二級(jí)頁(yè)表的指針。一級(jí)頁(yè)表實(shí)現(xiàn)的地址映射粒度較大;二級(jí)頁(yè)表中包含以大頁(yè)和小頁(yè)為單位的地址變換條目。其中一種類(lèi)型的二級(jí)表還包含有極小頁(yè)為單位的地址變換條目?;谝患?jí)頁(yè)表的地址變換一級(jí)頁(yè)表描述符可能的格式:基于段地址的映射示意圖粗頁(yè)表中大頁(yè)的尋址過(guò)程粗頁(yè)表中小頁(yè)的尋址過(guò)程細(xì)頁(yè)表中微頁(yè)的尋址過(guò)程53APSR特權(quán)模式用戶(hù)模式0b0000不能訪問(wèn)不能訪問(wèn)

0b0010只讀不能訪問(wèn)

0b0001只讀只讀

0b0011不可預(yù)測(cè)不可預(yù)測(cè)

0b01XX讀/寫(xiě)不能訪問(wèn)

0b10XX讀/寫(xiě)只讀

0b11XX讀/寫(xiě)讀/寫(xiě)

MMU中的存儲(chǔ)訪問(wèn)權(quán)限控制存儲(chǔ)器接口設(shè)計(jì)方法在構(gòu)建嵌入式系統(tǒng)的目標(biāo)硬件平臺(tái)時(shí),有些微處理器芯片內(nèi)部沒(méi)有集成存儲(chǔ)器或者集成的存儲(chǔ)器容量不足,那么,就需要外接存儲(chǔ)器芯片來(lái)構(gòu)建所需容量的存儲(chǔ)空間。下面討論需要在微處理器芯片外部設(shè)計(jì)主存儲(chǔ)器接口電路的問(wèn)題,并討論輔助存儲(chǔ)器的接口電路設(shè)計(jì)問(wèn)題。一、存儲(chǔ)器芯片分類(lèi)存儲(chǔ)器根據(jù)其存取方式分成兩大類(lèi):隨機(jī)存儲(chǔ)器(RAM)類(lèi)和只讀存儲(chǔ)器(ROM)類(lèi)。(1)隨機(jī)存儲(chǔ)器(具有易失性的特點(diǎn))隨機(jī)存儲(chǔ)器又分為兩大類(lèi):*靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)*動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAMSRAM(靜態(tài)隨機(jī)存儲(chǔ)器)通俗的說(shuō),是在上電的情況下,其存儲(chǔ)內(nèi)容不會(huì)丟失的存儲(chǔ)器。它們通常是以雙穩(wěn)態(tài)觸發(fā)器為基礎(chǔ),數(shù)據(jù)一經(jīng)寫(xiě)入,只要不掉電,數(shù)據(jù)就一直保存著。SRAM芯片內(nèi)部的存儲(chǔ)容量一般不大,通常約在幾K~幾百K范圍內(nèi)。典型的如:HM62256芯片,其容量為32KB。HM62256芯片引腳:地址線15根,數(shù)據(jù)線8根,控制信號(hào)線3根(讀、寫(xiě)、片選),電源線及地線2根。流行的DRAM類(lèi)別:SDRAM(SynchronousDynamicRandomAccessMemory的縮寫(xiě),即同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)。動(dòng)態(tài)存儲(chǔ)器中信息是存放在電容上的,需要定時(shí)刷新,需要有行選通RAS、列選通信號(hào)CAS,且地址信號(hào)線是復(fù)用的。SDRAM在內(nèi)部結(jié)構(gòu)及使用上與標(biāo)準(zhǔn)DRAM有很大不同。引起不同的基本出發(fā)點(diǎn)就是希望SDRAM的速度更快一些,滿(mǎn)足微處理器對(duì)主存速度的要求。SDRAM的容量經(jīng)常用XX存儲(chǔ)單元×X體×每個(gè)存儲(chǔ)單元的位數(shù)來(lái)表示。如:HY57V561620是一款SDRAM芯片。其容量為:4M×4Bank×16b(即32MB)。其典型的引腳圖如:其中:A0~A12是地址線,行地址和列地址復(fù)用A0~A8。行地址為RA0~RA12,列地址為CA0~CA8。DQ0~DQ15是數(shù)據(jù)線。BA0、BA1是塊(Bank)選擇線。nRAS:行地址選通信號(hào)線。nCAS:列地址選通信號(hào)線。nCS:片選信號(hào)引線。(2)只讀存儲(chǔ)器(具有非易失性的特點(diǎn))只讀存儲(chǔ)器(ROM)是指那種其內(nèi)部存儲(chǔ)單元中的數(shù)據(jù)不會(huì)隨失電而丟失的存儲(chǔ)器。在嵌入式系統(tǒng)中,只讀存儲(chǔ)器中通常存儲(chǔ)程序代碼和常數(shù)。只讀存儲(chǔ)器通常又分成EPROM、EEPROM和閃存(Flash)。Flash又有NORFlash和NANDFlash兩大類(lèi)。EPROM類(lèi)型的芯片目前基本處于淘汰地位,只有在一些低端嵌入式系統(tǒng)還在使用。Flash是目前嵌入式系統(tǒng)中使用的主流非易失性存儲(chǔ)器。幾種ROM型芯片外形圖。EPROM型芯片外形圖EEPROM型芯片外形圖S3C2410的存儲(chǔ)器配置S3C2440的存儲(chǔ)器系統(tǒng)—可通過(guò)軟件選擇大小端—地址空間:每個(gè)Bank128Mbytes(總共1GB)—除bank0(16/32-bit)外,所有的Bank都可以通過(guò)編程選擇總線寬度=(8/16/32-bit)—共8個(gè)banks6個(gè)Bank用于控制ROM,SRAM,etc.剩余的兩個(gè)Bank用于控制ROM,SRAM,SDRAM,etc.—7個(gè)Bank固定起始地址;—最后一個(gè)Bank可調(diào)整起始地址;—最后兩個(gè)Bank大小可編程—所有Bank存儲(chǔ)周期可編程控制;Bank6/Bank7地址分布Bank6和Bank7上的存儲(chǔ)器大小必須相同S3C2410的存儲(chǔ)器配置二、存儲(chǔ)器接口設(shè)計(jì)方法(1)SROM型存儲(chǔ)器接口設(shè)計(jì)方法SROM型存儲(chǔ)器,是SRAM型存儲(chǔ)器、EPROM型存儲(chǔ)器、NORFlash型存儲(chǔ)器的統(tǒng)稱(chēng)。上述3類(lèi)存儲(chǔ)器芯片與微處理器之間的接口電路設(shè)計(jì)方法是相似的。SROM型存儲(chǔ)器接口的信號(hào)線一般有:(1)片選信號(hào)線CE。(2)讀/寫(xiě)控制信號(hào)線。(3)若干根地址線。(4)若干根數(shù)據(jù)線。接口電路原理框圖如右圖所示。

與1片16位16M的SDRAM的連接方法與2片16位16M的SDRAM的連接方法HY57V561620的結(jié)構(gòu)

HY57V561620存儲(chǔ)容量為4M×4bank×16位(32M字節(jié)),工作電壓為3.3V,常見(jiàn)封裝為54腳TSOP,支持自動(dòng)刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數(shù)據(jù)寬度68

10.2.2HY57V561620的結(jié)構(gòu)

引腳 名稱(chēng)CLK

時(shí)鐘CKE

時(shí)鐘使能/CS

片選BA0,BA1

組地址選擇A12~A0

地址總線/RAS

行地址鎖/CAS

存列地址鎖/WE

存寫(xiě)使能LDQM,UDQM數(shù)據(jù)I/O屏蔽DQ15~DQ0

數(shù)據(jù)總線VDD/VSS

電源/地VDDQ/VSSQ電源/地NC

未連接69

二、存儲(chǔ)器的控制寄存器 內(nèi)存控制器為訪問(wèn)外部存儲(chǔ)空間提供存儲(chǔ)器控制信號(hào),S3C2440存儲(chǔ)器控制器共有13個(gè)寄存器。寄存器地址功能操作復(fù)位值BWSCON0x48000000總線寬度和等待控制讀/寫(xiě)0x0BANKCON00x48000004BANK0控制讀/寫(xiě)0x0700BANKCON10x48000008BANK1控制讀/寫(xiě)0x0700BANKCON20x4800000CBANK2控制讀/寫(xiě)0x0700BANKCON30x48000010BANK3控制讀/寫(xiě)0x0700BANKCON40x48000014BANK4控制讀/寫(xiě)0x0700BANKCON50x48000018BANK5控制讀/寫(xiě)0x0700BANKCON60x4800001CBANK6控制讀/寫(xiě)0x18008BANKCON70x48000020BANK7控制讀/寫(xiě)0x18008REFRESH0x48000024SDRAM刷新控制讀/寫(xiě)0xAC0000BANKSIZE0x48000028可變的組大小設(shè)置讀/寫(xiě)0x0MRSRB60x4800002CBANK6模式設(shè)置讀/寫(xiě)xxxMRSRB70x48000030BANK7模式設(shè)置讀/寫(xiě)xxx第9次到此此

1、總線寬度和等待控制寄存器31302928272625242322212019181716ST7WS7DW7ST6WS6DW6ST5WS5DW5ST4WS4DW41514131211109876543210ST3WS3DW3ST2WS2DW2ST1WS1DW1XDW0XSTn:控制存儲(chǔ)器組n的UB/LB引腳輸出信號(hào)。

1:使UB/LB與nBE[3:0]相連;

0:使UB/LB與nWBE[3:0]相連WSn:使用/禁用存儲(chǔ)器組n的WAIT狀態(tài)

1:使能WAIT;0:禁止WAITDWn:控制存儲(chǔ)器組n的數(shù)據(jù)線寬

00:8位;01:16位;10:32位;11:保留Tacs:設(shè)置nGCSn有效前地址的建立時(shí)間

00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘周期Tcos:設(shè)置nOE有效前片選信號(hào)的建立時(shí)間

00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘周期Tacc:訪問(wèn)周期

000:1個(gè);001:2個(gè);010:3個(gè);011:4個(gè)時(shí)鐘

100:6個(gè):101:8個(gè);110:10個(gè);111:14個(gè)1514131211109876543210TacsTcosTaccTcohTcahTacpPMC2、BANKn存儲(chǔ)器組控制寄存器(n=0--5)31302928272625242322212019181716Tcoh:nOE無(wú)效后片選信號(hào)的保持時(shí)間

00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tcah:nGCSn無(wú)效后地址信號(hào)的保持時(shí)間

00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tacp:頁(yè)模式的訪問(wèn)周期

00:2個(gè);01:3個(gè);10:4個(gè);11:6個(gè)時(shí)鐘PMC:頁(yè)模式的配置,每次讀寫(xiě)的數(shù)據(jù)數(shù)

00:1個(gè);01:4個(gè);10:8個(gè);11:16個(gè) 注:00為通常模式。

注:紫色為實(shí)驗(yàn)箱上的配置,其值為0x0700MT:設(shè)置存儲(chǔ)器類(lèi)型

00:ROM或者SRAM,[3:0]為T(mén)acp和PMC;

11:SDRAM,[3:0]為T(mén)rcd和SCAN;

01、10:保留Trcd:由行地址信號(hào)切換到列地址信號(hào)的延時(shí)時(shí)鐘數(shù)

00:2個(gè)時(shí)鐘;01:3個(gè)時(shí)鐘;10:4個(gè)時(shí)鐘

SCAN:列地址位數(shù)

00:8位; 01:9位; 10:10位

14131211109876543210TacsTcosTaccTcohTcahTacp/TrcdPMC/SCAN

3、BANK6/7存儲(chǔ)器組6/7控制寄存器31……171615保留MTREFEN:刷新控制。 1:使能刷新;0:禁止刷新TREFMD:刷新方式。 1:自刷新 0:自動(dòng)刷新Trp:設(shè)置SDRAM行刷新時(shí)間(時(shí)鐘數(shù))

00:2個(gè)時(shí)鐘;01:3個(gè);10:3個(gè);11:4個(gè)時(shí)鐘Tsrc:設(shè)置SDRAM行操作時(shí)間(時(shí)鐘數(shù))

00:4個(gè)時(shí)鐘;01:5個(gè);10:6個(gè);11:7個(gè)時(shí)鐘 注:SDRAM的行周期=Trp+Tsrc。Refresh_count:刷新計(jì)數(shù)值1514131211109876543210保留Refresh_count4、REFRESH刷新控制寄存器31……242322212019181716保留REFENTREFMDTrpTsrc保留Refresh_count:刷新計(jì)數(shù)器值 計(jì)算公式:刷新周期=(211-Refresh_count+1)/HCLK例子:設(shè)刷新周期=15.6μs,HCLK=60MHz則 刷新計(jì)數(shù)器值=211+1-60×15.6=1113 1113=0x459=0b10001011001 高24位未用。BURST_EN:ARM突發(fā)操作控制

0:禁止突發(fā)操作;1:可突發(fā)操作SCKE_EN:SCKE使能控制SDRAM省電模式

0:關(guān)閉省電模式;1:使能省電模式SCLK_EN:SCLK省電控制,使其只在SDRAM訪問(wèn)周期內(nèi)使能SCLK 0:SCLK一直有效;1:SCLK只在訪問(wèn)期間有效BK76MAP:控制BANK6/7的大小及映射76543210BURST_ENXSCKE_ENSCLK_ENXBK76MAP5、BANKSIZEBANK6/7組大小控制寄存器BK76MAP:控制BANK6/7的大小及映射

100:2MB; 101:4MB;

110:8MB 111:16MB;

000:32MB; 001:64MB 010:128MBWBL:突發(fā)寫(xiě)的長(zhǎng)度。0:固定長(zhǎng)度;1:保留TM:測(cè)試模式。 00:模式寄存器集;其它保留CL:列地址反應(yīng)時(shí)間

000:1個(gè)時(shí)鐘;010:2個(gè)時(shí)鐘;

011:3個(gè)時(shí)鐘;其它保留BT:猝發(fā)類(lèi)型

0:連續(xù); 1:保留BL:猝發(fā)時(shí)間

000:1個(gè)時(shí)鐘;其它保留

6、MRSRB6/7BANK6/7模式設(shè)置寄存器1514131211109876543210WBLTMCLBTBLBANK控制寄存器設(shè)置

S3C2440A有8個(gè)BANKCONn寄存器,分別對(duì)應(yīng)著B(niǎo)ank0~Bank7。Bank6~Bank7可以作為SDRAM等類(lèi)型存儲(chǔ)器的映射空間BANKCONn寄存器在Bank6和Bank7上的位定義BANKCONn寄存器在MT=11時(shí)的相關(guān)位定義

Trcd是從行使能到列使能的延遲,根據(jù)S3C2440A的HCLK頻率(100M)及HY57V561620特性,此項(xiàng)取01。SCAN為列地址線數(shù)量,此項(xiàng)根據(jù)HY57V561620特性取01。803.REFRESH是DRAM/SDRAM刷新控制器

81寄存器設(shè)置

4、BANKSIZE寄存器82NandFlash及其控制器主要內(nèi)容1、NandFlash控制器概述2、控制器主要特性3、控制器的寄存器4、控制器的工作原理NandFlash及其控制器

Norflash存儲(chǔ)器:讀速度高,而擦、寫(xiě)速度低,容量小,價(jià)格高。

Nandflash存儲(chǔ)器:讀速度不如Norflash,而擦、寫(xiě)速度高,容量大,價(jià)格低。有取代磁盤(pán)的趨勢(shì)。 因此,現(xiàn)在不少用戶(hù)從Nandflash啟動(dòng)和引導(dǎo)系統(tǒng),而在SDRAM上執(zhí)行主程序代碼。一、NandFlash控制器概述

S3C2410X微控制器從Nandflash的引導(dǎo)功能:其內(nèi)部有一個(gè)叫做“起步石(Steppingstone)”的SRAM緩沖器,系統(tǒng)啟動(dòng)時(shí),Nandflash存儲(chǔ)器的前面4KByte字節(jié)將被自動(dòng)載入到起步石中,然后系統(tǒng)自動(dòng)執(zhí)行這些載入的引導(dǎo)代碼。引導(dǎo)代碼執(zhí)行完畢后,自動(dòng)跳轉(zhuǎn)到SDRAM執(zhí)行。

Nandflash操作的校驗(yàn)功能:使用S3C2410X內(nèi)部硬件ECC功能可以對(duì)Nandflash的數(shù)據(jù)進(jìn)行有效性的檢測(cè)。

二、NandFlash控制器主要特性

NandFlash模式:支持讀/擦/編程N(yùn)andflash存儲(chǔ)器。 自動(dòng)導(dǎo)入模式:復(fù)位后,引導(dǎo)代碼被送入Steppingstone,傳送后,引導(dǎo)代碼在Steppingstone中執(zhí)行。 具有硬件ECC(糾錯(cuò)碼)功能:硬件產(chǎn)生糾錯(cuò)代碼。 內(nèi)部4KB的SRAM緩沖器Steppingstone,在Nandflash引導(dǎo)后可以作為其他用途使用。NandFlash控制器功能框圖主要由6部分組成引腳信號(hào):CLE:命令鎖存R/nB:就緒/忙三、NandFlash控制器的寄存器寄存器地址功能操作復(fù)位值NFCON0x4E000000NandFlash配置讀/寫(xiě)-NFCMD0x4E000004NandFlash命令讀/寫(xiě)-NFADDR0x4E000008NandFlash地址讀/寫(xiě)-NFDATA0x4E00000CNandFlash數(shù)據(jù)讀/寫(xiě)-NFSTAT0x4E000010NandFlash狀態(tài)讀/寫(xiě)-NFECC0x4E000014NandFlash糾錯(cuò)讀/寫(xiě)-NFEN:NF控制器使能控制

0:禁止使用; 1:允許使用IECC:初始化ECC編碼/解碼器控制位

0:不初始化ECC; 1:初始化ECCNFCE:NF片選信號(hào)nFCE控制位持續(xù)時(shí)間設(shè)置

0:nFCE為低有效; 0:nFCE為高無(wú)效TACLE:CLE/ALE持續(xù)時(shí)間設(shè)置值(07) 持續(xù)時(shí)間=

HCLK*(TACLS+1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論