菜单 English Ukrainian 俄语 主页

面向爱好者和专业人士的免费技术图书馆 免费技术库


无线电电子与电气工程百科全书
免费图书馆 / 无线电电子和电气设备方案

对闪存芯片进行编程。 无线电电子电气工程百科全书

免费技术库

无线电电子与电气工程百科全书 / 微控制器

文章评论 文章评论

使用闪存技术制造的具有电数据擦除功能的可重编程永久存储器微电路在电子和计算机技术中占据了重要地位,取代了其他类型的非易失性存储设备。 它们的主要优点是可以在“系统内”重新编程,而无需将芯片从印刷电路板上拆下或从面板上拆下。 允许的大量重新编程周期使得在这种微电路上构建容量为数十兆字节的“闪存盘”成为可能,其与传统硬盘或软盘驱动器的不同之处在于完全没有移动部件。 因此,它们非常耐用,并且能够在车辆和其他移动物体等高振动环境中运行。 发表的文章专门讨论闪存芯片的编程。

闪存芯片与其他类型 ROM 的不同之处在于芯片上直接存在内置“编程器”——擦除和写入机器 (AC3)。 它消除了在编程过程中向微电路输出施加增加的电压以形成某些脉冲序列的需要。 AC3 独立且在不知不觉中为用户完成所有这些工作,用户只需报告单元的地址以及应使用适当的命令写入其中的代码,然后等待操作完成。 很多情况下,一个冗长的操作(比如擦除一块数据)可以暂停,从内存的另一个区域读取所需的信息,然后继续。

如今,许多公司(最著名的是 Intel、AMD、Atmel、Winbond)生产各种高达 4 MB 的闪存芯片。 它们的外部接口可以是并行的,也可以是串行的。 具有串行接口的芯片主要用于在小型或专用设备中存储少量数据,例如,用于存储无线电接收器的固定设置或用于操作家用电器的程序。

接下来,我们将讨论“并行”FLASH 微电路,就与处理器接口的物理和逻辑设备而言,它与传统 ROM 没有任何区别,只是它们像 RAM 一样具有写使能功能输入。 现代计算机的 BIOS 代码正是存储在这些微电路中。 数据组织为 16 位或 70 位。 通常可以通过将专门提供的输出连接到公共电线或电源来选择。 除了地址和数据总线之外,还向微电路提供三个控制信号:晶体选择(CE)、输出使能(OE)和写使能(WE)。 后者 - 仅当芯片需要编程时。 读取周期的最短持续时间为 150...XNUMX ns。

在第一个闪存微电路中,存储单元阵列是单个块,数据只能从整个阵列中完全擦除。 在许多现代微电路中,存储器被分成多个块,擦除其中一个块中的数据不会影响其他块中存储的数据。 块大小有很大不同 - 从 128 字节到 128 KB 或更大。 然而,在读取数据时,微电路的整个存储器被视为单个阵列,仅此而已。 它在物理上被分成块并不重要。

通常,这些块是相同且相等的,但它们也可以不同。 例如,Intel的28Fxxx系列芯片有一个所谓的16 KB的引导块和两个各8 KB的参数块。 接下来是 96 KB 的块,其余内存由 128 KB 的块组成。 这些块的属性有些不同。 引导具有硬件写和擦除保护。 通过将适当的逻辑电平施加到专门提供的微电路输出来打开它。 参数块设计用于存储经常更改的数据,并比其他块承受更多的擦除/写入周期。

所考虑的系列中的每个微电路都有两个版本,不同之处在于地址空间中块的放置。 在索引为 B(底部)的微电路中,它们按照上述顺序从地址零开始定位。 在具有 T 索引(顶部)的产品中,顺序相反(引导 - 在较高地址的区域中)。

