嵌入式系統(tǒng)原理第4章a.ppt_第1頁
嵌入式系統(tǒng)原理第4章a.ppt_第2頁
嵌入式系統(tǒng)原理第4章a.ppt_第3頁
嵌入式系統(tǒng)原理第4章a.ppt_第4頁
嵌入式系統(tǒng)原理第4章a.ppt_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2020/9/2,1,宇航學(xué)院飛行器控制系 系統(tǒng)與仿真實(shí)驗(yàn)室 主講教師 劉永善,嵌入式系統(tǒng)原理,2020/9/2,2,第4章 嵌入式系統(tǒng)外圍電路,4.1 存儲器 4.2 系統(tǒng)總線與通信接口,本章參考書目: 1 袁志勇等主編. 嵌入式系統(tǒng)原理與應(yīng)用技術(shù). 北京航空航天大學(xué)出版社 2 孟祥蓮主編. 嵌入式系統(tǒng)原理及應(yīng)用教程. 清華大學(xué)出版社 3 徐端全編著. 嵌入式系統(tǒng)原理與設(shè)計(jì).北京航空航天大學(xué)出版社,2020/9/2,3,4.1 存儲器,4.1.1 存儲器概述 4.1.2 SRAM和DRAM 4.1.3 NOR Flash和NAND Flash 4.1.4 S3C2410存儲系統(tǒng) 4.1.5

2、MCS-51存儲系統(tǒng),2020/9/2,4,4.1.1 存儲器概述,存儲器是用來存儲信息的部件,是計(jì)算機(jī)的重要組成部分。 PC機(jī)的各類存儲器已經(jīng)模塊化和標(biāo)準(zhǔn)化,應(yīng)用設(shè)計(jì)中不必過多關(guān)注 嵌入式系統(tǒng)針對應(yīng)用進(jìn)行特殊定制,往往需要自主設(shè)計(jì)存儲系統(tǒng)。 存儲系統(tǒng)的層次結(jié)構(gòu) 在復(fù)雜的嵌入式系統(tǒng)中,存儲器系統(tǒng)的組織結(jié)構(gòu)按作用可以劃分為4級:寄存器、 Cache、主存儲器和輔助存儲器,如圖4.1-1所示。越靠近CPU的存儲器速度越快而容量越小。對于嵌入式系統(tǒng)來說,寄存器和Cache一般設(shè)置在CPU內(nèi)部。存儲器設(shè)計(jì)主要考慮主存儲器和輔助存儲器。,圖4.1-1 存儲器組織結(jié)構(gòu),2020/9/2,5,4.1.1 存

3、儲器概述,存儲器設(shè)計(jì)的主要工作 完成系統(tǒng)地址分配,確定每個存儲器芯片對應(yīng)的地址范圍。 存儲器設(shè)計(jì)需要考慮兩方面問題 了解CPU的存儲結(jié)構(gòu):CPU的存儲空間、訪問類型和訪問時序 存儲器本身的工作原理 主存儲器和輔助存儲器的劃分 主存儲器(又稱主存、內(nèi)存)是電路板上的半導(dǎo)體存儲器件,速度較快,容量較小,價格較高,用于存儲當(dāng)前計(jì)算機(jī)運(yùn)行所需要的程序和數(shù)據(jù),可與CPU直接交換信息。 輔助存儲器(又稱輔存、外存)速度較慢,容量較大,價格較低,用于存放計(jì)算機(jī)當(dāng)前暫時不用的程序、數(shù)據(jù)或需要永久保持的信息。包括硬盤、光盤、U盤、電子盤及各類存儲卡。CPU需要配備專門的設(shè)備才能完成對外存的讀寫。,2020/9/

4、2,6,4.1.1 存儲器概述,主存儲器分類 非易失性存儲器 ROM:電路結(jié)構(gòu)簡單,內(nèi)部數(shù)據(jù)不能改動,只能讀出 PROM:可編程,只能寫一次 EPROM:紫外線擦除、可編程,擦除和編程時間較慢 E2PROM:電信號擦除,擦除和寫入時間仍較長 FLASH Memory:快閃存儲器,集成度高 易失性存儲器 SRAM:靜態(tài)隨機(jī)存儲器,讀/寫速度快,功耗大 DRAM:動態(tài)隨機(jī)存儲器,集成度高,容量大,但需要周期性的刷新,2020/9/2,7,4.1.1 存儲器概述,主存儲器分類(續(xù)),圖4.1-2 主存儲器分類,2020/9/2,8,4.1.2 SRAM和DRAM,RAM(Random Access

5、Memory)隨機(jī)訪問存儲器 用途:用于存儲正在運(yùn)行的程序和數(shù)據(jù)。 特點(diǎn):可以隨機(jī)訪問任何地址單元;掉電后數(shù)據(jù)丟失。 分類: SRAM(Static RAM)靜態(tài)隨機(jī)訪問存儲器 DRAM(Dynamic RAM)動態(tài)隨機(jī)訪問存儲器 4.1.2.1 SRAM存儲器及其接口 4.1.2.2 DRAM存儲器及其接口,2020/9/2,9,4.1.2.1 SRAM存儲器及其接口,SRAM存儲器的原理結(jié)構(gòu) 由存儲矩陣、地址譯碼器、數(shù)據(jù)驅(qū)動器和讀/寫控制邏輯構(gòu)成。,地址,數(shù)據(jù),控制,圖4.1-3 SRAM存儲器結(jié)構(gòu),2020/9/2,10,4.1.2.1 SRAM存儲器及其接口,SRAM存儲器的結(jié)構(gòu)特點(diǎn)

