|
利用SST89系列单片机内部的两块FLASH空间代换外挂的EEPROM等小容量存储器
SST公司是全球领先的FLASH存储器生产商,其利用先进FLASH技术生产的单片机也提供了性能优异的存储器特性,它的主要特点有:
*
高可靠性,数据能保持100年
* 提供内部两个FLASH存储器空间的架构,可以实现IAP操作
* 每个块都是小扇区操作,每个扇区是128Byte
* 多达十万次的擦写次数
* 擦写时间快
* 低电压工作,5V或3V工作,无需外接12V高压
* 每个型号的具体容量如下:
| 型
号 |
主存储块(BLOCK0) |
副存储块(BLOCK1) |
| 89E52RD2 / 89V52RD2 |
8KB |
8KB |
| 89E54RD2 / 89V54RD2 |
16KB |
8KB |
| 89E58RD2 / 89V58RD2 |
32KB |
8KB |
| 89E554RC / 89V554RC |
32KB |
8KB |
| 89E564RD / 89V564RD |
64KB |
8KB |
| 89C54 |
16KB |
4KB |
| 89C58 |
32KB |
4KB |
利用SST单片机内部两块FLASH的特性,我们可以把现在广泛使用的MCU
+ EEPROM/FLASH/FRAM方式改成一个MCU既执行程序运行又能记录数据和参数。
往内部FLASH写数据的方式很简单,只需要用IAP指令进行操作。与写数据有关的IAP指令有:BLOCK-ERASE和SECTOR-ERASE,BYTE-PROGRAM,BYTE-VERIFY,分别对应数据的擦除,写入和读操作。运行IAP指令需要用6个控制FLASH的特殊功能寄存器SFCF,SFCM,SFAL,SFAH,SFDT,SFST。像写入一个数据,做的步骤是:IAP指令使能
---> 给地址的高位和低位 ---> 放要写入的数据
---> 发字节编程命令 ---> 查状态位/中断显示编程结束。(示范代码请参考IAP指令操作程序示例(C语言))。整个操作过程非常简单直观。
使用时,用户可以在主块放自己的程序,副块放数据,也可以反过来用,副块放程序,而主块放数据,让数据区容量变大。
利用内部FLASH做数据存储有很多的优点:1、减少器件的数量,提高可靠性。2、省下一个EEPROM等存储器,减低成本。3、提高数据的保密性。数据放在单片机内部,单片机加密后数据不能被读出来。4、省下I/O控制脚。省去EEPROM后,可以腾出两个I/O脚,做别的控制。5、SST单片机IAP指令简单、直观,不需要再去模拟I2C/SPI接口协议。
|