目前生产的闪存微电路设计用于2.7至5V的标称电源电压。它们根本不需要增加电压(12V),或者仅在某些特殊模式下才需要增加电压。 在无源(“未选择”)状态下,此类微电路从电源消耗的电流不超过 1 mA(在大多数情况下,少十倍)。 有时会提供特殊的睡眠模式,其中的消耗可以忽略不计。 确实,不可能从“睡眠”微电路中读取数据,而是为了“唤醒”它。 有时需要几十微秒。 主动模式下消耗的电流为几十毫安,如果将芯片置于被​​动状态,其AC3执行长时间操作(例如擦除数据),直到完成后电流才会减少。

人们非常重视保护闪存中存储的数据免受意外更改,特别是在电源打开和关闭时的噪声和瞬态影响下。 在大多数情况下,存在三种类型的硬件保护。 第一个是。 微电路不会响应 WE 电路中持续时间小于 15 ... 20 的脉冲,第二个是 OE 输入处的逻辑电平较低,其他输入处的信号操作不会导致记录,第三是那个。 当电源电压低于一定水平时,AC3 关闭。 对于不同类型的微电路,关断阈值范围为1.5 ... 3.8V。

有时可以完全禁止更改和擦除整个数据阵列或其部分。 实施或取消此类禁令通常需要采取“非常规”措施(例如,短暂地向某些端子施加升高的电压)。

还提供软件保护。 要更改单元的内容,与传统 RAM 一样,闪存是不够的。 将一段代码写入一个地址。 需要一个命令,由写入特定地址的多个代码组成。

任何闪存芯片都能够将其类型告知安装它的设备,这使您可以自动选择写入和擦除数据所需的算法。 提供适当的命令以编程方式启用和禁用 ID 读取模式。 开机后,在地址OH处读取制造商标识符,在地址1H处读取设备标识符(表中给出了一些微电路的标识符)。 在相同模式下,但在其他地址,在某些情况下您可以获得附加信息,例如有关硬件写保护状态的信息。

对闪存芯片进行编程

通过在地址输入A9上施加+12V电压,可以切换到无命令读取标识符的模式,不同类型的微电路其值的允许偏差是不同的。 在某些情况下,它不超过±5%。 在其他情况下,电压仅超过某个值就足够了,例如10V。在上述地址处读取标识符,在不考虑A9放电的情况下设置它们。 通常这种方法在通用编程器中使用。

大多数闪存芯片的 AC3 接受根据所谓的 JEDEC 标准给出的命令,但也有例外。 有时,在升级芯片时,其命令系统会补充标准代码组合,但同时保留旧命令(这是必要的,以便升级后的芯片可以在以前发布的设备中工作)。 英特尔使用自己的命令系统。

在详细考虑命令之前,我们先来谈谈连接 FLASH 芯片。 通常,相同类型的微电路以多种类型的封装生产,其位置、间距和引脚数量不同。 通常,会提供“镜像”选项,允许您在电路板的任何一侧安装微电路,而无需更改印刷导体的拓扑结构。

下图中的引脚号是最常见的 512 引脚 PLCC 和 PDIP 封装中 32K 内存芯片的典型引脚号。 较小体积的微电路的“引脚排列”是类似的,但最高位的结论与它们没有联系(例如,Am29F010的第30位和第1位是免费的)。

类似于图 1 所示的方案。 如果需要在不从微处理器系统移除芯片的情况下擦除和写入数据,则使用图XNUMX所示的方法。

对闪存芯片进行编程

假设系统数据总线是16位,地址是32位。 ROM 分配在 29 KB 的地址空间,其余部分可以由 RAM 占用。由于 Am040F512 的内存量为 XNUMX KB,因此提供了一个 FLASH 内存页寄存器来控制地址的高位。 要读取和写入数据,您可以使用以下简单的过程(用 Pascal 编写):

对闪存芯片进行编程

如果需要在闪存芯片工作的设备之外对其进行编程,可以将其连接到个人计算机。 最简单的方法是在计算机中安装可选的并行 I/O 卡。 诸如来自 Advantech 的 PCL-731、来自 IOP DAS 的 DIO-48 或来自 ADLink 的 PET-48DIO 等此类板均可在市场上买到。 通常,它们有 48 个输入/输出,其工作方式与 O 模式下的两个 8255 微电路 (KP5806V55A) 类似,具有相同的信息和控制端口,即使实际上其组成中不存在这样的微电路。 如果需要,可以使用N. Vasiliev的文章“PC Interface Extender”(《Radio》,1994年,第6期,第20、21页)独立制作并行输入/输出板。