6、各SRAM芯片的引腳信號種類基本相同。 芯片存儲容量與地址線條數(shù)相對應(yīng),如8kB(213)容量對應(yīng)13根地址線。 芯片存儲位數(shù)與數(shù)據(jù)線條數(shù)相對應(yīng)。 SRAM存儲器的工作過程 讀出:地址信號A12A0經(jīng)譯碼后選中一個存儲單元(含8個存儲位),控制信號構(gòu)成讀出邏輯(CS1=0、CS2=1、OE=0、WE=1),打開右面的8個三態(tài)門,被選中單元的8位數(shù)據(jù)經(jīng)I/O電路和三態(tài)門送到數(shù)據(jù)線D7D0 寫入:地址信號A12A0經(jīng)譯碼后選中一個存儲單元,控制信號構(gòu)成寫入邏輯(CS1=0、CS2=1、OE=1、WE=0),打開左邊的三態(tài)門,數(shù)據(jù)信號D7D0經(jīng)三態(tài)門和I/O電路,寫到被選中存儲單元的8個存儲位中。

7、片選處于無效狀態(tài)(CS1=1或CS2=0)時,輸入輸出三態(tài)門至高阻狀態(tài),存儲器芯片與系統(tǒng)總線“脫離”。,2020/9/2,11,4.1.2.1 SRAM存儲器及其接口,SRAM的讀/寫時序,圖4.1-4 SRAM的讀時序,2020/9/2,12,4.1.2.1 SRAM存儲器及其接口,SRAM的讀/寫時序(續(xù)),圖4.1-5 SRAM的寫時序,2020/9/2,13,4.1.2.1 SRAM存儲器及其接口,SRAM與CPU接口 一般的CPU都具有和SRAM存儲器接口相連的總線,因此連接方法也比較簡單。微處理器與SRAM的接口信號有: 片選信號線CE:用于選中該芯片 。 讀/寫控制信號線OE和W

8、E:控制芯片數(shù)據(jù)引腳的傳送方向。 地址線:用于指明讀/寫單元的地址。 數(shù)據(jù)線:雙向信號線,用于數(shù)據(jù)交換。,圖4.1-6 CPU與SRAM的連接方式,2020/9/2,14,4.1.2.1 SRAM存儲器及其接口,SRAM與CPU接口(續(xù)) CPU與多片SRAM芯片連接: 擴(kuò)大存儲容量(單片容量?。焊呶坏刂纷g碼,產(chǎn)生片選信號 擴(kuò)大總線寬度(單片總線寬度?。?圖4.1-7 CPU與多片SRAM的連接圖,2020/9/2,15,4.1.2.2 DRAM存儲器及其接口,DRAM存儲器基本原理及特點(diǎn) DRAM利用MOS管柵極寄生電容的充電狀態(tài)存儲二進(jìn)制位信息,其基本存儲電路如圖所示。 在寫入數(shù)據(jù)時,行

9、選通和列選通信號為高電平,T1和T2管導(dǎo)通。數(shù)據(jù)信號線對電容充/放電,使電容處于高/低電平狀態(tài)。 在讀出數(shù)據(jù)時,行選通和列選通信號為高電平,T1和T2管導(dǎo)通。若電容狀態(tài)為“1”,則電荷向數(shù)據(jù)信號線釋放,讀出“1”信號;若電容狀態(tài)為“0”,則沒有放電電流。讀數(shù)過程破壞了電容充電狀態(tài),所以在讀出后需要立即重寫(刷新),恢復(fù)電容原狀態(tài)。 柵極寄生電容很小,漏電流會改變電容 狀態(tài),所以需要定期給電容補(bǔ)充電荷, 即DRAM刷新。刷新限制了讀寫速度, 使接口變得更復(fù)雜。 DRAM需要專門的控制器。 DRAM存儲器容量大、成本低,應(yīng)用廣。,圖4.1-8 DRAM基本存儲電路圖,2020/9/2,16,4.1

10、.2.2 DRAM存儲器及其接口,SDRAM(Synchronous DRAM)的原理結(jié)構(gòu) SDRAM在標(biāo)準(zhǔn)DRAM中加入同步控制邏輯(狀態(tài)機(jī)),利用一個單一的系統(tǒng)時鐘同步所有的地址、數(shù)據(jù)和控制信號。如圖4.1-9所示。 SDRAM同樣需要動態(tài)刷新。 SDRAM內(nèi)部一般分為多個Bank存儲塊,通過BA引腳來選擇Bank。被選中的Bank處于激活工作狀態(tài),其他Bank處于預(yù)充電狀態(tài),這樣就提高了訪問速度,降低了功耗。 SDRAM容量大,采用行、列地址復(fù)用的方式尋址內(nèi)部的存儲陣列, RAS(Row Address Strobe)、CAS(Column Address Strobe)分別是行地址選通

11、、列地址選通信號。在RAS有效時,所選中的Bank被激活,在CAS有效時,所選中的Bank進(jìn)行讀寫操作。 SDRAM用于組成系統(tǒng)的主存儲器,根據(jù)系統(tǒng)存儲總線的位寬和芯片的位寬,可能需要1、2、4、8片SDRAM。,2020/9/2,17,4.1.2.2 DRAM存儲器及其接口,SDRAM的工作時序 SDRAM讀寫時序如圖4.1-10所示。圖中參數(shù)說明如下: Trp (RAS Precharge Time):SDRAM行地址選通預(yù)充電時間 Trcd (RAS to CAS Delay):由行地址信號到列地址信號的延時 CL (CAS Latency):從列地址選通到數(shù)據(jù)有效的時間 BL (Bur

12、st Length):突發(fā)長度(連續(xù)傳輸?shù)拇鎯卧臄?shù)量) Trp、Trcd、CL和BL的設(shè)置分別參見3.4.4.2存儲器控制寄存器組的相關(guān)寄存器REFRESH、BANKCON6/7和MRSRB6/7。 處理器分兩次把地址送給SDRAM存儲器芯片: CPU輸出地址高位部分,此時CS、BA和RAS有效,行地址鎖存在芯片內(nèi)。 CPU輸出地址低位部分,此時CS、BA、CAS和WE有效, WE為低電平表示寫命令,為高電平表示讀命令。CL延遲只在讀操作中出現(xiàn)。 SDRAM的突發(fā)(Burst)傳輸:存儲矩陣中同一行的相鄰存儲單元可以連續(xù)進(jìn)行數(shù)據(jù)傳輸。,2020/9/2,18,圖4.1-9 SDRAM內(nèi)部結(jié)

