嵌入式开发——常见的存储器分类和特性介绍
1、存儲(chǔ)器的組成
存儲(chǔ)器大體上由“存儲(chǔ)顆粒 + 控制電路”組成,存儲(chǔ)顆粒負(fù)責(zé)存儲(chǔ)數(shù)據(jù),控制電路負(fù)責(zé)管理存儲(chǔ)顆粒和對(duì)外交換數(shù)據(jù)。如果從存儲(chǔ)顆粒上進(jìn)行分類(lèi),就是以是否掉電丟失、是否隨機(jī)尋址、是可讀還是可寫(xiě)、是否需要初始化等標(biāo)準(zhǔn)進(jìn)行分類(lèi);如果從控制電路進(jìn)行分類(lèi),就是用不同的協(xié)議來(lái)區(qū)分存儲(chǔ)器,比如:eMMC、SD卡、iNand等在存儲(chǔ)顆粒上都是NandFlash,但是接口電路不同,通信的協(xié)議就不同。按存儲(chǔ)顆粒可以分為兩大類(lèi):RAM和ROM。 RAM指的是只讀存儲(chǔ)器,主要特征是掉電丟失數(shù)據(jù),可隨機(jī)尋址,能通過(guò)地址線直接與CPU相連進(jìn)行數(shù)據(jù)交互。ROM指的是只讀存儲(chǔ)器,主要特征是掉電不丟失數(shù)據(jù)。通常來(lái)說(shuō),保存程序的是ROM,運(yùn)行程序的是RAM,除了特殊的NorFlash,NorFlash需要ROM但是可以運(yùn)行程序。
2、RAM分類(lèi)
2.1.1、SRAM介紹
SRAM(Static Random Access Memory)就是靜態(tài)隨機(jī)存儲(chǔ)器,由觸發(fā)器構(gòu)成,靜態(tài)是相對(duì)于DRAM而言的,不用刷新。SRAM的單位存儲(chǔ)容量?jī)r(jià)格高,讀取速度快,可以直接與CPU相連并且不用初始化就可以使用。
2.1.2、使用SRAM的地方
一般來(lái)說(shuō)SRAM的容量都不會(huì)很大,用在某些需要高速性能的地方,比如Cache等;或者用在啟動(dòng)階段,因?yàn)镾RAM不需要初始化就可以使用,某些Soc在芯片內(nèi)部就自帶了一塊iRAM(也就是SRAM),用來(lái)運(yùn)行最初的啟動(dòng)代碼。
2.2.1、DRAM介紹
DRAM(Dynamic Random Access Memory )是動(dòng)態(tài)隨機(jī)存儲(chǔ)器,動(dòng)態(tài)的意思就是需要去不停的刷新,因?yàn)镈RAM是電容原理做的,電容會(huì)不停的流失電荷,所以DRAM在刷新時(shí)間之內(nèi)必須去重新刷新一遍。DRAM相對(duì)于SRAM而言,DRAM需要先初始化才能使用,讀取的速度沒(méi)有SRAM快,但是單位存儲(chǔ)容量的價(jià)格更低。
2.2.2、DRAM的分類(lèi)
(1)SDRAM(synchronous dynamic random-access memory)同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,相比于DRAM是異步的,SDRAM和系統(tǒng)總線保持同步,通信速率更快;
(2)DDR(Double Data Rate SDRAM )雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,相對(duì)于SDRAM而言,DDR在上升沿和下降沿都可以傳輸數(shù)據(jù),所以傳輸速率是SDRAM的雙倍。
(3)DDR2、DDR3、DDR4就是DDR的升級(jí)版,具體差異我也不是很清楚,對(duì)嵌入式開(kāi)發(fā)工程師來(lái)說(shuō),最大的差異就是最高能達(dá)到的速率不同,越往后速率越高。
(4)在各版本的DDR中,會(huì)看到有的名字加上前綴LP,比如LPDDR4,就是低功耗的DDR4。低功耗的DDR主要是用在嵌入式設(shè)備里。
2.2.3、 總結(jié)
(1)需要初始化才能使用,需要刷新,容量比較大的一般都是DRAM;
(2)上電可以直接使用,不需要刷新,容量小,一般都是SRAM;
3、ROM分類(lèi)
3.1、ROM介紹
ROM(Read Only Memory)最主要的特點(diǎn)就是掉電不丟失數(shù)據(jù),一般都是用于保存數(shù)據(jù)的。常見(jiàn)的有磁盤(pán)(HDD),用磁原理進(jìn)行存儲(chǔ);硬盤(pán)(SSD)用電原理進(jìn)行存儲(chǔ);光盤(pán)(DVD),按光原理進(jìn)行存儲(chǔ);這里主要介紹電原理進(jìn)行存儲(chǔ)的Flash,因?yàn)楝F(xiàn)在嵌入式設(shè)備的外存基本都是Flash;其中flash分為NorFlash和NandFlash。
3.2.1、NorFlash介紹
NorFlash具有不需要初始化,掉電不丟失數(shù)據(jù),具有片內(nèi)執(zhí)行能力(XIP, eXecute In Place),可以用地址直接訪問(wèn),單位容量?jī)r(jià)格高等特點(diǎn)。一般來(lái)說(shuō)NorFlash的容量不會(huì)太大,都是用來(lái)存一些特殊的代碼,比如啟動(dòng)代碼。
3.2.2、使用NorFlash的地方
(1)單片中,單片機(jī)本身需要的存儲(chǔ)空間就不大,并且NorFlash具有片內(nèi)執(zhí)行能力,還省去一顆內(nèi)存;
(2)用作Soc中的iROM,用來(lái)保存啟動(dòng)代碼,因?yàn)镹orFlash不需要初始化就可以使用,所以當(dāng)芯片上電后就可以直接去讀取NorFlash里的代碼,進(jìn)行啟動(dòng)。
(3)一般spi flash都是NorFlash,spi是接口類(lèi)型;
3.3.1、NandFlash介紹
NandFlash具有單位容量?jī)r(jià)格低,存在壞塊,不能片內(nèi)執(zhí)行,需要初始化,掉電不丟失數(shù)據(jù)等特點(diǎn)。NandFlash分為SLC和MLC:SLC更穩(wěn)定,但是容量小價(jià)格高;MLC容易出錯(cuò),但是容量大價(jià)格低。現(xiàn)在最新的還有TLC和QLC,這個(gè)不太清除,用到的時(shí)候再查吧。一般大容量的flash都是MLC的,勝在便宜,只是要加上壞塊管理機(jī)制。
3.3.2、使用NandFlash的地方
基本上以G和T為單位的flash,都是NandFlash中的MLC,常見(jiàn)的MMC、SSD、eMMC、iNand等,在本質(zhì)上都是NandFlash,只是在控制電路上不同,表現(xiàn)出來(lái)就是接口協(xié)議,還有封裝工藝不同,各有各的用處。
4、補(bǔ)充
(1)現(xiàn)在的ROM已經(jīng)不是嚴(yán)格意義上的ROM了,ROM最初指的是只讀存儲(chǔ)器,但是現(xiàn)在我們用的磁盤(pán)和flash都是可讀可寫(xiě)的,只是寫(xiě)的速度比讀要慢。
(2)現(xiàn)在已經(jīng)很少用單純的存儲(chǔ)顆粒,都是加了控制電路的,對(duì)于工程師來(lái)說(shuō)就是用什么接口的存儲(chǔ)器。同樣在soc上也有相對(duì)的存儲(chǔ)器控制接口,因?yàn)榻涌诘耐?#xff0c;我們更換同接口的存儲(chǔ)器是不需要更改什么東西的。至于存儲(chǔ)器復(fù)雜的通信時(shí)序,都是由接口電路負(fù)責(zé),使用時(shí)去操作寄存器即可。
總結(jié)
以上是生活随笔為你收集整理的嵌入式开发——常见的存储器分类和特性介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “约见”面试官系列之常见面试题之第五十篇
- 下一篇: 分别用精密星历和广播星历计算卫星坐标 -