为了进行读取或编程,将FLASH芯片按照图8255所示的电路连接到两个2芯片的端口上。 24. 第一个端口的 PA 端口用于数据输入/输出,其 PC 端口的单独位用于输出控制信号 CE、OE 和 WE。 PA、PB和PC端口构成FLASH芯片的XNUMX位地址总线。 如果该总线较小的位宽就足够了,则不连接PC端口相应数量的高位。

对闪存芯片进行编程

I/O 板端口和辅助常量必须在程序中描述如下:

对闪存芯片进行编程

并且上面描述的访问 FLASH 存储器的过程替换为以下内容:

м

现在 - 实际上是关于闪存微电路编程。 根据 JEDEC 标准,每个命令都以地址 5555H 处的 OAAN 代码条目开始。 接下来,将代码55H写入地址2AAAH,最后将要执行的操作的代码写入地址5555H。

对闪存芯片进行编程

例如,对于 40H 命令,我们指的是这样一个以数字 40H 作为操作码的序列。

对闪存芯片进行编程

接通电源后,任何FLASH微电路都会自动进入该模式,无需用特殊命令进行设置。 然而,例如,需要从读取标识符模式返回。 它有时被称为重置或初始设置命令。 要将某些微电路转为阵列读模式,只需将0F0H代码写入任意地址一个周期就足够了。

对闪存芯片进行编程

0A0H 命令之后的写周期包含可编程单元的地址和写入其中的代码。 在大多数情况下,写入每个单元格需要单独的命令。 请记住,与传统 EEPROM 一样,在可编程单元的位中,您只能用零替换逻辑位。 为了执行相反的操作,通常需要首先擦除整个存储块的内容并重复对其所有单元的编程。 请注意,许多 FLASH 芯片的 AC3 无法识别这些错误并报告成功。 为了确保编程正确,需要对记录的数据进行控制读取。

在具有 128 字节块的 Winbond 芯片中,对任何单元进行编程之前都会自动擦除包含块中的所有数据。 因此,您应该首先将该块复制到 RAM,对副本进行必要的更改,然后重新编程所有 128 个字节。 收到 OOH 命令、地址和第一个可编程字节后,AC3 将其输入到模块的内部缓冲区中,并等待 200 µs,而不开始编程。 如果在此期间再收到一个 OOH 命令和下一个字节,它也将进入缓冲区,AC3 将等待接下来的 300 µs。 这种情况一直持续到那时。 直到接收到该块的所有 128 个字节或暂停超过允许值(300 μs)。 然后 AC3 擦除该块并开始实际编程。 将用于块的不同单元的数据写入缓冲器的顺序并不重要,但那些尚未接收到数据的单元在编程后将包含代码0FFH。

有两种方法可以将编程数据写入此类芯片。 其中第一个(通常用于其他)称为软件保护。 要写入的每个字节之前必须有 OOH 命令。 然而,可以通过依次发出 80H 和 20H 命令来禁用保护。

对闪存芯片进行编程

此后,写入任何地址的字节都会进入微电路的内部缓冲区,并且即使在关闭和打开电源后也保持这种模式。 按照 OON 的命令离开这里。

对闪存芯片进行编程

有两个等效的命令选项可用于将数据写入英特尔闪存芯片。 首先,将代码40H或10H之一写入任意地址。 然后 - 所需地址处的可编程代码。

对闪存芯片进行编程

“擦除所有内存”命令.

FLASH 微电路的 AC3 通过接收两个命令序列(80H 和 10H)来启动这一重要操作。

对闪存芯片进行编程

Intel 微电路通过写入代码 20H 和 0D0H 的任意地址来获得类似的命令