13、構(gòu)圖,4個BANK,數(shù)據(jù)接口,行/列地址,控制信號,BANK選擇,信號說明,2020/9/2,19,表4.1-1 SDRAM信號說明,2020/9/2,20,圖4.1-10 SDRAM讀寫時序,Trp行地址選通預(yù)充電時間 Trcd由行地址信號切換到列地址信號的延時時鐘數(shù) CL從列地址選通到數(shù)據(jù)有效的時間 BL突發(fā)長度,2020/9/2,21,4.1.2.2 DRAM存儲器及其接口,SDRAM的工作時序(續(xù)) SDRAM的突發(fā)傳輸:在突發(fā)傳輸中,只要指定起始列地址和突發(fā)長度,芯片就自動對后續(xù)相應(yīng)數(shù)量的存儲單元進(jìn)行連續(xù)地讀/寫操作,而不需要反復(fù)提供列地址。如圖4.1-11所示。除了第一次數(shù)據(jù)傳輸有

14、多個時鐘延遲外,之后每個時鐘周期傳輸一個數(shù)據(jù)。,圖4.1-11 SDRAM突發(fā)讀操作時序,2020/9/2,22,4.1.2.2 DRAM存儲器及其接口,SDRAM與CPU接口 當(dāng)SDRAM與CPU連接時,除了保證正確的尋址外,還必須維護(hù)存儲器中的信息,使其不隨時間推移而丟失。所以,要求CPU具有SDRAM的動態(tài)刷新控制邏輯或在電路中增加動態(tài)刷新控制電路。 片選信號CS:用于選擇芯片。 地址線:用于指明讀/寫單元的地址。地址線是多根,應(yīng)與芯片內(nèi)部的存儲容量相匹配。 數(shù)據(jù)線:雙向信號線,用于數(shù)據(jù)交換。 讀/寫控制信號線OE和WE:控制芯片數(shù)據(jù)引腳的傳送方向。 存儲塊選擇BA:用于選擇芯片內(nèi)的存儲

15、塊Bank。 RAS、CAS:行、列地址選通信號。 CPU與SDRAM的典型接口如圖4.1-12所示。,2020/9/2,23,圖4.1-12 CPU與SDRAM的連接方式,圖4.1-12 CPU與SDRAM的連接方式,2020/9/2,24,4.1.3 NOR Flash和NAND Flash,非易失性存儲器主要包括ROM、EPROM、EEPROM和Flash。 閃存Flash具有容量大、成本低、電擦寫等特點(diǎn),應(yīng)用廣泛。 Flash主要分兩類:NOR Flash和NAND Flash NOR Flash的讀取速度比NAND Flash稍快一些,NAND Flash的擦除和寫入速度比NOR F

16、lash快很多。 NOR Flash容量116MB,更適合于少量代碼存儲;NAND Flash容量8128MB,更適合于高的數(shù)據(jù)存儲密度要求。 NOR Flash帶有SRAM接口,可以像SRAM那樣與微處理器連接;NAND Flash器件使用I/O口串行存取數(shù)據(jù),與微處理器接口復(fù)雜。 NAND Flash在單位尺寸內(nèi)提供更高的存儲容量,成本相對較低。 4.1.3.1 NOR Flash 4.1.3.2 NAND Flash,2020/9/2,25,4.1.3.1 NOR Flash,NOR Flash采用線性尋址,通過地址信號直接尋址內(nèi)部的每一個字節(jié)。其硬件接口與傳統(tǒng)的SRAM類似。 NOR

17、Flash實(shí)例W39L040A 臺灣Winbond產(chǎn)品 工作電壓: 3.3V單電壓工作 容量:512kx8位 內(nèi)部組成:由8個相同的塊(sector)組成,每塊為64kB,每塊可單獨(dú)擦除 讀周期:70ns或90ns 字節(jié)編程周期:典型值為9s 擦除時間:整片擦除時間6秒,每塊擦除時間0.7秒 數(shù)據(jù)保存期:20年 封裝形式:PLCC32、STSOP32、DIP32、TSOP32,2020/9/2,26,4.1.3.1 NOR Flash,NOR Flash實(shí)例W39L040A,圖4.1-13 W39L040A結(jié)構(gòu)與封裝,2020/9/2,27,4.1.3.1 NOR Flash,NOR Flas

18、h實(shí)例W39L040A,表4.1-2 W39L040A信號說明,2020/9/2,28,4.1.3.1 NOR Flash,NOR Flash實(shí)例W39L040A,表4.1-3 W39L040A塊地址,2020/9/2,29,4.1.3.2 NAND Flash,NAND Flash特點(diǎn) NAND Flash存儲器具有極高的單元密度,可以實(shí)現(xiàn)很大的存儲容量,單片容量已達(dá)到128G bit。寫入和擦除的速度快,常用于實(shí)現(xiàn)大容量固態(tài)數(shù)據(jù)存儲。 采用I/O引腳串行傳送控制、地址和數(shù)據(jù)信息。 以頁為單位進(jìn)行讀、寫操作,以塊為單位進(jìn)行擦除操作。隨機(jī)讀取速度慢且不能按字節(jié)隨機(jī)編程。 NAND Flash應(yīng)

