目录
FLASH 存储器又称为闪存,它也是可重复擦写的储器,部分书籍会把 FLASH 存储器 称为 FLASH ROM,但它的容量一般比 EEPROM大得多,且在擦除时,一般以多个字节为 单位。如有的 FLASH 存储器以 4096 个字节为扇区,最小的擦除单位为一个扇区。根据存 储单元电路的不同,FLASH存储器又分为 NOR FLASH 和 NAND FLASH,见表 23-2。
表 23-2 NOR FLASH 与 NAND FLASH 特性对比 特性 NOR FLASH NAND FLASH 同容量存储器成本 较贵 较便宜 集成度 较低 较高 介质类型 随机存储 连续存储 地址线和数据线 独立分开 共用 擦除单元 以“扇区/块”擦除 以“扇区/块”擦除 读写单元 可以基于字节读写 必须以“块”为单位读写 读取速度 较高 较低 写入速度 较低 较高 坏块 较少 较多 是否支持 XIP 支持 不支持 NOR与NAND的共性是在数据写入前都需要有擦除操作,而擦除操作一般是以“扇区 /块”为单位的。而 NOR 与 NAND 特性的差别,主要是由于其内部“地址/数据线”是否分 开导致的。由于 NOR 的地址线和数据线分开,它可以按“字节”读写数据,符合 CPU 的指令译 码执行要求,所以假如NOR上存储了代码指令,CPU给 NOR一个地址,NOR就能向 CPU 返回一个数据让 CPU执行,中间不需要额外的处理操作。 而由于 NAND的数据和地址线共用,只能按“块”来读写数据,假如NAND上存储了 代码指令,CPU 给 NAND 地址后,它无法直接返回该地址的数据,所以不符合指令译码要 求。表 23-2 中的最后一项“是否支持 XIP”描述的就是这种立即执行的特性(eXecute In Place)。 若代码存储在 NAND 上,可以把它先加载到 RAM存储器上,再由 CPU 执行。所以在 功能上可以认为NOR是一种断电后数据不丢失的RAM,但它的擦除单位与RAM有区别, 且读写速度比 RAM要慢得多。 另外,FLASH 的擦除次数都是有限的(现在普遍是 10 万次左右),当它的使用接近寿命 的时候,可能会出现写操作失败。由于 NAND 通常是整块擦写,块内有一位失效整个块就 会失效,这被称为坏块,而且由于擦写过程复杂,从整体来说 NOR块块更少,寿命更长。 由于可能存在坏块,所以 FLASH 存储器需要“探测/错误更正(EDC/ECC)”算法来确保数 据的正确性。 由于两种 FLASH 存储器特性的差异,NOR FLASH 一般应用在代码存储的场合,如嵌 入式控制器内部的程序存储空间。而NAND FLASH一般应用在大数据量存储的场合,包括 SD 卡、U盘以及固态硬盘等,都是 NAND FLASH类型的。
1.DAC控制寄存器(DAC_CR)
2.DAC软件触发寄存器(DAC_SWTRIGR)
3.DAC通道 1 的 12 位右对齐数据保持寄存器(DAC_DHR12R1)
4. DAC通道 1 的 12 位左对齐数据保持寄存器(DAC_DHR12L1)
5.DAC通道 1 的 8 位右对齐数据保持寄存器(DAC_DHR8R1)
6.DAC通道 1 数据输出寄存器(DAC_DOR1)