既生Flash,又何生EEPROM?
我們正常編譯生成的二進位制檔案,需要下載燒錄到微控制器裡面去,這個檔案儲存在微控制器的ROM中,ROM這個名稱指的是「read only memory」的意思,所有可以完成「read only memory」這種特性的儲存介質都可以稱為ROM,我們一般使用的微控制器裡面使用的是EEPROM。
OTP「一次性可程式設計晶片」跟EEPROM可以說是相輔相成的。
EEPROM的全稱是「電可擦除可程式設計只讀儲存器」,即Electrically Erasable Programmable Read-Only Memory。
電擦除和紫外線擦除是兩種不同的擦除方式,我現在知道用紫外線擦除的ROM是EPROM。
EPROM晶片有一個很明顯的特徵,在其正面的陶瓷封裝上,開有一個玻璃視窗,透過該視窗,可以看到其內部的積體電路,紫外線透過該孔照射內部晶片就可以擦除其內的資料,完成晶片擦除的操作要用到EPROM擦除器。EPROM內資料的寫入要用專用的程式設計器,並且往晶片中寫內容時必須要加一定的程式設計電壓(VPP=12~24V,隨不同的晶片型號而定)。
EPROM的型號是以27開頭的,如27C020(8*256K)是一片2M Bits容量的EPROM晶片。EPROM晶片在寫入資料後,還要以不透光的貼紙或膠布把視窗封住,以免受到周圍的紫外線照射而使資料受損。
---- EEPROM拯救了這一切
EEPROM的出現可以說是跨時代的,因為ROM可以多次程式設計了,對於程式設計師來說,終於可以多次燒寫微控制器了,更讓我們興奮的是,我們可以使用電擦除,而不是紫外線擦除了。
從擦除次數上,EEPROM可以擦除100W次,而且EEPROM可以針對每一個區塊,也就是每一個位置寫 「0」或者 寫 「1」,如果大家知道FLASH特性的話,就會覺得EEPROM是多麼優秀。而且資料的儲存時間可以達到100年。
當然了,特點就是電路複雜,成本高,因為成本高就導致了EEPROM的大小不是非常大,一般在512KB 以下。
---- Flash:
如果從電擦除這個特性上說的話,FLASH也是EEPROM的一種,不同的是,FLASH的擦除區塊不是一個位元組,而是扇區來擦除,也是因為這樣的特性,才導致FLASH價格比EEPROM便宜。
為什麼微控制器中還要既有Flash又有EEPROM呢?
不僅僅是微控制器,很多ARM處理器也是這樣,需要有ROM來儲存WIFI、藍芽的MAC地址之類的。
簡單來說,當然是為了省錢啊,如果有錢,我肯定是放幾個G的EEPROM,不用就放著也可以,但是實力不允許啊。
所以EEPROM就用來儲存一些小東西,比如開機次數,常用的標誌位之類的東西。FLASH就用來儲存比較大的,比如韌體,如果是MP3這類的產品,就可以用FLASH來儲存歌曲。
推薦閱讀:
嵌入式Linux
微信掃描二維碼,關注我的公眾號