19、用 手機(jī)、PDA、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、MP3播放器、便攜式影音播放器、錄音筆、固態(tài)盤等。,2020/9/2,30,4.1.3.2 NAND Flash,NAND Flash結(jié)構(gòu)以K9F1208X0C為例 內(nèi)部存儲單元組織,存儲單元組織(64M+2M)x8bits 1 page=(512+16)bytes 1 block = 32 pages =(512+16)x32bytes 1 device = 4096 blocks = (64M+2M)bytes,圖4.1-14 NAND Flash內(nèi)部存儲單元組織,2020/9/2,31,4.1.3.2 NAND Flash,NAND Flash結(jié)構(gòu)

20、以K9F1208X0C為例 芯片內(nèi)部結(jié)構(gòu),圖4.1-15 NAND Flash芯片內(nèi)部結(jié)構(gòu),2020/9/2,32,4.1.3.2 NAND Flash,NAND Flash結(jié)構(gòu)以K9F1208X0C為例 K9F1208X0C信號說明,2020/9/2,33,4.1.3.2 NAND Flash,NAND Flash操作以K9F1208X0C為例 Block是NAND Flash中最大的操作單元,擦除以Block為單位完成,編程和讀取以Page為單位完成。對NAND Flash操作需要三類地址: 塊地址(Block Address) 頁地址(Page Address) 頁內(nèi)地址(Column

21、Address) NAND Flash數(shù)據(jù)線和地址線是復(fù)用的,傳送地址需要4個時鐘周期。如表所示。,2020/9/2,34,4.1.3.2 NAND Flash,NAND Flash操作以K9F1208X0C為例 NAND Flash寫塊操作流程,圖4.1-16 NAND Flash寫塊操作流程圖,2020/9/2,35,4.1.4 S3C2410存儲系統(tǒng),4.1.4.1 存儲系統(tǒng)機(jī)制 4.1.4.2 S3C2410存儲空間 4.1.4.3 存儲器控制器專用寄存器 4.1.4.4 NAND Flash專用寄存器 4.1.4.5 S3C2410存儲器接口設(shè)計(jì),2020/9/2,36,4.1.4.

22、1 存儲系統(tǒng)機(jī)制,1)存儲器接口方式 SRAM型的全地址/數(shù)據(jù)總線接口:這種類型的地址線數(shù)目和片內(nèi)存儲單元數(shù)一一對應(yīng),接口比較簡單。擁有此類接口的存儲器有SRAM、EPROM、EEPROM、NOR Flash等。 DRAM型動態(tài)存儲器接口:存儲單元需要定期地刷新。CPU與其接口的信號線除了有與SRAM相同的信號線外,還有RAS(行地址選通)信號線和CAS(列地址選通)信號線。一般和具有動態(tài)存儲器控制器的CPU相連接。擁有此類接口的存儲器有DRAM、SDRAM、DDR SDRAM等。 串行存儲器接口:與CPU以串行的方式傳送地址和數(shù)據(jù),傳送速度相對較慢,多用于嵌入式系統(tǒng)的輔助存儲器。擁有此類接口

23、的存儲器有NAND Flash、串行EEPROM、串行SRAM等。,2020/9/2,37,4.1.4.1 存儲系統(tǒng)機(jī)制,2)高速緩存機(jī)制(Cache) 高速緩存Cache是一種小型、快速的存儲器,處于CPU和主存儲器之間,目的是解決主存儲器速度與CPU速度的不匹配問題。 微處理器通過高速緩存控制器訪問高速緩存及主存系統(tǒng),如圖所示。 微處理器需要訪問主存儲器數(shù)據(jù)時,通過高速緩存控制器向Cache和主存發(fā)送請求信號,如果被請求單元在Cache中,Cache控制器會將單元內(nèi)容轉(zhuǎn)發(fā)至微處理器并終止對主存的請求,這被稱為高速緩存命中;如果被請求單元不在Cache中,Cache控制器會將讀取主存的值并轉(zhuǎn)

24、發(fā)至微處理器,這被稱為高速緩存未命中。,當(dāng)高速緩存未命中時,Cache控制器通過地址映射,把主存中存放的數(shù)據(jù)按照某種規(guī)則裝入到Cache中,并建立主存地址到Cache地址之間的對應(yīng)關(guān)系。,圖4.1-17 帶高速緩存的存儲系統(tǒng),2020/9/2,38,4.1.4.1 存儲系統(tǒng)機(jī)制,3)存儲管理單元(MMU) 微處理器產(chǎn)生的虛擬地址空間大,存儲器的物理地址空間相對較小。運(yùn)行在操作系統(tǒng)上的應(yīng)用程序,所發(fā)出的地址稱為虛擬地址或邏輯地址,不是真正的物理地址。存儲管理單元(MMU)集成在微處理器芯片內(nèi)部,主要用來完成虛擬地址和物理地址之間的轉(zhuǎn)換。 MMU完成的主要功能有: 將主存地址從虛擬存儲空間映射到物

