這一篇主要講講ROMRAMFlash的一些零碎知識(shí)點(diǎn),網(wǎng)上也能找到很多資料。
1、ROM1.1 概述只讀存儲(chǔ)器(Read-only memory, ROM),當(dāng)然從廣義上來(lái)講,也有一些器件,例如Flash,EPROM等等,通過(guò)某種手段可以編程的,也屬于ROM的范疇的。ROM一般用在一些程序的存儲(chǔ)和數(shù)據(jù)的存儲(chǔ),這里程序多半是比較固定的程序(Firmware,固件,一種跟硬件強(qiáng)相關(guān)的程序,例如驅(qū)動(dòng)等等),這里的數(shù)據(jù)多半是固化的表項(xiàng),查找表等等不會(huì)怎么改變的表項(xiàng)。1.2 基本原理HDL設(shè)計(jì)中,對(duì)于小ROM,深度和位寬都不大,一般使用組合邏輯就可以做一個(gè)ROM。如果數(shù)據(jù)比較大,比如1K*4B這種,就換一種ROM,使用標(biāo)準(zhǔn)單元Mask ROM,來(lái)做存儲(chǔ),如下圖所示。百度百科對(duì)MASK ROM的定義,是制造商為了要大量生產(chǎn),事先制作一顆有原始數(shù)據(jù)的ROM或EPROM當(dāng)作樣本,然后再大量生產(chǎn)與樣本一樣的 ROM,這一種做為大量生產(chǎn)的ROM樣本就是MASK ROM,而燒錄在MASK ROM中的資料永遠(yuǎn)無(wú)法做修改。

1.3 分類
一種是真的寫了就沒(méi)法改的ROM;一種是可以寫一次的ROM(one-time Programmable read-only memory),使用的高壓反熔絲技術(shù);一種是可擦出的能、能寫多次的ROM(Erasable programmable read only memory),使用紫外線擦除;一種是電擦除的EEPROM(Electrically Erasable programmable read only memory,EEPROM),再到后來(lái)東芝搞的Flash。工業(yè)界第一種ROM和最后一種的Flash用的比較多。
二、Flash1.1 原理非遺失性的存儲(chǔ),是在ROM的基礎(chǔ)上演進(jìn)出來(lái)的。目前主流是NAND和NOR。模擬的團(tuán)隊(duì)來(lái)做flash。可以任意地址訪問(wèn)。對(duì)于連續(xù)地址讀訪問(wèn),NAND和NOR的帶寬差距不大。NAND是存儲(chǔ)塊訪問(wèn),NOR可以Byte訪問(wèn)。總的來(lái)說(shuō),NOR特點(diǎn)就是比較細(xì)的訪問(wèn),基本啟動(dòng)程序放NOR中,穩(wěn)定性和可靠性也稍微高一些;NAND訪問(wèn)數(shù)據(jù)塊比較好,通常數(shù)據(jù)放NAND中,而且成本也較低。

圖:NOR Flash的時(shí)序
ale: address lock enable;一般Flash不會(huì)直接集成到芯片中,如果集成在芯片外面,IO數(shù)量增加,NOR解決辦法就是數(shù)據(jù)和地址復(fù)用,當(dāng)ale為高的時(shí)候,addr上走的是地址,當(dāng)ale為低且csn為低的時(shí)候,addr上走的是數(shù)據(jù)。 wen:write enable;用于指示讀還是寫。 rdy:對(duì)于芯片和FLash分離,因?yàn)槭钱惒?a target="_blank">接口,所以使用rdy信號(hào)用來(lái)握手。對(duì)于MCU來(lái)講,如果把小的NOR flash集成到芯片內(nèi)部,就可以直接使用同步接口,也就是SRAM的接口。

圖:NAND Flash時(shí)序
CLE:Chip Lock Enable;
可以看到NAND也是數(shù)據(jù)和地址線復(fù)用的。NAND可以大塊的數(shù)據(jù)讀寫,多了些Command。NAND Flash在MCU中的比較少。Flash跟ROM和RAM不同,不想數(shù)字的可以直接用工具生成,這個(gè)需要模擬團(tuán)隊(duì)自己做。
3、RAM 1.1 基本概念Static Random Access Memory,靜態(tài)的,隨機(jī)的訪問(wèn)。靜態(tài)的,不用刷新,不像DRAM需要隨時(shí)刷新,但是SRAM沒(méi)有DRAM的集成度高,面積比較大。另外,速度和功耗比DRAM好一些。

