存儲器是什么?存儲是芯片結(jié)構(gòu)中非常重要的一部分。是用來存儲程序和數(shù)據(jù)的組件。對于IC芯片來說,只有有了存儲器,它才能有內(nèi)存功能,保證正常運行。那么,在OTP語音芯片常見的FLASH與RAM存儲方式中,兩者有什么不同之處呢?
FLASH
Flash即Flash Memory,全名叫Flash EEPROM Memory,又名閃存,是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數(shù)據(jù)信息)的存儲器,數(shù)據(jù)刪除不是以單個的字節(jié)為單位而是以固定的區(qū)塊為單位,區(qū)塊大小一般為256KB到20MB。普通的單片機(jī)主要用作程序存貯器就是FLASH,也就是替代以前的ROM,大的優(yōu)點是降低了芯片的成本并且可以做到電擦寫,目前市場上單片機(jī)的FALSH壽命相差比較大,擦寫次數(shù)從1000~10萬的都有,但存儲時間可以保證40年,在選用時要注意.還有一些廉價的單片機(jī)為了集成可掉電的數(shù)據(jù)存儲器,沒有選用價格昂貴的EEPROM,而用FALSH來做的,這種單機(jī)片其壽命多就10萬次,而且還不能進(jìn)行字節(jié)擦寫,這要注意使用的場合其壽命是否滿足要求.
可能有人會有疑問,既然所有的數(shù)據(jù)在Flash ROM中,那RAM中的數(shù)據(jù)從哪里來?看完下文你就知道了。
RAM
RAM(Random Access Memory )隨機(jī)存取存儲器,主要作用是存儲代碼和數(shù)據(jù)供CPU 需要時調(diào)用,跟計算機(jī)里面的內(nèi)存差不多,主要是用來存放程序運行中的過程數(shù)據(jù),掉電后就會丟失之前的數(shù)據(jù),所以程序在上電時需要進(jìn)行初始化,否則上電后的數(shù)據(jù)是一個隨機(jī)數(shù),可能導(dǎo)致程序奔潰.ROM就是程序存儲器,掉電后數(shù)據(jù)不會丟失,但在程序運行過程中其數(shù)據(jù)不會改變.早期的單片機(jī)的ROM因為擦寫修改麻煩,價格昂貴或者價格低廉的OTP語音芯片無法修改數(shù)據(jù)等原因已經(jīng)被現(xiàn)在的FLASH存儲器替代了.因為FLASH的擦寫很容易,現(xiàn)在的部分單片機(jī)支持在線內(nèi)部編程,通過特定的程序執(zhí)行方式可以修改FALSH的內(nèi)容,而實現(xiàn)在線修改程序存儲器.這與上面說的程序存儲器的內(nèi)容在運行的時候不可被改變是不沖突的,因為在程序正常運行時,其內(nèi)容不會改變,只工作在只讀狀態(tài)下的。