25、理存儲空間; 存儲器訪問權(quán)限控制; 設(shè)置虛擬存儲空間的緩沖特性等。 如圖,MMU從微處理器獲得邏輯地址,內(nèi)部用表結(jié)構(gòu)把他們轉(zhuǎn)換成同實(shí)際的主存相對應(yīng)的物理地址。通過改變這些表,可以改變程序駐留的物理單元而不必改變程序的代碼或數(shù)據(jù)。,圖4.1-18 虛擬地址存儲系統(tǒng),2020/9/2,39,4.1.4.1 存儲系統(tǒng)機(jī)制,3)存儲管理單元(MMU) MMU作用舉例 如果應(yīng)用程序較大(特別是在多任務(wù)情況下),就可以把程序中暫不執(zhí)行的部分移出主存,而存儲在輔助存儲器。MMU記錄了哪些邏輯地址駐留在主存中,哪些保留在輔助存儲器中。當(dāng)微處理器請求一個不在主存中的地址時,MMU產(chǎn)生一個異常,該異常的處理程序把

26、所需單元從輔助存儲器讀到主存中,并移出主存中原有部分單元。這一操作由MMU完成。 MMU管理虛擬存儲器的方式 分段方式:支持較大的、任意大小的內(nèi)存區(qū)域 分頁方式:支持較小的、固定大小的內(nèi)存區(qū)域 段頁方式:介于分段方式和分頁方式之間。,2020/9/2,40,4.1.4.1 存儲系統(tǒng)機(jī)制,3)存儲管理單元(MMU) ARM920T核的MMU采用分頁虛擬存儲器管理方式 把虛擬存儲空間分成一個個固定大小的頁,把物理主存儲空間也分成同樣大小的一個個頁。通過查詢存放在主存中的頁表,來實(shí)現(xiàn)虛擬地址到物理地址的變換。如圖所示。 由于頁表存儲在主存儲器中,查詢頁表所花的代價很大,通常又采用快表技術(shù)TLB(Tr

27、anslation Lookaside Buffer)來提高地址變換效率。,圖4.1-19 分頁式地址轉(zhuǎn)換原理,2020/9/2,41,4.1.4.2 S3C2410存儲空間,S3C2410芯片采用ARM920T核,地址空間大小為232個字節(jié),總共為4GB。其中,1GB地址空間用于支持外部存儲器的連接,另外的空間的一小部分用于控制寄存器和I/O端口尋址,其他地址空間沒有用到。其存儲空間如圖4.1-20所示。 S3C2410支持兩種啟動模式 從Nand Flash啟動 從nGCS0片選ROM啟動 啟動方式由OM1、OM0引腳確定 00-從Nand Flash啟動 01-從16位寬度的ROM啟動

28、10-從32位寬度的ROM啟動 11-處理器為測試模式,圖4.1-20 S3C2410存儲空間,2020/9/2,42,圖4.1-21 S3C2410存儲空間分配圖,2020/9/2,43,4.1.4.2 S3C2410存儲空間,1GB外部存儲器尋址空間的特點(diǎn) 支持大端/小端格式(可通過編程選擇); 8個存儲塊Bank ,每塊128MB : 6個Bank用于ROM、SRAM,2個用于ROM、SRAM、SDRAM 從Bank0到Bank6都有固定的起始地址,Bank7起始地址可編程 Bank6和Bank7的大小可以編程 Bank0支持16/32 位數(shù)據(jù)總線寬度,Bank1Bank7支持8/16/

29、32 位數(shù)據(jù)總線寬度 所有存儲器 Bank 都具有可編程的訪問周期; 可用nWAIT(等待)信號來擴(kuò)展外部存儲器的讀/寫周期; 支持SDRAM自主刷新和省電模式; 支持各種型號的ROM引導(dǎo)(NOR/NAND Flash、EEPROM或其他)。,2020/9/2,44,4.1.4.3 存儲器控制器專用寄存器,存儲器控制器(Memory Controller)專用寄存器共有13個,相關(guān)內(nèi)容在3.4.4.2節(jié)已做介紹,此處再羅列如下。 1)總線寬度和WAIT控制寄存器(BWSCON) STn:控制存儲塊n是否使用UB/LB(高字節(jié)/低字節(jié))功能。 1:使用UB/LB(16位存儲器引腳UB/LB連接n

30、BE3:0) 0:不用UB/LB(16位存儲器引腳UB/LB連接nWBE3:0) WSn:使用/禁用存儲塊n的WAIT狀態(tài) 1:使能WAIT;0:禁止WAIT DWn:控制存儲塊n的數(shù)據(jù)總線寬度 00:8位;01:16位;10:32位;11:保留,2020/9/2,45,4.1.4.3 存儲器控制器專用寄存器,2)BANKCONn存儲塊控制寄存器(n=05) Tacs:設(shè)置在片選信號nGCSn出現(xiàn)之前,建立有效地址的時間 00:0個時鐘周期; 01:1個; 10:2個; 11:4個時鐘周期 Tcos:設(shè)置在nOE信號有效之前,片選信號nGCSn的建立時間 00:0個時鐘周期; 01:1個; 1

31、0:2個; 11:4個時鐘周期 Tacc:存取周期控制位(若nWAIT信號被使用,則要求Tacc4時鐘周期) 000:1個時鐘周期; 001:2個; 010:3個; 011:4個時鐘周期 100:6個時鐘周期; 101:8個; 110:10個; 111:14個時鐘周期 Tcoh:設(shè)置在nOE信號無效之后,片選信號nGCSn的保持時間 00:0個時鐘周期; 01:1個; 10:2個; 11:4個時鐘周期 Tcah: 設(shè)置在片選信號nGCSn無效之后,有效地址的保持時間 00:0個時鐘周期; 01:1個; 10:2個; 11:4個時鐘周期 Tacp:頁模式下的存取周期控制位 00:2個時鐘周期;

