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