存储器是什么?存储是芯片结构中非常重要的一部分。是用来存储程序和数据的组件。对于IC芯片来说,只有有了存储器,它才能有内存功能,保证正常运行。那么,在OTP语音芯片常见的FLASH与RAM存储方式中,两者有什么不同之处呢?
FLASH
Flash即Flash Memory,全名叫Flash EEPROM Memory,又名闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。普通的单片机主要用作程序存贮器就是FLASH,也就是替代以前的ROM,大的优点是降低了芯片的成本并且可以做到电擦写,目前市场上单片机的FALSH寿命相差比较大,擦写次数从1000~10万的都有,但存储时间可以保证40年,在选用时要注意.还有一些廉价的单片机为了集成可掉电的数据存储器,没有选用价格昂贵的EEPROM,而用FALSH来做的,这种单机片其寿命多就10万次,而且还不能进行字节擦写,这要注意使用的场合其寿命是否满足要求.
可能有人会有疑问,既然所有的数据在Flash ROM中,那RAM中的数据从哪里来?看完下文你就知道了。
RAM
RAM(Random Access Memory )随机存取存储器,主要作用是存储代码和数据供CPU 需要时调用,跟计算机里面的内存差不多,主要是用来存放程序运行中的过程数据,掉电后就会丢失之前的数据,所以程序在上电时需要进行初始化,否则上电后的数据是一个随机数,可能导致程序奔溃.ROM就是程序存储器,掉电后数据不会丢失,但在程序运行过程中其数据不会改变.早期的单片机的ROM因为擦写修改麻烦,价格昂贵或者价格低廉的OTP语音芯片无法修改数据等原因已经被现在的FLASH存储器替代了.因为FLASH的擦写很容易,现在的部分单片机支持在线内部编程,通过特定的程序执行方式可以修改FALSH的内容,而实现在线修改程序存储器.这与上面说的程序存储器的内容在运行的时候不可被改变是不冲突的,因为在程序正常运行时,其内容不会改变,只工作在只读状态下的。