32、01:3個; 10:4個; 11:6個時鐘周期 PMC:頁模式配置(Page Mode Configuration),每次讀寫的數(shù)據(jù)數(shù) 00:常規(guī)(1 data);01:4個; 10:8個; 11:16data,2020/9/2,46,4.1.4.3 存儲器控制器專用寄存器,3)BANKCON6/7存儲塊6/7控制寄存器 MT:設(shè)置Bank6/Bank7的存儲器類型 00:ROM或者SRAM,3:0為Tacp和PMC; 11:SDRAM(同步動態(tài)RAM), 3:0為Trcd和SCAN; 01、10:保留 Trcd:由行地址信號切換到列地址信號的延時時鐘數(shù) 00:2個時鐘周期; 01:3個時鐘;

33、 10:4個時鐘 SCAN:列地址位數(shù)(Column Adderss Number) 00:8位; 01:9位; 10:10位,2020/9/2,47,4.1.4.3 存儲器控制器專用寄存器,4)REFRESH刷新控制寄存器 SDRAM存儲器需要使用REFRESH寄存器,復(fù)位后的值為0 xAC0000。 REFEN:刷新使能控制位。 1:允許刷新;0:禁止刷新 TREFMD:SDRAM刷新模式控制位。1:Self模式; 0:auto模式 Trp(RAS Precharge Time):設(shè)置SDRAM行地址選通預(yù)充電時間 00:2個時鐘周期; 01:3個; 10:4個; 11:不支持 Tsrc(

34、Semi Row Cycle Time):設(shè)置SDRAM半行周期時間 00:4個時鐘周期; 01:5個; 10:6個; 11:7個時鐘周期 注:SDRAM行周期時間Trc = Trp + Tsrc。 Refresh_count:SDRAM刷新計(jì)數(shù)值 刷新周期=(211-Refresh_count+1)/HCLK 例如,設(shè)刷新周期=15.6s,HCLK=60MHz, 刷新計(jì)數(shù)器值=211+1-6015.6=1113=0 x459=0b10001011001。,2020/9/2,48,4.1.4.3 存儲器控制器專用寄存器,5)BANKSIZE存儲塊6/7大小控制寄存器 存儲塊6/7大小控制寄存器

35、默認(rèn)值為0 x02。其高24位未用,低8位說明如下。 BURST_EN:ARM內(nèi)核突發(fā)操作使能控制位 0:禁止突發(fā)操作; 1:允許突發(fā)操作 SCKE_EN:SDRAM省電模式使能控制位 0:關(guān)閉省電模式; 1:使能省電模式 SCLK_EN:SCLK使能控制位,為省電可使其只在SDRAM訪問周期被激活 0:SCLK總是激活; 1:SCLK僅在訪問周期被激活(推薦) BK76MAP:存儲塊BANK6/7實(shí)裝容量(大?。┛刂莆?100:2MB; 101:4MB; 110:8MB; 111:16MB; 000:32MB; 001:64MB; 010:128MB,2020/9/2,49,4.1.4.3

36、存儲器控制器專用寄存器,6)MRSRB6/7存儲塊6/7模式設(shè)置寄存器 WBL(Write Burst Length):寫突發(fā)的長度 0:固定長度; 1:保留 TM:測試模式 00:模式寄存器設(shè)置; 其它:保留 CL(CAS Latency):從列地址選通到數(shù)據(jù)有效的時間 000:1個時鐘周期; 010:2個時鐘周期; 011:3個時鐘周期; 其它:保留 BT(Burst Type):突發(fā)類型 0:順序(固定); 1:保留 BL(Burst Length):突發(fā)長度 000:1個時鐘周期; 其它:保留,2020/9/2,50,4.1.4.4 NAND Flash專用寄存器,NAND Flash

37、專用寄存器,2020/9/2,51,4.1.4.4 NAND Flash專用寄存器,1)NFCONFFlash配置寄存器 NFEN:NAND Flash控制器使能控制位 0:禁止使用;1:允許使用 IECC:初始化ECC編碼/解碼器控制位 0:不初始化ECC;1:初始化ECC NFCE:NAND Flash片選信號nFCE控制位 0:nFCE低電平有效;1:nFCE高電平有效 TACLE:設(shè)置CLE/ALE(命令/地址鎖存允許)持續(xù)時間(07) 持續(xù)時間 HCLK * (TACLS + 1) TWRPH0:設(shè)置寫信號持續(xù)時間(07) 持續(xù)時間 HCLK * (TWRPH01) TWRPH1:設(shè)

38、置寫信號無效后CLE/ALE保持時間(07) 持續(xù)時間 HCLK * (TWRPH11),2020/9/2,52,4.1.4.4 NAND Flash專用寄存器,2)NFCMDFlash命令寄存器 低8位是寫入NAND Flash的命令值 3)NFADDRFlash地址寄存器 低8位是Flash存儲器地址值 4)NFDATAFlash數(shù)據(jù)寄存器 低8位是寫入或者讀出的數(shù)據(jù),2020/9/2,53,4.1.4.4 NAND Flash專用寄存器,5)NFSTATFlash狀態(tài)寄存器 RnB:Nand Flash存儲器狀態(tài)位 0:存儲器忙;1:存儲器準(zhǔn)備好 6)NFECCFlash錯誤校正碼寄存器

39、,2020/9/2,54,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),S3C2410的兩種啟動模式 非NAND Flash啟動:Bank0存儲塊外接ROM類存儲器(如EEPROM、NOR Flash),啟動代碼放在0 x0000 0000地址上,總線寬度在第一次訪問ROM前根據(jù)OM1、OM0在復(fù)位時的邏輯組合來確定。 OM1:0=10:從32位寬度ROM啟動,見例4.1-1。 OM1:0=01:從16位寬度ROM啟動,見例4.1-2。 Nand Flash啟動:CPU從NAND Flash中讀取4KB啟動代碼到內(nèi)部的SRAM(起始地址0 x0000 0000)中并且執(zhí)行此代碼。 OM1:0=