对闪存芯片进行编程

擦除内存的全部内容需要数十毫秒到几秒钟的时间。 一些微电路能够通过将 OVON 代码写入任何地址来暂停此过程。 写入(也可以写入任何地址)代码 30H(对于 Intel 芯片 - ODOH)后,擦除将继续。

删除块命令。 要擦除存储块的内容,必须发出两个命令。 第一个是 80H,第二个的不同之处在于它的操作码 90H 必须不写入地址 5555H,而是写入正在擦除的块的任何单元的地址。

对闪存芯片进行编程

“读取标识符”命令。 要切换到此模式,请使用命令 90H,但有时需要两个命令的序列 - 80H 和 60H。

对闪存芯片进行编程

在Intel微电路中,在任意地址写入代码90H就足够了。 通过上面讨论的命令“读取数据阵列”退出该模式。

如何检查“长”编程和擦除命令执行完成? 最简单的方法是使用微电路的参考数据并为软件形成相应的延迟。 但即使对于同一微电路的不同单元和块,某些操作的实际执行时间也常常与参考值存在显着差异,并且随着后者“老化”而增加。

读取状态寄存器AC3可以准确地找出特定操作的结束时刻。 只要 AC3 忙于执行擦除或编程过程,FLASH 芯片就会将该寄存器的内容输出到数据总线。 有两个迹象表明该过程尚未完成。 第一个是状态寄存器的位D7的值与写入存储单元的同一位的值相反(在擦除期间,它等于0)。 操作结束后会与记录的一致。 第二个症状是位D6“闪烁”(其值随着寄存器的每次读取而变化,直到操作完成)。

一般来说,这两种迹象都会被观察到,但也有例外。 例如,在Intel芯片中,没有“闪烁”位,并且无论写入什么代码,编程期间D7位都为0。 在这种情况下操作的结束由D7=1来证明。 在具有块记录的微电路中(例如,来自Winbond),位D7的值与写入块缓冲器的最后代码的位相反。

通常,当编程或擦除完成后,FLASH芯片会自动返回到数据阵列读取模式,但Intel芯片需要相应的命令。

如果芯片出现故障,“长”操作可能永远无法完成,导致编程计算机“挂起”。 为了避免这种情况,有必要提供对擦除和编程操作的持续时间的检查,并且在超过合理值的情况下,提供带有故障消息的“紧急”输出。

有时,特别是当使用已经经历了接近极限次数的擦除/编程周期的微电路时,多次重复不成功的操作是有意义的。 其中一项尝试可能会成功。

最后,简单介绍一下可让您更新闪存中存储的计算机 BIOS 的实用程序。 它们是针对每种类型的系统(主板)板而开发的,并考虑到将闪存微电路连接到系统总线的特殊性。 因此,尝试使用为一种主板设计的实用程序来更新另一种主板的 BIOS 通常会导致计算机完全故障。

该实用程序作为普通应用程序启动,指定包含新 BIOS 版本代码的文件名作为参数。 它读取该文件,在 RAM 中创建一个数据数组以写入闪存。 然后,它确定微电路的类型并选择适当的处理程序。 之后,开始擦除旧数据并记录新数据,此时程序无法使用任何 BIOS 功能,包括在屏幕上显示信息或轮询键盘。 如果仍然需要这样做,则将必要的子例程引入实用程序本身。 一旦编程完成并验证正确,计算机通常会重新启动并通过更新的 BIOS 开始“新生活”。

作者:A. Dolgiy,莫斯科

查看其他文章 部分 微控制器.

读和写 有帮助 对这篇文章的评论.

<< 返回

科技、新电子最新动态:

用于触摸仿真的人造革 15.04.2024

