常用嵌入式存储器和嵌入式总线技术.ppt
《常用嵌入式存储器和嵌入式总线技术.ppt》由会员分享,可在线阅读,更多相关《常用嵌入式存储器和嵌入式总线技术.ppt(86页珍藏版)》请在三一办公上搜索。
1、 嵌入式系统原理与开发,第16讲南京大学计算机系 俞建新主讲,2008年春季,2008年07页13日,南京大学计算机系,2,第8章 嵌入式存储器和接口技术,本章主要介绍以下内容:嵌入式系统常用存储器嵌入式系统常用总线嵌入式系统常用接口嵌入式系统常用外部设备,2008年07页13日,南京大学计算机系,3,8.1 嵌入式系统常用存储器,嵌入式系统常用的存储器主要有这几类:ROM小规模容量、Bootloader载体容量16KB到32KBSRAMEmbedded SRAM,简称为嵌入式SRAM容量达几百K字节、用作片上Cache、片上SRAMSDRAMSynchronous Dynamic Rando
2、m Access Memory高密度同步动态随机访问存储器容量在8MB至512MB范围内Flash存储器大容量中低密度、最大容量达到32GB,2008年07页13日,南京大学计算机系,4,8.1.1 闪速存储器,闪速存储器是一种半导体集成电路存储器在EEPROM的基础上进化而来英文原文是Flash Memory,简称闪存主要物理特点是非易失Non-Volatile,也叫做不挥发,2008年07页13日,南京大学计算机系,5,与传统半导体存储器的比较,2008年07页13日,南京大学计算机系,6,两种类型的Flash,Nor Flash,称为或非型闪存,或者NOR闪存Nand Flash,称为与
3、非型闪存,或者NAND闪存Nor Flash是在EEPROM基础上发明的。Intel公司于1983年首次提出,在1988年商品化。Nand Flash是1989年东芝公司和三星公司发明的。十几年以来,世界主要闪存生产商分成Nor和Nand两大技术阵营,积极开展研发和生产。Nor阵营主要有Intel和AMD公司Nand阵营主要有Toshiba和Samsung公司,2008年07页13日,南京大学计算机系,7,闪存位元工作原理,Intel公司提出的单管叠栅位元结构是基于EPROM隧道氧化层(ETOX,EPROM Tunnel Oxide)的位元结构,该位元结构最为简单实用。下面以ETOX结构为例介
4、绍Flash存储器记忆位元的结构原理。,2008年07页13日,南京大学计算机系,8,ETOX位元结构,ETOX单元结构是由两个相互重叠的多晶硅栅组成,浮栅(FG,Floating Gate)用来存储电荷,以电荷记录所存储的数据;控制栅(CG,Control Gate)作为字选择栅极起控制与选择的作用。通过控制栅字线的电平状态能够检测所存储的是“0”还是“1”。,2008年07页13日,南京大学计算机系,9,Flash存储位元结构图,2008年07页13日,南京大学计算机系,10,Flash位元编程操作1,FG上有电子,成为“0”位元,2008年07页13日,南京大学计算机系,11,Flash
5、位元编程操作2,FG上无电子,成为“1”位元,此时电子汇集在源极,2008年07页13日,南京大学计算机系,12,Nor Flash记忆单元块的结构,Nor Flash存储器的一个存储单元(记忆单元)使用一个晶体管。每个晶体管有一个字线和一个位线与之相连。在这种存储阵列布局下,对某一根位线而言,有一组字线(例如8根)与之相交,在交叉点上有一个晶体管与两线相连。,2008年07页13日,南京大学计算机系,13,Nor Flash记忆单元块读操作图解,2008年07页13日,南京大学计算机系,14,Nor Flash的读操作说明,读数据时,未被选中字线上的晶体管栅极为接地电平,致使晶体管截止,成为
6、逻辑值“1”。选中字线上的栅极为高电平,并且这个晶体管的漏极会和该位线连通。于是位线上的电平逻辑取决于选中晶体管的逻辑。如果为“1”则晶体管导通,相应读出放大器(RA,Read Amplifier)输出“1”。如果为“0”,RA输出也为“0”。Nor Flash的逻辑功能类似于NOR门(或非门),由此而命名为Nor Flash。,2008年07页13日,南京大学计算机系,15,Nand Flash记忆单元块的结构,核心结构是将8个晶体管的漏极和源极头尾相连接成一组,最高端接位线,最低端与高电压的源极Vs相连接。存储阵列的行线是字线,平时保持适合的电平状态,使得这些晶体管通常是处于导通状态。读出
7、数据时,被选中的字线加高电平,未选中字线上的存储单元不论存储的值是逻辑0还是逻辑1都是导通的。这样,被选中的存储单元如果存“1”则导通,输出“1”,位线为高电平;如果存“0”则截止,位线为低电平,输出“0”。这个逻辑功能类似于NAND门(与非门)。,2008年07页13日,南京大学计算机系,16,Nand Flash记忆单元块读操作,2008年07页13日,南京大学计算机系,17,Nor Flash存储阵列分析,以8行 x 8列的Nor Flash存储单元阵列为例,说明下面三种操作的工作机理。擦除编程(写操作)读出参看教材243页的Nor Flash存储矩阵分析,2008年07页13日,南京大
8、学计算机系,18,Nor Flash存储阵列的擦除操作,2008年07页13日,南京大学计算机系,19,Nor Flash存储阵列的编程操作,2008年07页13日,南京大学计算机系,20,Nor Flash存储阵列的读出操作,2008年07页13日,南京大学计算机系,21,NAND Flash存储阵列分析,以8行 X 8列的Nand Flash存储单元阵列为例,说明下面三种操作的工作机理。擦除编程(写操作)读出参看教材244页的Nand Flash存储矩阵分析,2008年07页13日,南京大学计算机系,22,Nand Flash存储阵列的擦除操作,2008年07页13日,南京大学计算机系,2
9、3,Nand Flash存储阵列的编程操作,2008年07页13日,南京大学计算机系,24,Nand Flash存储阵列的读出操作,2008年07页13日,南京大学计算机系,25,典型的Nand Flash闪存芯片的存储单元立体阵列结构,下面给出一个典型的Nand Flash闪存芯片的存储单元立体阵列结构示意图。每1个存储页呈平面形状,含512个字节存储空间。此外在一个页面上还有16个字节的备用字节区,用阴影线示出。备用字节区用于存放纠错码(ECC:Error Correcting Code)校验和其他信息,有时也被称为Out Of Bank区域,即OOB区。每32个页构成一个数据块,数据块的
10、容量是16KB。该闪存器件一共集成有2048个块,所以总容量达到32MB,或者256Mb。,2008年07页13日,南京大学计算机系,26,Nand Flash记忆单元立体阵列,2008年07页13日,南京大学计算机系,27,典型Nand Flash读操作时序状态,读操作是通过4个地址周期将命令字00H、列地址、行地址1和行地址2写入到指令寄存器开始的,2008年07页13日,南京大学计算机系,28,Nor Flash和Nand Flash的共同特点,向芯片中写数据必须先将芯片中对应的内容清空,然后再写入。闪存擦写的次数都是有限的,当闪存的使用寿命快到时,经常会出现写操作失败。为了延长使用寿命
11、,不要对某个特定区域反复地进行写操作。闪存的读写操作不仅是一个物理操作,还需要算法支持。一般在驱动程序的内存技术设备(MTD,Memory Technology Drivers)模块中或者在闪存转换层(FTL,Flash Translation Layer)内实现,具体算法同芯片生产商以及芯片信号有关。,2008年07页13日,南京大学计算机系,29,闪存驱动,Nor Flash存储器可以进行字节读写,所以在Nor Flash存储器上运行代码基本上不需要软件支持。Nand Flash存储器由于其物理特性独特,数据读写比较复杂,对其存储的数据管理方法与其他存储设备的管理方法不同,需要软件支持。N
12、and Flash的存储单位有字节、页和块。一页大小为512字节,依次分成两个256字节主数据区(512字节,正好等于磁盘一个扇区大小),最后是16字节空闲区(Spare Data)。若干页组成一块,通常为32页。一个存储设备又由若干块组成。,2008年07页13日,南京大学计算机系,30,NOR闪存HY29LV160与S3C44B0X处理器的接线,CPU对Nor Flash的接口不需要其他任何软件上的设置。这样,系统加电复位时,从Nor Flash的0 x0地址开始执行第1条指令,也就开始执行了Nor Flash里的启动代码。,2008年07页13日,南京大学计算机系,31,NAND闪存K9
13、F2808U0A功能方框图,2008年07页13日,南京大学计算机系,32,NAND闪存K9F2808U0A的地址信号线分析,K9F2808U0A总容量是16MB=224Bytes,地址信号一共有24根。其中A0-A7为列地址,A9-A16为前一半寄存器行地址,A17-A23和外加的低电平“L”为后一半寄存器行地址。A8由00h或01h命令设置为Low或者High。00H命令定义了起始地址在寄存器的前一半,01H命令定义了起始地址在寄存器的后一半。,2008年07页13日,南京大学计算机系,33,NAND闪存K9F2808U0A与S3C44B0X处理器的连接方法,NAND型闪存K9F2808U
14、0A与与不带NAND控制器的S3C44B0X的连接方法如下图(教材图8-12)所示。,2008年07页13日,南京大学计算机系,34,8.1.2 SDRAM,SDRAM(Synchronous DRAM)是同步动态存储器。从技术角度上讲,同步动态存储器是在现有的标准DRAM中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号,做到SDRAM的时钟频率与CPU前端总线时钟频率相同,实现存储器读写速度与CPU的处理速度保持一致。嵌入式系统通常直接使用一颗SDRAM芯片作为主存储器。,2008年07页13日,南京大学计算机系,35,S3C44B0X的SDRAM配置计算
15、表,总容量/芯片粒数/单元数/芯片位宽/Bank数之间的计算关系,2008年07页13日,南京大学计算机系,36,SDRAM芯片实例,IS42S16400同步动态RAM芯片是美国ISSI公司的产品。总容量为64Mbit,存储组织为1M x 16bits x 4Bank。时钟频率为133MHz或者100MHz。全部信号同步于时钟的上升沿。单一3.3V电源供电。下面给出了该SDRAM芯片的内部结构图。,2008年07页13日,南京大学计算机系,37,SDRAM芯片IS42S16400同步内存芯片结构图,2008年07页13日,南京大学计算机系,38,32MB同步动态存储器与S3C44B0X处理器的
16、接线,HY57V561620(L)T 芯片与S3C44B0X的接线图,2008年07页13日,南京大学计算机系,39,8.2 嵌入式系统常用总线,从电信号角度看,嵌入式产品里面内连在PCB上的设备以及外接的设备大都采用总线方式连接。这些总线的控制器以两种方式存在。一种是集成在处理器内部,另外一种是以专用芯片形式出现。下面我们介绍常用的嵌入式系统总线技术标准。包括:I2C总线、SPI总线、CAN总线、现场总线概论、基金会现场总线(FF)、现场总线104总线。,2008年07页13日,南京大学计算机系,40,8.2.1 I2C总线(IIC总线),I2C总线(InterIntegrated Circ
17、uit,IIC也是常用写法)是1980年代初由PHILIPS公司发明的一种双向二进制同步串行总线,它是目前SOC控制外围设备的常用总线。I2C是一个廉价优质的总线适用于消费电子、通讯电子、工业电子等领域的低速器件。,2008年07页13日,南京大学计算机系,41,I2C总线的技术特征,I2C总线是一个简单的双向两总线物理上一共有两条信号线和一条地线。两条信号线分别为串行数据线(SDA,Serial Data)和串行时钟线(SCL,Serial Clock)。使用集电极开路门以“线与”(Wired-AND)方式与IIC连接,而不是通常的三态门。IIC总线不设置仲裁器和时钟发生器,而是通过定义一个
18、仲裁过程来实现总线仲裁,并由仲裁胜利方提供总线时钟。,2008年07页13日,南京大学计算机系,42,I2C总线的技术特征(续),I2C总线中的每一个设备都有唯一的7位地址,也就是说一个I2C总线系统中理论上可挂接128个不同地址的设备。采用I2C总线连接的设备处于主从模式,主设备既可接受数据,也可发送数据。I2C总线是一个真正多主总线,可以有许多主机共设备于一条总线上。I2C总线含冲突检测和竞争功能,从而确保当多个主设备同时发送数据时不会造成数据冲突。I2C总线是一个串行的8位双向数据传送总线。在标准模式下,数据传输速率为100Kbps;在快模式下,数据传输速率为400Kbps;在高速模式下
19、,数据传输速率为3.4Mbps。,2008年07页13日,南京大学计算机系,43,IIC总线结构示意图,2008年07页13日,南京大学计算机系,44,I2C总线的传输规范,由于I2C总线的连线少,结构简单,可不用专门的母板和插座直接用导线互连各个设备,因而可大大简化系统的硬件设计。每一个设备都可以作为主设备或者是从设备,例如存储器之类的设备就可以既是主设备又是从设备。I2C总线的数据传输包括位传输和字节传输两方面。当位传输时,必须有一个时钟脉冲产生。此外,由于I2C总线中接口连接器件的制作工艺不同(如CMOS,NMOS等),位的逻辑0和1的电平并不是固定的,它根据连接的电源VDD来确定。,2
20、008年07页13日,南京大学计算机系,45,I2C总线的传输规范(续1),仅当SCL信号线为稳定高电平时,SDA信号线上的数据有效;当SCL信号线为低电平时,允许SDA信号线上的数据改变。每一位数据传输需要一个时钟脉冲。如下图所示:,I2C总线数据稳定与变化的时序图,2008年07页13日,南京大学计算机系,46,I2C总线的传输规范(续2),在位传输时,有两个重要的传输位:START(开始位)和STOP(结束位)。START位出现在SDA信号线电平由高向低转换并且SCL信号线电平为高的场合。STOP位出现在当SDA信号线电平由低向高转换并且SCL信号线维持高电平场合。在位传输时,START
21、与STOP的位置如图所示:,时序图中开始位置与停止位置图,2008年07页13日,南京大学计算机系,47,I2C总线的传输规范(续3),在字节传输时,传送到SDA线上的每一个字节必须为8位;每次传送的字节数不限;每一个字节后面必须跟一个响应位。数据传输时,首先传输最高有效位(MSB,Most Significant Bit)。如果在传输的过程中,从设备不能一次接收完一个字节,此时它就使时钟置为低电平,迫使主设备等待;当从设备能接收下一个数据字节后,将释放SCL线,继续后面的数据传输。如下图所示为数据传输时序图:,I2C总线中数据传输时序图,2008年07页13日,南京大学计算机系,48,S3C
22、44B0X的I2C总线读写操作,(1)读写操作在发送模式下(即写操作),数据被发送之后,I2C总线接口会等待直到IICDS(I2C数据移位寄存器)被程序写入新的数据。在新的数据被写入之前,SCL线都被拉低。新的数据写入之后,SCL线被释放。S3C44B0X利用中断来判别当前数据字节是否已经完全送出。CPU接收到中断请求后,在中断处理程序中将下一个新的数据写入IICDS中,如此循环。,2008年07页13日,南京大学计算机系,49,在接收模式下(即读操作),数据被接收到后,I2C总线接口将等待直到IICDS寄存器被程序读出。在数据被读出之前,SCL线保持低电平。新的数据被读取之后,SCL线才被释
23、放。S3C44B0X也利用中断来判别是否接收到了新的数据。CPU收到中断请求之后,处理程序将从IICDS中读取数据。,S3C44B0X的I2C总线读写操作(续1),2008年07页13日,南京大学计算机系,50,S3C44B0X的I2C总线读写操作(续2),(2)配置I2C总线要控制串行时钟SCL的频率,可以通过IICCON寄存器中的4位预分频值来设置。另外,I2C总线接口地址通过I2C总线地址寄存器IICADD来配置(默认状态下,I2C总线接口地址是一个未知值)。,2008年07页13日,南京大学计算机系,51,S3C44B0X的I2C总线控制器,S3C44B0X支持多主模式的IIC总线串行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 嵌入式 存储器 总线技术
链接地址:https://www.31ppt.com/p-6469358.html