40、00:從Nand Flash啟動,見例4.1-3。,2020/9/2,55,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),例4.1-1 用4片8位EEROM芯片(或NOR Flash芯片)設(shè)計(jì)32位的BOOT存儲器。 注意:在地址線連接中要錯開兩位,即S3C2410的地址線ADDR23:2與存儲器的A21:0分別連接。,圖4.1-22 用字節(jié)EEPROM/Flash進(jìn)行BOOT ROM設(shè)計(jì),2020/9/2,56,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),例4.1-2 用1片16位EEROM芯片(或NOR Flash芯片)設(shè)計(jì)16位的BOOT存儲器。 注意:在地址線連接中要錯開1位,即S3

41、C2410的地址線ADDR22:1與存儲器的A21:0分別連接。,圖4.1-23 用半字EEPROM/Flash進(jìn)行半字BOOT ROM設(shè)計(jì),2020/9/2,57,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),例4.1-3 用1片NAND Flash芯片K9F1208X0C設(shè)計(jì)BOOT存儲器。,信號說明如下 CLE (O):命令鎖存使能。 ALE (O):地址鎖存使能。 nFCE (O):NAND Flash芯片使能。 nFRE (O):NAND Flash讀使能。 nFWE (O):NAND Flash寫使能。,圖4.1-24 一個NAND Flash存儲器接口電路,WP:寫保護(hù),防止意外

42、的編程操作或擦除操作。 R/B: Ready/Busy輸出。 I/O0I/O7:輸入/輸出信號,用于輸入命令、地址和數(shù)據(jù)。與S3C2410的低8位數(shù)據(jù)線相連。,2020/9/2,58,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),SRAM型存儲器設(shè)計(jì) Bank1Bank7均可以連接ROM/SRAM型存儲器,可以擁有不同寬度的數(shù)據(jù)總線,數(shù)據(jù)寬度通過專用寄存器設(shè)置。,圖4.1-26 與1片16位ROM的連接,圖4.1-25 與2片8位ROM的連接,2020/9/2,59,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),SDRAM型存儲器設(shè)計(jì) 與1片16M的SDRAM的連接方法,圖4.1-27 與1片

43、16M的SDRAM的連接方法,2020/9/2,60,4.1.4.5 S3C2410存儲器接口設(shè)計(jì),SDRAM型存儲器設(shè)計(jì)(續(xù)) 與2片16M的SDRAM的連接方法,圖4.1-28 與2片16M的SDRAM的連接方法,2020/9/2,61,4.1.5 MCS-51存儲系統(tǒng),圖4.1-29 8051單片機(jī)結(jié)構(gòu),2020/9/2,62,4.1.5 MCS-51存儲系統(tǒng),單片機(jī)系統(tǒng)擴(kuò)展是指單片機(jī)內(nèi)部功能部件不能滿足應(yīng)用系統(tǒng)的要求時,在片外連接相應(yīng)功能的外圍芯片,對單片機(jī)的功能進(jìn)行擴(kuò)展以滿足應(yīng)用要求。 4.1.5.1 MCS-51外部總線的擴(kuò)展 4.1.5.2 程序存儲器的擴(kuò)展 4.1.5.3 數(shù)據(jù)

44、存儲器的擴(kuò)展 4.1.5.4 存儲器綜合擴(kuò)展舉例,2020/9/2,63,4.1.5.1 MCS-51外部總線的擴(kuò)展,采用三總線(地址、數(shù)據(jù)、控制)結(jié)構(gòu)型式,如圖4.1-30所示。單片機(jī)P0口作為低8位地址/數(shù)據(jù)總線的復(fù)用端口,由地址鎖存器進(jìn)行地址/數(shù)據(jù)的分離。,圖4.1-30 單片機(jī)外部擴(kuò)展的三總線,疑問,2020/9/2,64,4.1.5.1 MCS-51外部總線的擴(kuò)展,地址總線 P2口輸出高8位地址A8A15,該口具有輸出鎖存功能,能保留地址信息。 P0口是低8位地址/數(shù)據(jù)分時復(fù)用的總線口。在引腳ALE為高電平期間P0口輸出低8位地址A0A7,在ALE無效期間(低電平)P0口傳送數(shù)據(jù)D0

45、D7。用ALE作地址鎖存器的鎖存信號,其下降沿將P0口上的地址信息鎖存下來。 P2口與被鎖存的P0口的低8位地址共同形成了16位的地址總線,尋址范圍64kB。 常用的地址鎖存器芯片有74HC373、8282等。,2020/9/2,65,4.1.5.1 MCS-51外部總線的擴(kuò)展,數(shù)據(jù)總線 8位數(shù)據(jù)總線D0D7由P0口提供,用于傳送指令和數(shù)據(jù)信息。 P0口作為數(shù)據(jù)線使用時是雙向的。 控制總線 輸出控制線 ALE地址鎖存信號 PSEN 外部程序存儲器的讀選通信號 RD、WR 外部數(shù)據(jù)存儲器RAM/IO的讀、寫選通信號 輸入控制線 EA 內(nèi)、外程序存儲器的選擇控制信號,2020/9/2,66,4.1