在现代科技世界,距离变得越来越普遍,保持联系和亲密感非常重要。萨尔大学的德国科学家最近在人造皮肤方面的进展代表了虚拟交互的新时代。萨尔大学的德国研究人员开发出了超薄膜,可以远距离传输触觉。这项尖端技术为虚拟通信提供了新的机会,特别是对于那些发现自己远离亲人的人来说。研究人员开发的超薄膜厚度仅为 50 微米,可以融入纺织品中并像第二层皮肤一样穿着。这些薄膜充当传感器,识别来自妈妈或爸爸的触觉信号,并充当将这些动作传递给婴儿的执行器。父母触摸织物会激活传感器,对压力做出反应并使超薄膜变形。这 ... >>

Petgugu全球猫砂 15.04.2024

照顾宠物通常是一项挑战,尤其是在保持房屋清洁方面。 Petgugu Global 初创公司推出了一种有趣的新解决方案,这将使猫主人的生活变得更轻松,并帮助他们保持家中干净整洁。初创公司 Petgugu Global 推出了一款独特的猫厕所,可以自动冲掉粪便,让你的家保持干净清新。这款创新设备配备了各种智能传感器,可以监控宠物的厕所活动并在使用后激活自动清洁。该设备连接到下水道系统,确保有效清除废物,无需业主干预。此外,该厕所还具有较大的可冲水存储容量,非常适合多猫家庭。 Petgugu 猫砂碗专为与水溶性猫砂一起使用而设计,并提供一系列附加功能 ... >>

体贴男人的魅力 14.04.2024

长期以来,女性更喜欢“坏男孩”的刻板印象一直很普遍。然而,英国莫纳什大学科学家最近进行的研究为这个问题提供了新的视角。他们研究了女性如何回应男性的情感责任和帮助他人的意愿。这项研究的结果可能会改变我们对男性对女性吸引力的理解。莫纳什大学科学家进行的一项研究得出了有关男性对女性吸引力的新发现。在实验中,女性看到了男性的照片,并附有关于他们在各种情况下的行为的简短故事,包括他们对遇到无家可归者的反应。一些人无视这名无家可归的人,而另一些人则帮助他,比如给他买食物。一项研究发现,与表现出同理心和善良的男性相比,表现出同理心和善良的男性对女性更具吸引力。 ... >>

来自档案馆的随机新闻

隐形眼镜对大自然有害 23.08.2018

据科学家称,只有美国居民每年将多达 XNUMX 吨的镜片排入下水道。 这似乎有点,但我们谈论的是一种耐自然分解的材料。 许多人使用隐形眼镜来改善视力。 这种设备在现代很简单,不会持续很长时间:从几个月到一天。 然后他们把他扔了出去。 很多时候 - 冲进下水道。

研究人员分析了构成镜片的五种聚合物未来可能的命运。 原来,一旦进入细菌居住的环境,镜片就会慢慢分解成非常小的碎片,这些碎片在未来可以被各种底层居民吃掉,这些底层居民经过数百万年的进化,没有被教导将人为的有机物质与天然物质分开。

由于这些塑料实际上是不可消化的,它们进入食物链会给所有参与其中的人带来麻烦,甚至迟早会“用眼睛”吃到鱼和海鲜的人。

研究参与者希望隐形眼镜制造商更加关注他们的产品在使用后的处理方式。

其他有趣的新闻:

▪ 东芝的新型图像识别处理器

▪ 严重的遗传性疾病可预防感染

▪ 机器人工兵

▪ 用于电表的微控制器 MSP430F47X4

▪ 显示器 NEC MultiSync LCD-X474HB 亮度为 2000 cd m2

科技、新电子资讯

 

免费技术图书馆的有趣材料:

▪ 网站部分名人名言。 文章精选

▪ 文章苹果树将在火星上开花。 流行表达

▪ 文章 银行何时出现? 详细解答

▪ 文章检查员-消毒器。 劳动保护标准说明

▪ 晶闸管上的电子点火块。 无线电电子电气工程百科全书

▪ 文章家庭网络电涌保护器。 无线电电子电气工程百科全书

留下您对本文的评论:

Имя:


电子邮件(可选):


点评:





本页所有语言

主页 | 图书馆 | 用品 | 网站地图 | 网站评论

www.diagram.com.ua

www.diagram.com.ua
2000-2024