圖:存儲(chǔ)一個(gè)bit的SRAM的結(jié)構(gòu)
6個(gè)CMOS管子組成一個(gè)SRAM單元,Q1和Q3組成反相器,Q2和Q4組成反相器,兩個(gè)反相器組成一個(gè)環(huán)路,這樣,只要不掉電,這個(gè)邏輯環(huán)就不會(huì)變,跟觸發(fā)器原理有點(diǎn)類似。Q5用于控制輸入,Q6用于控制輸出,兩個(gè)管子相當(dāng)于輸入和輸出的開(kāi)關(guān)。1.2 分類single port SRAM:不會(huì)發(fā)生讀寫沖突,因?yàn)橹笠粋€(gè)端口,要么讀,要么寫;盡量做到先寫后讀,或者初始化再讀,否則讀出來(lái)的數(shù)據(jù)有可能不對(duì)(原因是SRAM的軟失效)。對(duì)于軟失效,可以加一個(gè)ECC校驗(yàn),例如寸10bir,其中2bit是校驗(yàn)位。 Two port SRAM:FOGA的讀寫沖突允許,但是ASIC不可以,在同一個(gè)時(shí)刻,讀地址和寫地址不要一樣。FIFO一般是TP SRAM。 Dual port SRAM:也是兩個(gè)端口A、B,可以A讀B寫,也可以A寫B(tài)讀,不在局限于只能誰(shuí)讀誰(shuí)寫。可靠性,面積和率都不是很好。 工程上,使用兩個(gè)SRAM,做乒乓操作,實(shí)現(xiàn)TP SRAM的功能,一個(gè)讀的時(shí)候,另外一個(gè)寫。兩個(gè)SRAM加起來(lái)面積可能比TP SRAM小一些。對(duì)于幾百幾K的bit位,直接用D觸發(fā)器來(lái)存儲(chǔ)比較好。1.3 接口SRAM有一個(gè)需要注意下,就是Redundancy接口,用于擴(kuò)展SRAM的,在比較的大的memory中會(huì)用,例如cache,這個(gè)接口可選的。用法的話,舉個(gè)例子這個(gè)就是說(shuō),當(dāng)SRAM中有一塊壞掉了,這個(gè)時(shí)候就在尾部在接一塊SRAM存儲(chǔ),就把壞塊的地址映射到新加的存儲(chǔ)塊中,這個(gè)時(shí)候就要用的Redundancy了。1.4 時(shí)序?qū)τ赟ingle port SDRAM的時(shí)序,如下圖:

讀是在一個(gè)時(shí)鐘周期完成,如果是連續(xù)寫,紅點(diǎn)處,write enable是可以一直拉低的;讀的話,是要在下一個(gè)時(shí)刻才能采到數(shù)據(jù),注意下。
-
NAND
+關(guān)注
關(guān)注
16文章
1756瀏覽量
141061 -
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7739瀏覽量
171685 -
ROM
+關(guān)注
關(guān)注
4文章
579瀏覽量
89082
原文標(biāo)題:MCU存儲(chǔ)系統(tǒng)
文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
爬壁機(jī)器人磁鐵的一些常見(jiàn)問(wèn)題
關(guān)于六類網(wǎng)線一些問(wèn)題的解答
貼片電容精度J±5%的一些詳細(xì)知識(shí)
單片機(jī)學(xué)習(xí)的8個(gè)知識(shí)點(diǎn)分享
匯編寄存器的知識(shí)
【高速數(shù)字設(shè)計(jì)(基礎(chǔ)篇)】閱讀體驗(yàn)之一--書(shū)籍排版設(shè)計(jì)和目錄架構(gòu)及初步閱讀
Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)
最新人工智能硬件培訓(xùn)AI基礎(chǔ)入門學(xué)習(xí)課程參考2025版(離線AI語(yǔ)音視覺(jué)識(shí)別篇)
關(guān)于芯片設(shè)計(jì)的一些基本知識(shí)
C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍
Debian和Ubuntu哪個(gè)好一些?
電機(jī)選型計(jì)算公式與知識(shí)點(diǎn)匯總
嵌入式硬件雜談:推挽、開(kāi)漏、高阻態(tài)、上拉電阻
樹(shù)莓派在自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用
ROMRAMFlash的一些零碎知識(shí)點(diǎn)
評(píng)論