46、.5.1 MCS-51外部總線的擴(kuò)展,疑問:MCS-51單片機(jī)擴(kuò)展的外部程序存儲器和外部數(shù)據(jù)存儲器共用16根地址總線,CPU訪問這兩個存儲空間時為什么不會發(fā)生地址沖突?也就是,單片機(jī)如何區(qū)分64kB程序存儲器空間和64kB數(shù)據(jù)存儲器空間? 解答:MCS-51單片機(jī)擴(kuò)展的外部程序存儲器由PSEN信號選通,擴(kuò)展的外部數(shù)據(jù)存儲器由RD、WR信號選通。單片機(jī)訪問外部程序存儲器時只有PSEN信號有效而RD、WR信號無效(保持高電平);訪問外部數(shù)據(jù)存儲器時RD或WR信號有效而PSEN信號無效(高電平)。51單片機(jī)不會同時訪問這兩個外部存儲空間,所以擴(kuò)展的兩個存儲空間雖然共用16位地址總線,但由于選通信號不

47、同,因此訪問這兩個存儲空間時不會發(fā)生地址沖突。,2020/9/2,67,4.1.5.1 MCS-51外部總線的擴(kuò)展,常用的地址鎖存器芯片有74LS373、8282。圖4.1-31給出了它們的引腳及作地址鎖存器的接法。 74LS373和8282是帶三態(tài)輸出的8位鎖存器,它們的結(jié)構(gòu)和用法相似,只是引腳排列順序不同。 74LS373的 為輸出門控制端,當(dāng)其接地時輸出門常通。G為鎖存控制信號。 當(dāng) 為低、G為高電平時,輸出跟隨輸入變動; 當(dāng) 為低、G由高變低時,輸出端8位信息被鎖存; 當(dāng) 為高電平時,三態(tài)門輸出為高阻態(tài)。 用74LS373作地址鎖存器時,可將 端接地,將G端與單片機(jī)的ALE端連接,可實(shí)

48、現(xiàn)地址鎖存。,2020/9/2,68,4.1.5.1 MCS-51外部總線的擴(kuò)展,圖4.1-31 地址鎖存器連接圖,2020/9/2,69,4.1.5.2 程序存儲器的擴(kuò)展,程序存儲器擴(kuò)展方法 將單片機(jī)的擴(kuò)展三總線與程序存儲器的對應(yīng)管腳相連,如圖4.1-32所示。ALE連接鎖存器的控制端;PSEN接程序存儲器的輸出允許OE;EA對8031來說必須接地,對8051、8751來說應(yīng)接高電平+5V。,圖4.1-32 程序存儲器擴(kuò)展原理,程序存儲器擴(kuò)展特性 地址范圍:0000HFFFFH; 取指令由PSEN控制,讀取數(shù)據(jù)用MOVC查表指令; 一般采用大容量芯片,用線選法選擇芯片; 程序存儲器與數(shù)據(jù)存儲

49、器共用地址總線與數(shù)據(jù)總線。,2020/9/2,70,4.1.5.2 程序存儲器的擴(kuò)展,EPROM的擴(kuò)展方法 常用EPROM芯片:2764、27C64、27128、27256等 型號中高兩位數(shù)字27表示EPROM,低位數(shù)據(jù)表示其位存儲容量。如27128表示128k個存儲位的EPROM(16kB8),字節(jié)容量為16kB。EPROM引腳中,An為地址線,Dn為數(shù)據(jù)線,OE為輸出允許端,CE為片選端,VPP為編程電壓寫入端,PGM為編程脈沖輸入端。 使用單片EPROM芯片的擴(kuò)展電路 由于只有一片EPROM芯片,片選端CE接地。圖4.1-33為采用一片27256擴(kuò)展32kB程序存儲器的電路圖。 使用多片

50、EPROM芯片的擴(kuò)展電路 采用譯碼法產(chǎn)生片選信號。圖4.1-34為采用4片27128擴(kuò)展64kB程序存儲器的電路圖。,2020/9/2,71,4.1.5.2 程序存儲器的擴(kuò)展,圖4.1-33 采用一片27256擴(kuò)展程序存儲器的電路圖,2020/9/2,72,4.1.5.2 程序存儲器的擴(kuò)展,圖4.1-34 采用4片27128擴(kuò)展程序存儲器的電路圖,2020/9/2,73,4.1.5.2 程序存儲器的擴(kuò)展,EEPROM的擴(kuò)展方法 EEPROM(Electronic Erasable Programmable ROM,又稱E2PROM)常用芯片有:2816A、2817A、2864等。 優(yōu)點(diǎn):能在應(yīng)

51、用系統(tǒng)中進(jìn)行在線改寫,并能在斷電情況下保存數(shù)據(jù)。 注意:E2PROM讀出時間完全能滿足程序存儲器的要求,但寫入時間較長,需915ms。考慮到程序存儲器不需要頻繁寫入,只需改寫一些指令數(shù)據(jù)或表格常數(shù)??梢杂绍浖刂茖懭霑r間,簡化硬件電路。 圖4.1-35為2816A的擴(kuò)展電路,RD和PSEN相“與”后提供給2816A的OE端,使得E2PROM既作為程序存儲器又作為數(shù)據(jù)存儲器。對E2PROM寫入時,應(yīng)使用MOVX指令,將E2PROM看作是外部擴(kuò)展RAM。,2020/9/2,74,4.1.5.2 程序存儲器的擴(kuò)展,圖4.1-35 EEPROM 2816A的擴(kuò)展電路,2020/9/2,75,4.1.5.3 數(shù)據(jù)存儲器的擴(kuò)展,數(shù)據(jù)存儲器擴(kuò)展方法 外部數(shù)據(jù)存儲器擴(kuò)展時,地址總線和數(shù)據(jù)總線的連接方法與程序存儲器的

溫馨提示

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

最新文檔

評論

0/150

提交評論