嵌入式系统原理第4章a.ppt_第1页
嵌入式系统原理第4章a.ppt_第2页
嵌入式系统原理第4章a.ppt_第3页
嵌入式系统原理第4章a.ppt_第4页
嵌入式系统原理第4章a.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/8/1,1,宇航学院飞行器控制系 系统与仿真实验室 主讲教师 刘永善,嵌入式系统原理,2019/8/1,2,第4章 嵌入式系统外围电路,4.1 存储器 4.2 系统总线与通信接口,本章参考书目: 1 袁志勇等主编. 嵌入式系统原理与应用技术. 北京航空航天大学出版社 2 孟祥莲主编. 嵌入式系统原理及应用教程. 清华大学出版社 3 徐端全编著. 嵌入式系统原理与设计.北京航空航天大学出版社,2019/8/1,3,4.1 存储器,4.1.1 存储器概述 4.1.2 SRAM和DRAM 4.1.3 NOR Flash和NAND Flash 4.1.4 S3C2410存储系统 4.1.5 MCS-51存储系统,2019/8/1,4,4.1.1 存储器概述,存储器是用来存储信息的部件,是计算机的重要组成部分。 PC机的各类存储器已经模块化和标准化,应用设计中不必过多关注 嵌入式系统针对应用进行特殊定制,往往需要自主设计存储系统。 存储系统的层次结构 在复杂的嵌入式系统中,存储器系统的组织结构按作用可以划分为4级:寄存器、 Cache、主存储器和辅助存储器,如图4.1-1所示。越靠近CPU的存储器速度越快而容量越小。对于嵌入式系统来说,寄存器和Cache一般设置在CPU内部。存储器设计主要考虑主存储器和辅助存储器。,图4.1-1 存储器组织结构,2019/8/1,5,4.1.1 存储器概述,存储器设计的主要工作 完成系统地址分配,确定每个存储器芯片对应的地址范围。 存储器设计需要考虑两方面问题 了解CPU的存储结构:CPU的存储空间、访问类型和访问时序 存储器本身的工作原理 主存储器和辅助存储器的划分 主存储器(又称主存、内存)是电路板上的半导体存储器件,速度较快,容量较小,价格较高,用于存储当前计算机运行所需要的程序和数据,可与CPU直接交换信息。 辅助存储器(又称辅存、外存)速度较慢,容量较大,价格较低,用于存放计算机当前暂时不用的程序、数据或需要永久保持的信息。包括硬盘、光盘、U盘、电子盘及各类存储卡。CPU需要配备专门的设备才能完成对外存的读写。,2019/8/1,6,4.1.1 存储器概述,主存储器分类 非易失性存储器 ROM:电路结构简单,内部数据不能改动,只能读出 PROM:可编程,只能写一次 EPROM:紫外线擦除、可编程,擦除和编程时间较慢 E2PROM:电信号擦除,擦除和写入时间仍较长 FLASH Memory:快闪存储器,集成度高 易失性存储器 SRAM:静态随机存储器,读/写速度快,功耗大 DRAM:动态随机存储器,集成度高,容量大,但需要周期性的刷新,2019/8/1,7,4.1.1 存储器概述,主存储器分类(续),图4.1-2 主存储器分类,2019/8/1,8,4.1.2 SRAM和DRAM,RAM(Random Access Memory)随机访问存储器 用途:用于存储正在运行的程序和数据。 特点:可以随机访问任何地址单元;掉电后数据丢失。 分类: SRAM(Static RAM)静态随机访问存储器 DRAM(Dynamic RAM)动态随机访问存储器 4.1.2.1 SRAM存储器及其接口 4.1.2.2 DRAM存储器及其接口,2019/8/1,9,4.1.2.1 SRAM存储器及其接口,SRAM存储器的原理结构 由存储矩阵、地址译码器、数据驱动器和读/写控制逻辑构成。,地址,数据,控制,图4.1-3 SRAM存储器结构,2019/8/1,10,4.1.2.1 SRAM存储器及其接口,SRAM存储器的结构特点 各SRAM芯片的引脚信号种类基本相同。 芯片存储容量与地址线条数相对应,如8kB(213)容量对应13根地址线。 芯片存储位数与数据线条数相对应。 SRAM存储器的工作过程 读出:地址信号A12A0经译码后选中一个存储单元(含8个存储位),控制信号构成读出逻辑(CS1=0、CS2=1、OE=0、WE=1),打开右面的8个三态门,被选中单元的8位数据经I/O电路和三态门送到数据线D7D0 写入:地址信号A12A0经译码后选中一个存储单元,控制信号构成写入逻辑(CS1=0、CS2=1、OE=1、WE=0),打开左边的三态门,数据信号D7D0经三态门和I/O电路,写到被选中存储单元的8个存储位中。 片选处于无效状态(CS1=1或CS2=0)时,输入输出三态门至高阻状态,存储器芯片与系统总线“脱离”。,2019/8/1,11,4.1.2.1 SRAM存储器及其接口,SRAM的读/写时序,图4.1-4 SRAM的读时序,2019/8/1,12,4.1.2.1 SRAM存储器及其接口,SRAM的读/写时序(续),图4.1-5 SRAM的写时序,2019/8/1,13,4.1.2.1 SRAM存储器及其接口,SRAM与CPU接口 一般的CPU都具有和SRAM存储器接口相连的总线,因此连接方法也比较简单。微处理器与SRAM的接口信号有: 片选信号线CE:用于选中该芯片 。 读/写控制信号线OE和WE:控制芯片数据引脚的传送方向。 地址线:用于指明读/写单元的地址。 数据线:双向信号线,用于数据交换。,图4.1-6 CPU与SRAM的连接方式,2019/8/1,14,4.1.2.1 SRAM存储器及其接口,SRAM与CPU接口(续) CPU与多片SRAM芯片连接: 扩大存储容量(单片容量小):高位地址译码,产生片选信号 扩大总线宽度(单片总线宽度小),图4.1-7 CPU与多片SRAM的连接图,2019/8/1,15,4.1.2.2 DRAM存储器及其接口,DRAM存储器基本原理及特点 DRAM利用MOS管栅极寄生电容的充电状态存储二进制位信息,其基本存储电路如图所示。 在写入数据时,行选通和列选通信号为高电平,T1和T2管导通。数据信号线对电容充/放电,使电容处于高/低电平状态。 在读出数据时,行选通和列选通信号为高电平,T1和T2管导通。若电容状态为“1”,则电荷向数据信号线释放,读出“1”信号;若电容状态为“0”,则没有放电电流。读数过程破坏了电容充电状态,所以在读出后需要立即重写(刷新),恢复电容原状态。 栅极寄生电容很小,漏电流会改变电容 状态,所以需要定期给电容补充电荷, 即DRAM刷新。刷新限制了读写速度, 使接口变得更复杂。 DRAM需要专门的控制器。 DRAM存储器容量大、成本低,应用广。,图4.1-8 DRAM基本存储电路图,2019/8/1,16,4.1.2.2 DRAM存储器及其接口,SDRAM(Synchronous DRAM)的原理结构 SDRAM在标准DRAM中加入同步控制逻辑(状态机),利用一个单一的系统时钟同步所有的地址、数据和控制信号。如图4.1-9所示。 SDRAM同样需要动态刷新。 SDRAM内部一般分为多个Bank存储块,通过BA引脚来选择Bank。被选中的Bank处于激活工作状态,其他Bank处于预充电状态,这样就提高了访问速度,降低了功耗。 SDRAM容量大,采用行、列地址复用的方式寻址内部的存储阵列, RAS(Row Address Strobe)、CAS(Column Address Strobe)分别是行地址选通、列地址选通信号。在RAS有效时,所选中的Bank被激活,在CAS有效时,所选中的Bank进行读写操作。 SDRAM用于组成系统的主存储器,根据系统存储总线的位宽和芯片的位宽,可能需要1、2、4、8片SDRAM。,2019/8/1,17,4.1.2.2 DRAM存储器及其接口,SDRAM的工作时序 SDRAM读写时序如图4.1-10所示。图中参数说明如下: Trp (RAS Precharge Time):SDRAM行地址选通预充电时间 Trcd (RAS to CAS Delay):由行地址信号到列地址信号的延时 CL (CAS Latency):从列地址选通到数据有效的时间 BL (Burst Length):突发长度(连续传输的存储单元的数量) Trp、Trcd、CL和BL的设置分别参见3.4.4.2存储器控制寄存器组的相关寄存器REFRESH、BANKCON6/7和MRSRB6/7。 处理器分两次把地址送给SDRAM存储器芯片: CPU输出地址高位部分,此时CS、BA和RAS有效,行地址锁存在芯片内。 CPU输出地址低位部分,此时CS、BA、CAS和WE有效, WE为低电平表示写命令,为高电平表示读命令。CL延迟只在读操作中出现。 SDRAM的突发(Burst)传输:存储矩阵中同一行的相邻存储单元可以连续进行数据传输。,2019/8/1,18,图4.1-9 SDRAM内部结构图,4个BANK,数据接口,行/列地址,控制信号,BANK选择,信号说明,2019/8/1,19,表4.1-1 SDRAM信号说明,2019/8/1,20,图4.1-10 SDRAM读写时序,Trp行地址选通预充电时间 Trcd由行地址信号切换到列地址信号的延时时钟数 CL从列地址选通到数据有效的时间 BL突发长度,2019/8/1,21,4.1.2.2 DRAM存储器及其接口,SDRAM的工作时序(续) SDRAM的突发传输:在突发传输中,只要指定起始列地址和突发长度,芯片就自动对后续相应数量的存储单元进行连续地读/写操作,而不需要反复提供列地址。如图4.1-11所示。除了第一次数据传输有多个时钟延迟外,之后每个时钟周期传输一个数据。,图4.1-11 SDRAM突发读操作时序,2019/8/1,22,4.1.2.2 DRAM存储器及其接口,SDRAM与CPU接口 当SDRAM与CPU连接时,除了保证正确的寻址外,还必须维护存储器中的信息,使其不随时间推移而丢失。所以,要求CPU具有SDRAM的动态刷新控制逻辑或在电路中增加动态刷新控制电路。 片选信号CS:用于选择芯片。 地址线:用于指明读/写单元的地址。地址线是多根,应与芯片内部的存储容量相匹配。 数据线:双向信号线,用于数据交换。 读/写控制信号线OE和WE:控制芯片数据引脚的传送方向。 存储块选择BA:用于选择芯片内的存储块Bank。 RAS、CAS:行、列地址选通信号。 CPU与SDRAM的典型接口如图4.1-12所示。,2019/8/1,23,图4.1-12 CPU与SDRAM的连接方式,图4.1-12 CPU与SDRAM的连接方式,2019/8/1,24,4.1.3 NOR Flash和NAND Flash,非易失性存储器主要包括ROM、EPROM、EEPROM和Flash。 闪存Flash具有容量大、成本低、电擦写等特点,应用广泛。 Flash主要分两类:NOR Flash和NAND Flash NOR Flash的读取速度比NAND Flash稍快一些,NAND Flash的擦除和写入速度比NOR Flash快很多。 NOR Flash容量116MB,更适合于少量代码存储;NAND Flash容量8128MB,更适合于高的数据存储密度要求。 NOR Flash带有SRAM接口,可以像SRAM那样与微处理器连接;NAND Flash器件使用I/O口串行存取数据,与微处理器接口复杂。 NAND Flash在单位尺寸内提供更高的存储容量,成本相对较低。 4.1.3.1 NOR Flash 4.1.3.2 NAND Flash,2019/8/1,25,4.1.3.1 NOR Flash,NOR Flash采用线性寻址,通过地址信号直接寻址内部的每一个字节。其硬件接口与传统的SRAM类似。 NOR Flash实例W39L040A 台湾Winbond产品 工作电压: 3.3V单电压工作 容量:512kx8位 内部组成:由8个相同的块(sector)组成,每块为64kB,每块可单独擦除 读周期:70ns或90ns 字节编程周期:典型值为9s 擦除时间:整片擦除时间6秒,每块擦除时间0.7秒 数据保存期:20年 封装形式:PLCC32、STSOP32、DIP32、TSOP32,2019/8/1,26,4.1.3.1 NOR Flash,NOR Flash实例W39L040A,图4.1-13 W39L040A结构与封装,2019/8/1,27,4.1.3.1 NOR Flash,NOR Flash实例W39L040A,表4.1-2 W39L040A信号说明,2019/8/1,28,4.1.3.1 NOR Flash,NOR Flash实例W39L040A,表4.1-3 W39L040A块地址,2019/8/1,29,4.1.3.2 NAND Flash,NAND Flash特点 NAND Flash存储器具有极高的单元密度,可以实现很大的存储容量,单片容量已达到128G bit。写入和擦除的速度快,常用于实现大容量固态数据存储。 采用I/O引脚串行传送控制、地址和数据信息。 以页为单位进行读、写操作,以块为单位进行擦除操作。随机读取速度慢且不能按字节随机编程。 NAND Flash应用 手机、PDA、数码相机、数码摄像机、MP3播放器、便携式影音播放器、录音笔、固态盘等。,2019/8/1,30,4.1.3.2 NAND Flash,NAND Flash结构以K9F1208X0C为例 内部存储单元组织,存储单元组织(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内部存储单元组织,2019/8/1,31,4.1.3.2 NAND Flash,NAND Flash结构以K9F1208X0C为例 芯片内部结构,图4.1-15 NAND Flash芯片内部结构,2019/8/1,32,4.1.3.2 NAND Flash,NAND Flash结构以K9F1208X0C为例 K9F1208X0C信号说明,2019/8/1,33,4.1.3.2 NAND Flash,NAND Flash操作以K9F1208X0C为例 Block是NAND Flash中最大的操作单元,擦除以Block为单位完成,编程和读取以Page为单位完成。对NAND Flash操作需要三类地址: 块地址(Block Address) 页地址(Page Address) 页内地址(Column Address) NAND Flash数据线和地址线是复用的,传送地址需要4个时钟周期。如表所示。,2019/8/1,34,4.1.3.2 NAND Flash,NAND Flash操作以K9F1208X0C为例 NAND Flash写块操作流程,图4.1-16 NAND Flash写块操作流程图,2019/8/1,35,4.1.4 S3C2410存储系统,4.1.4.1 存储系统机制 4.1.4.2 S3C2410存储空间 4.1.4.3 存储器控制器专用寄存器 4.1.4.4 NAND Flash专用寄存器 4.1.4.5 S3C2410存储器接口设计,2019/8/1,36,4.1.4.1 存储系统机制,1)存储器接口方式 SRAM型的全地址/数据总线接口:这种类型的地址线数目和片内存储单元数一一对应,接口比较简单。拥有此类接口的存储器有SRAM、EPROM、EEPROM、NOR Flash等。 DRAM型动态存储器接口:存储单元需要定期地刷新。CPU与其接口的信号线除了有与SRAM相同的信号线外,还有RAS(行地址选通)信号线和CAS(列地址选通)信号线。一般和具有动态存储器控制器的CPU相连接。拥有此类接口的存储器有DRAM、SDRAM、DDR SDRAM等。 串行存储器接口:与CPU以串行的方式传送地址和数据,传送速度相对较慢,多用于嵌入式系统的辅助存储器。拥有此类接口的存储器有NAND Flash、串行EEPROM、串行SRAM等。,2019/8/1,37,4.1.4.1 存储系统机制,2)高速缓存机制(Cache) 高速缓存Cache是一种小型、快速的存储器,处于CPU和主存储器之间,目的是解决主存储器速度与CPU速度的不匹配问题。 微处理器通过高速缓存控制器访问高速缓存及主存系统,如图所示。 微处理器需要访问主存储器数据时,通过高速缓存控制器向Cache和主存发送请求信号,如果被请求单元在Cache中,Cache控制器会将单元内容转发至微处理器并终止对主存的请求,这被称为高速缓存命中;如果被请求单元不在Cache中,Cache控制器会将读取主存的值并转发至微处理器,这被称为高速缓存未命中。,当高速缓存未命中时,Cache控制器通过地址映射,把主存中存放的数据按照某种规则装入到Cache中,并建立主存地址到Cache地址之间的对应关系。,图4.1-17 带高速缓存的存储系统,2019/8/1,38,4.1.4.1 存储系统机制,3)存储管理单元(MMU) 微处理器产生的虚拟地址空间大,存储器的物理地址空间相对较小。运行在操作系统上的应用程序,所发出的地址称为虚拟地址或逻辑地址,不是真正的物理地址。存储管理单元(MMU)集成在微处理器芯片内部,主要用来完成虚拟地址和物理地址之间的转换。 MMU完成的主要功能有: 将主存地址从虚拟存储空间映射到物理存储空间; 存储器访问权限控制; 设置虚拟存储空间的缓冲特性等。 如图,MMU从微处理器获得逻辑地址,内部用表结构把他们转换成同实际的主存相对应的物理地址。通过改变这些表,可以改变程序驻留的物理单元而不必改变程序的代码或数据。,图4.1-18 虚拟地址存储系统,2019/8/1,39,4.1.4.1 存储系统机制,3)存储管理单元(MMU) MMU作用举例 如果应用程序较大(特别是在多任务情况下),就可以把程序中暂不执行的部分移出主存,而存储在辅助存储器。MMU记录了哪些逻辑地址驻留在主存中,哪些保留在辅助存储器中。当微处理器请求一个不在主存中的地址时,MMU产生一个异常,该异常的处理程序把所需单元从辅助存储器读到主存中,并移出主存中原有部分单元。这一操作由MMU完成。 MMU管理虚拟存储器的方式 分段方式:支持较大的、任意大小的内存区域 分页方式:支持较小的、固定大小的内存区域 段页方式:介于分段方式和分页方式之间。,2019/8/1,40,4.1.4.1 存储系统机制,3)存储管理单元(MMU) ARM920T核的MMU采用分页虚拟存储器管理方式 把虚拟存储空间分成一个个固定大小的页,把物理主存储空间也分成同样大小的一个个页。通过查询存放在主存中的页表,来实现虚拟地址到物理地址的变换。如图所示。 由于页表存储在主存储器中,查询页表所花的代价很大,通常又采用快表技术TLB(Translation Lookaside Buffer)来提高地址变换效率。,图4.1-19 分页式地址转换原理,2019/8/1,41,4.1.4.2 S3C2410存储空间,S3C2410芯片采用ARM920T核,地址空间大小为232个字节,总共为4GB。其中,1GB地址空间用于支持外部存储器的连接,另外的空间的一小部分用于控制寄存器和I/O端口寻址,其他地址空间没有用到。其存储空间如图4.1-20所示。 S3C2410支持两种启动模式 从Nand Flash启动 从nGCS0片选ROM启动 启动方式由OM1、OM0引脚确定 00-从Nand Flash启动 01-从16位宽度的ROM启动 10-从32位宽度的ROM启动 11-处理器为测试模式,图4.1-20 S3C2410存储空间,2019/8/1,42,图4.1-21 S3C2410存储空间分配图,2019/8/1,43,4.1.4.2 S3C2410存储空间,1GB外部存储器寻址空间的特点 支持大端/小端格式(可通过编程选择); 8个存储块Bank ,每块128MB : 6个Bank用于ROM、SRAM,2个用于ROM、SRAM、SDRAM 从Bank0到Bank6都有固定的起始地址,Bank7起始地址可编程 Bank6和Bank7的大小可以编程 Bank0支持16/32 位数据总线宽度,Bank1Bank7支持8/16/32 位数据总线宽度 所有存储器 Bank 都具有可编程的访问周期; 可用nWAIT(等待)信号来扩展外部存储器的读/写周期; 支持SDRAM自主刷新和省电模式; 支持各种型号的ROM引导(NOR/NAND Flash、EEPROM或其他)。,2019/8/1,44,4.1.4.3 存储器控制器专用寄存器,存储器控制器(Memory Controller)专用寄存器共有13个,相关内容在3.4.4.2节已做介绍,此处再罗列如下。 1)总线宽度和WAIT控制寄存器(BWSCON) STn:控制存储块n是否使用UB/LB(高字节/低字节)功能。 1:使用UB/LB(16位存储器引脚UB/LB连接nBE3:0) 0:不用UB/LB(16位存储器引脚UB/LB连接nWBE3:0) WSn:使用/禁用存储块n的WAIT状态 1:使能WAIT;0:禁止WAIT DWn:控制存储块n的数据总线宽度 00:8位;01:16位;10:32位;11:保留,2019/8/1,45,4.1.4.3 存储器控制器专用寄存器,2)BANKCONn存储块控制寄存器(n=05) Tacs:设置在片选信号nGCSn出现之前,建立有效地址的时间 00:0个时钟周期; 01:1个; 10:2个; 11:4个时钟周期 Tcos:设置在nOE信号有效之前,片选信号nGCSn的建立时间 00:0个时钟周期; 01:1个; 10:2个; 11:4个时钟周期 Tacc:存取周期控制位(若nWAIT信号被使用,则要求Tacc4时钟周期) 000:1个时钟周期; 001:2个; 010:3个; 011:4个时钟周期 100:6个时钟周期; 101:8个; 110:10个; 111:14个时钟周期 Tcoh:设置在nOE信号无效之后,片选信号nGCSn的保持时间 00:0个时钟周期; 01:1个; 10:2个; 11:4个时钟周期 Tcah: 设置在片选信号nGCSn无效之后,有效地址的保持时间 00:0个时钟周期; 01:1个; 10:2个; 11:4个时钟周期 Tacp:页模式下的存取周期控制位 00:2个时钟周期; 01:3个; 10:4个; 11:6个时钟周期 PMC:页模式配置(Page Mode Configuration),每次读写的数据数 00:常规(1 data);01:4个; 10:8个; 11:16data,2019/8/1,46,4.1.4.3 存储器控制器专用寄存器,3)BANKCON6/7存储块6/7控制寄存器 MT:设置Bank6/Bank7的存储器类型 00:ROM或者SRAM,3:0为Tacp和PMC; 11:SDRAM(同步动态RAM), 3:0为Trcd和SCAN; 01、10:保留 Trcd:由行地址信号切换到列地址信号的延时时钟数 00:2个时钟周期; 01:3个时钟; 10:4个时钟 SCAN:列地址位数(Column Adderss Number) 00:8位; 01:9位; 10:10位,2019/8/1,47,4.1.4.3 存储器控制器专用寄存器,4)REFRESH刷新控制寄存器 SDRAM存储器需要使用REFRESH寄存器,复位后的值为0xAC0000。 REFEN:刷新使能控制位。 1:允许刷新;0:禁止刷新 TREFMD:SDRAM刷新模式控制位。1:Self模式; 0:auto模式 Trp(RAS Precharge Time):设置SDRAM行地址选通预充电时间 00:2个时钟周期; 01:3个; 10:4个; 11:不支持 Tsrc(Semi Row Cycle Time):设置SDRAM半行周期时间 00:4个时钟周期; 01:5个; 10:6个; 11:7个时钟周期 注:SDRAM行周期时间Trc = Trp + Tsrc。 Refresh_count:SDRAM刷新计数值 刷新周期=(211-Refresh_count+1)/HCLK 例如,设刷新周期=15.6s,HCLK=60MHz, 刷新计数器值=211+1-6015.6=1113=0x459=0b10001011001。,2019/8/1,48,4.1.4.3 存储器控制器专用寄存器,5)BANKSIZE存储块6/7大小控制寄存器 存储块6/7大小控制寄存器默认值为0x02。其高24位未用,低8位说明如下。 BURST_EN:ARM内核突发操作使能控制位 0:禁止突发操作; 1:允许突发操作 SCKE_EN:SDRAM省电模式使能控制位 0:关闭省电模式; 1:使能省电模式 SCLK_EN:SCLK使能控制位,为省电可使其只在SDRAM访问周期被激活 0:SCLK总是激活; 1:SCLK仅在访问周期被激活(推荐) BK76MAP:存储块BANK6/7实装容量(大小)控制位 100:2MB; 101:4MB; 110:8MB; 111:16MB; 000:32MB; 001:64MB; 010:128MB,2019/8/1,49,4.1.4.3 存储器控制器专用寄存器,6)MRSRB6/7存储块6/7模式设置寄存器 WBL(Write Burst Length):写突发的长度 0:固定长度; 1:保留 TM:测试模式 00:模式寄存器设置; 其它:保留 CL(CAS Latency):从列地址选通到数据有效的时间 000:1个时钟周期; 010:2个时钟周期; 011:3个时钟周期; 其它:保留 BT(Burst Type):突发类型 0:顺序(固定); 1:保留 BL(Burst Length):突发长度 000:1个时钟周期; 其它:保留,2019/8/1,50,4.1.4.4 NAND Flash专用寄存器,NAND Flash专用寄存器,2019/8/1,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:设置CLE/ALE(命令/地址锁存允许)持续时间(07) 持续时间 HCLK * (TACLS + 1) TWRPH0:设置写信号持续时间(07) 持续时间 HCLK * (TWRPH01) TWRPH1:设置写信号无效后CLE/ALE保持时间(07) 持续时间 HCLK * (TWRPH11),2019/8/1,52,4.1.4.4 NAND Flash专用寄存器,2)NFCMDFlash命令寄存器 低8位是写入NAND Flash的命令值 3)NFADDRFlash地址寄存器 低8位是Flash存储器地址值 4)NFDATAFlash数据寄存器 低8位是写入或者读出的数据,2019/8/1,53,4.1.4.4 NAND Flash专用寄存器,5)NFSTATFlash状态寄存器 RnB:Nand Flash存储器状态位 0:存储器忙; 1:存储器准备好 6)NFECCFlash错误校正码寄存器,2019/8/1,54,4.1.4.5 S3C2410存储器接口设计,S3C2410的两种启动模式 非NAND Flash启动:Bank0存储块外接ROM类存储器(如EEPROM、NOR Flash),启动代码放在0x0000 0000地址上,总线宽度在第一次访问ROM前根据OM1、OM0在复位时的逻辑组合来确定。 OM1:0=10:从32位宽度ROM启动,见例4.1-1。 OM1:0=01:从16位宽度ROM启动,见例4.1-2。 Nand Flash启动:CPU从NAND Flash中读取4KB启动代码到内部的SRAM(起始地址0x0000 0000)中并且执行此代码。 OM1:0=00:从Nand Flash启动,见例4.1-3。,2019/8/1,55,4.1.4.5 S3C2410存储器接口设计,例4.1-1 用4片8位EEROM芯片(或NOR Flash芯片)设计32位的BOOT存储器。 注意:在地址线连接中要错开两位,即S3C2410的地址线ADDR23:2与存储器的A21:0分别连接。,图4.1-22 用字节EEPROM/Flash进行BOOT ROM设计,2019/8/1,56,4.1.4.5 S3C2410存储器接口设计,例4.1-2 用1片16位EEROM芯片(或NOR Flash芯片)设计16位的BOOT存储器。 注意:在地址线连接中要错开1位,即S3C2410的地址线ADDR22:1与存储器的A21:0分别连接。,图4.1-23 用半字EEPROM/Flash进行半字BOOT ROM设计,2019/8/1,57,4.1.4.5 S3C2410存储器接口设计,例4.1-3 用1片NAND Flash芯片K9F1208X0C设计BOOT存储器。,信号说明如下 CLE (O):命令锁存使能。 ALE (O):地址锁存使能。 nFCE (O):NAND Flash芯片使能。 nFRE (O):NAND Flash读使能。 nFWE (O):NAND Flash写使能。,图4.1-24 一个NAND Flash存储器接口电路,WP:写保护,防止意外的编程操作或擦除操作。 R/B: Ready/Busy输出。 I/O0I/O7:输入/输出信号,用于输入命令、地址和数据。与S3C2410的低8位数据线相连。,2019/8/1,58,4.1.4.5 S3C2410存储器接口设计,SRAM型存储器设计 Bank1Bank7均可以连接ROM/SRAM型存储器,可以拥有不同宽度的数据总线,数据宽度通过专用寄存器设置。,图4.1-26 与1片16位ROM的连接,图4.1-25 与2片8位ROM的连接,2019/8/1,59,4.1.4.5 S3C2410存储器接口设计,SDRAM型存储器设计 与1片16M的SDRAM的连接方法,图4.1-27 与1片16M的SDRAM的连接方法,2019/8/1,60,4.1.4.5 S3C2410存储器接口设计,SDRAM型存储器设计(续) 与2片16M的SDRAM的连接方法,图4.1-28 与2片16M的SDRAM的连接方法,2019/8/1,61,4.1.5 MCS-51存储系统,图4.1-29 8051单片机结构,2019/8/1,62,4.1.5 MCS-51存储系统,单片机系统扩展是指单片机内部功能部件不能满足应用系统的要求时,在片外连接相应功能的外围芯片,对单片机的功能进行扩展以满足应用要求。 4.1.5.1 MCS-51外部总线的扩展 4.1.5.2 程序存储器的扩展 4.1.5.3 数据存储器的扩展 4.1.5.4 存储器综合扩展举例,2019/8/1,63,4.1.5.1 MCS-51外部总线的扩展,采用三总线(地址、数据、控制)结构型式,如图4.1-30所示。单片机P0口作为低8位地址/数据总线的复用端口,由地址锁存器进行地址/数据的分离。,图4.1-30 单片机外部扩展的三总线,疑问,2019/8/1,64,4.1.5.1 MCS-51外部总线的扩展,地址总线 P2口输出高8位地址A8A15,该口具有输出锁存功能,能保留地址信息。 P0口是低8位地址/数据分时复用的总线口。在引脚ALE为高电平期间P0口输出低8位地址A0A7,在ALE无效期间(低电平)P0口传送数据D0D7。用ALE作地址锁存器的锁存信号,其下降沿将P0口上的地址信息锁存下来。 P2口与被锁存的P0口的低8位地址共同形成了16位的地址总线,寻址范围64kB。 常用的地址锁存器芯片有74HC373、8282等。,2019/8/1,65,4.1.5.1 MCS-51外部总线的扩展,数据总线 8位数据总线D0D7由P0口提供,用于传送指令和数据信息。 P0口作为数据线使用时是双向的。 控制总线 输出控制线 ALE地址锁存信号 PSEN 外部程序存储器的读选通信号 RD、WR 外部数据存储器RAM/IO的读、写选通信号 输入控制线 EA 内、外程序存储器的选择控制信号,2019/8/1,66,4.1.5.1 MCS-51外部总线的扩展,疑问:MCS-51单片机扩展的外部程序存储器和外部数据存储器共用16根地址总线,CPU访问这两个存储空间时为什么不会发生地址冲突?也就是,单片机如何区分64kB程序存储器空间和64kB数据存储器空间? 解答:MCS-51单片机扩展的外部程序存储器由PSEN信号选通,扩展的外部数据存储器由RD、WR信号选通。单片机访问外部程序存储器时只有PSEN信号有效而RD、WR信号无效(保持高电平);访问外部数据存储器时RD或WR信号有效而PSEN信号无效(高电平)。51单片机不会同时访问这两个外部存储空间,所以扩展的两个存储空间虽然共用16位地址总线,但由于选通信号不同,因此访问这两个存储空间时不会发生地址冲突。,2019/8/1,67,4.1.5.1 MCS-51外部总线的扩展,常用的地址锁存器芯片有74LS373、8282。图4.1-31给出了它们的引脚及作地址锁存器的接法。 74LS373和8282是带三态输出的8位锁存器,它们的结构和用法相似,只是引脚排列顺序不同。 74LS373的 为输出门控制端,当其接地时输出门常通。G为锁存控制信号。 当 为低、G为高电平时,输出跟随输入变动; 当 为低、G由高变低时,输出端8位信息被锁存; 当 为高电平时,三态门输出为高阻态。 用74LS373作地址锁存器时,可将 端接地,将G端与单片机的ALE端连接,可实现地址锁存。,2019/8/1,68,4.1.5.1 MCS-51外部总线的扩展,图4.1-31 地址锁存器连接图,2019/8/1,69,4.1.5.2 程序存储器的扩展,程序存储器扩展方法 将单片机的扩展三总线与程序存储器的对应管脚相连,如图4.1-32所示。ALE连接锁存器的控制端;PSEN接程序存储器的输出允许OE;EA对8031来说必须接地,对8051、8751来说应接高电平+5V。,图4.1-32 程序存储器扩展原理,程序存储器扩展特性 地址范围:0000HFFFFH; 取指令由PSEN控制,读取数据用MOVC查表指令; 一般采用大容量芯片,用线选法选择芯片; 程序存储器与数据存储器共用地址总线与数据总线。,2019/8/1,70,4.1.5.2 程序存储器的扩展,EPROM的扩展方法 常用EPROM芯片:2764、27C64、27128、27256等 型号中高两位数字27表示EPROM,低位数据表示其位存储容量。如27128表示128k个存储位的EPROM(16kB8),字节容量为16kB。EPROM引脚中,An为地址线,Dn为数据线,OE为输出允许端,CE为片选端,VPP为编程电压写入端,PGM为编程脉冲输入端。 使用单片EPROM芯片的扩展电路 由于只有一片EPROM芯片,片选端CE接地。图4.1-33为采用一片27256扩展32kB程序存储器的电路图。 使用多片EPROM芯片的扩展电路 采用译码法产生片选信号。图4.1-34为采用4片27128扩展64kB程序存储器的电路图。,2019/8/1,71,4.1.5.2 程序存储器的扩展,图4.1-33 采用一片27256扩展程序存储器的电路图,2019/8/1,72,4.1.5.2 程序存储器的扩展,图4.1-34 采用4片27128扩展程序存储器的电路图,2019/8/1,73,4.1.5.2 程序存储器的扩展,EEPROM的扩展方法 EEPROM(Electronic Erasable Programmable ROM,又称E2PROM)常用芯片有:2816A、2817A、2864等。 优点:能在应用系统中进行在线改写,并能在断电情况下保存数据。 注意:E2PROM读出时间完全能满足程序存储器的要求,但写入时间较长,需915ms。考虑到程序存储器不需要频繁写入,只需改写一些指令数据或表格常数。可以由软件控制写入时间,简化硬件电路。 图4.1-35为2816A的扩展电路,RD和PSEN相“与”后提供给2816A的OE端,使得E2PROM既作为程序存储器又作为数据存储器。对E2PROM写入时,应使用MOVX指令,将E2PROM看作是外部扩展RAM。,2019/8/1,74,4.1.5.2 程序存储器的扩展,图4.1-35 EEPROM 2816A的扩展电路,2019/8/1,75,4.1.5.3 数据存储器的扩展,数据存储器扩展方法 外部数据存储器扩展时,地址总线和数据总线的连接方法与程序存储器的扩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论