信息來源于:互聯網 發布于:2021-10-31
單片機中安裝了各種各樣的存儲器。半導體制造商還開發了特殊類型的存儲器,我們無法全部解釋。因此,在本文中,主要以“STM32系列”中的存儲器為例,該存儲器是通用的32位單片機。
一、非易失性存儲器
即使關閉電源也可以保留其內容的存儲器(存儲設備)。還包括用于IC芯片的ROM、廣義的HDD、軟盤(FDD)、磁帶等,但是由于ROM用于單片機,因此我們將重點介紹ROM。
ROM是“只讀存儲器”的縮寫,顧名思義,它是“只讀存儲器”。即使您說“只讀”,如果用戶不能重寫它也是很不方便的,所以最近,出現了一種稱為可編程ROM的ROM,它可以重寫內容。根據存儲方法和用途,有各種ROM。
(1)FLASH
近年來,FLASH已經成為安裝在單片機中的ROM的主流。可以對其進行電擦除和重寫,從而使用戶可以輕松更改程序代碼。用于重寫單個存儲單元的機制與稍后描述的EEPROM完全相同,但是通過使擦除單元大于EEPROM,可以減少整個存儲模塊中的晶體管數量。因此,不能以字節或位為單位擦除FLASH,而主流方法是一次電擦除整個芯片(或扇區單元)。如果容量相同,則可以在小于EEPROM的區域內制作,因此可以實現大容量的可編程ROM。
過去,由于制造成本高而很少使用它,但是近來,隨著制造成本的降低,它通常用作單片機指令的存儲器。當然,它也可以用于數據。
(2)EEPROM
類似于FLASH,它是一種可以電擦除和重寫的ROM。對于EEPROM,可以以字節為單位進行寫入和擦除,因此用戶可以以與RAM相同的方式使用它(但是重寫需要時間)。由于該區域大于FLASH,因此無法在微計算機上安裝大容量。因此,它主要用于數據存儲,特別是用于即使電源關閉也要保留的數據。當然,它也可以用于指令,但是由于容量不是很大,因此只能用于小的指令代碼。
(3)其他ROM
除上述以外,還有掩碼ROM和EPROM(可擦可編程ROM)。
掩模ROM是在單片機的制造過程中創建內容的ROM。用戶無法重寫內容。另外,由于從訂購到交貨需要時間,因此目前很少使用。
EPROM以電子方式進行寫入,但是包裝上有一個暴露在紫外線下的窗口以將其擦除。在EPROM中,只能寫入一次的EPROM稱為OTP(一次性可編程ROM)。
它只能使用便宜的無窗口軟件包編寫一次,此后不能擦除,但是它比普通的EPROM便宜,因此它經常在FLASH問世之前使用。
在STM32系列中,有些帶有內置FLASH的產品具有OTP區域。寫入一次以防止重寫后可以鎖定(保護)的區域稱為OTP區域。您可以保護程序免于意外重寫和篡改黑客程序。
二、易失性存儲器
它是一種存儲器(存儲設備),在關閉電源時其內容將被擦除。即使在關閉電源的情況下,也不需要保留在單片機的計算和計算過程中使用的數據,因此在您要保存臨時數據時使用它。單片機中安裝的大多數RAM是易失性存儲器。
RAM:隨機存取存儲器
隨機存取存儲器的縮寫稱為RAM。就像閱讀一樣,它是一種“可以不受限制地讀寫的存儲器”。RAM是一種保存內容的方法,可以大致分為兩種類型。
(1)SRAM(靜態RAM)
使用觸發器配置邏輯作為存儲單元并靜態保存數據的RAM。即使被稱為觸發器,由于邏輯規模變大,因此不使用圖3(a)所示的鎖存電路。通常,使用逆變器的反饋類型。由于根據邏輯電路的輸出是H電平還是L電平來保留內容,因此易于使用并且容易實現低功耗。包括STM32系列在內的許多單片機的內部RAM是SRAM。
(2)DRAM(動態RAM)
DRAM通常不內置在單片機中,但是DRAM控制器是作為外圍功能內置的,因此我將對其進行介紹。
使用動態類型存儲單元保存內容的RAM稱為動態RAM(DRAM)。它由一個晶體管和一個小容量電容器組成,并根據電容器中是否存在電荷來保存數據。
電容器中充電的電荷是泄漏電流,該泄漏電流會隨著時間的流逝而衰減,因此必須定期將電池恢復到其原始狀態。這稱為刷新。使用單詞“動態”是因為刷新操作是動態操作。
由于存儲單元的結構非常簡單,因此可以減小面積并可以創建大量的RAM。使用相同的面積,您可以創建四倍于SRAM的容量。但是,用戶必須提供刷新控制電路。
某些單片機(包括STM32系列)具有外圍功能,可以在刷新DRAM時對其進行訪問。
(3)其他RAM
除上述之外,安裝在單片機中的RAM包括FeRAM(鐵電隨機存取存儲器),它是非易失性RAM。當前,諸如FeRAM之類的非易失性RAM僅在特定的單片機中使用。