存储器是用来存放数据的集成电路或介质,常见的存储器有半导体存储器(本书将讨论的ROM,RAM)、光存储器(如CD,VCD,MO,MD,DVD)、磁介质存储器(如磁带、磁盘、硬盘)等,本书主要讨论半导体存储器中的ROM和RAM,本节主要讨论ROM,RAM在时序电路后再讲解。 只读存储器英文为Read Only Memory,通常简写为ROM。ROM存放的数据一般不能用简单的方法对其内容进行改写,正常使用时主要对其进行读取操作,ROM还具有掉电后其内部信息不丢失的特点(通常叫非易失性),一般用于存放一些固定的数据或程序,其一般在器件生产出厂前由生产厂家将内容直接写入在器件中。 只读存储器通常有:掩膜式ROM、一次可编程ROM(PROM)、紫外光可擦除ROM(U-EPROM)、电可擦除ROM(EEPROM)等几种类型。 1、 ROM的结构及工作原理
存储器是一种存放数据的器件,就象存放货物的仓库一样,人们在仓库中存放货物时为了便于存放和拿取,通常将货物在放的位置进行编号,并且留有存放及拿取的通路,存储器的结构如下图所示,其也有选择位置的地址、存放数据的存储矩阵、提取数据的输出通路。
只读存储器的存储单元可以由二极管、三极管或场效应管构成,下图给以出了ROM的三种不同器件构成的原理图。
为了便于表示存储器的状态通常使用下图来表示,其中小圆点表示该交叉点存放了数据,没有小圆点表示没有存放数据(在放的数据可以是0,也可以是1,不同的存储器型号有所区别,上图中对应的小圆点在放的数据为1)。
从上图中可以看出其内部的内容是不可能改写的,其只能在生产器件时将需要存放的数据存放在器件中,这类器件通常称为掩膜ROM,由于存放的数据不同生产其电路的模板也不相同,这样就决定了该类电路仅适用于大批量且数据固定的情况,如一些点阵打印机的点阵字库。 2、 一次可编程ROM(PROM)
由于掩膜ROM须生产量较大才能降低其成本,人们就希望能生产一种通用的器件,然后通过编程的方法将数据写入器件中,这样该通用器件的生产量将相当大,从而降低了单片芯片的价格,人们首先根据电路熔断丝得到了启发,在存储器的每个存放数据的结点上加上一个熔断丝(相当于通常电工上的保险丝),这样该器件在出厂时每个单元内容全部为1,如果希望某一单元存放数据0,只须将该结点对应的熔断丝烧断即可。下图即为该种存储电路的内部结构。
该种存储器存在一些不足:由于在半导体电路中加入了金属丝,使生产工艺变得复杂;其次,由于可编程的部分是由熔断丝构成的,这就决定了该器一旦将内容写错,其芯片将只能作为化工原料了。 3、 紫外光可擦除ROM(U-EPROM)
紫外光可擦除只读存储器是现在使用较广的一种只读存储器,其明显的特征是在其正中间有一个玻璃窗口,该窗口可能让紫外光通过,其在紫外光的照射下10~20分钟其内部的数据将全部擦除了,这时可以再通过编程的方法写入希望的数据。下图给出了其存储单元电路图及其外形图。
EPROM器件的存储单元采用了浮栅雪崩注入MOS电路,简称为FAMOS管。FAMOS管的栅极全部被二氧化硅包围着,没有引出脚,如悬浮状态,所以称为“浮栅”,原始的浮栅不带电荷,FAMOS管不导通,位线上是高电平,存储的信息为1。当FAMOS管的源极S与衬底接地电位、漏极D接较高电压(大于正常工作电压)时,漏极PN结反向击穿产生“雪崩”现象,使浮栅积累电荷,FAMOS管处于导通状态,位线被箝在低电平,存储的数据为0。由于浮栅被绝缘在二氧化硅包围,电荷不会丢失,即信息也不会丢失,这种存储的信息可能安全保存20年以上,但为了防止平时日光中的紫外线的照射,在其玻璃窗口上帖上黑纸。 紫外光可擦除只读存储器的优点是其内容可以擦除后重新写入数据,即使写错了也无所谓,但其缺点是其重新改写时须将器拆下来在专门的编程器来进行改写。但由于其价格较低、使用方法较简单所以现在使用还是相当广的。 4、电可擦除ROM(EEPROM)
电可擦除只读存储器是在EPROM的基础上开发出现的,其可以在加电的情况下擦除存储器的全部或某一部分内容,然后在电路上直接改写其擦除过的单元内容。EEPROM的内部电路与EPROM电路类似,但其FAMOS中的结构进行了一些调整,在浮栅上增加了一个遂道二极管(实际上是在浮栅与N型的衬底形成一层薄薄的氧化层后形成的),在编程时可以使电荷通过它流向浮栅,而擦除时可使电荷通过它流向漏极,它不需要紫外光激发放电,即擦除和编程只须加电就可以完成了,且写入的电流很小。下图给出了EEPROM编程单元的内部结构。
5、 ROM可实现组合逻辑函数
从前面数字逻辑电路的基础知识中可知道,任一组合逻辑的函数表达式可写为最小项之和的形式。从上面的图上不难看出,地址的译码的每个输出端对应于一个最小项,而存储矩阵电路可实现线或的逻辑关系,由此可见ROM不仅可以存放数据,而且可以用来实现组合逻辑电路的功能。 例 用ROM实现8421BCD码到余3码的转换。 下表列出了两种码之间的对应关系,根据表可写出下列的最小项表达式:
序 |
8421BCD码(输入) |
余3码(输出) |
A3 |
A2 |
A1 |
A0 |
F3 |
F2 |
F1 |
F0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
5 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
6 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
7 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
8 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
9 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
F3=∑m(5,6,7,8,9) F2=∑m(1,2,3,4,9) F1=∑m(0,3,4,7,8) F0=∑m(0,2,4,6,8)
由于译码电路输出了地址线的所有最小项组合,我们只须用一个四根地址线输入、四根输出端的ROM就可能实现其功能,我们定义其地址输入端作为输入代码,数据输出端看成输出端,只须将存储矩阵对应的最小项单元进行编程连接即可以实现,下图给出了其结果。
|