日常生活離不開(kāi)各類電子產(chǎn)品,我們常見(jiàn)的電子產(chǎn)品通常以電路板作為載體,包含信息采集,信息處理,存儲(chǔ),執(zhí)行等功能。
對(duì)于工程師來(lái)說(shuō),比起電路板,說(shuō)開(kāi)發(fā)板可能更親切一些。由于工程師在研發(fā)初期,大都在開(kāi)發(fā)板上驗(yàn)證功能,可以說(shuō)開(kāi)發(fā)板是所有電子設(shè)備最原始的狀態(tài)。開(kāi)發(fā)板與存儲(chǔ)之間有什么樣的關(guān)聯(lián)呢?
開(kāi)發(fā)板:MCU類VS Linux類 不同的存儲(chǔ)方式
根據(jù)處理器類型,開(kāi)發(fā)板一般分為兩類:MCU類和 Linux 類。它們二者的存儲(chǔ)方式還是有很大的差異的。
首先是MCU類開(kāi)發(fā)板,MCU就是工程師口中的單片機(jī),采用MCU的系統(tǒng)一般僅需要簡(jiǎn)單的操作或者控制,比如接收按鈕或按鍵的輸入信號(hào),按照事先編好的程序,指揮馬達(dá)和LCD的外圍功能電路動(dòng)作。
下圖就是一個(gè)MCU系統(tǒng)的主要組成部分:
可以很明顯的看出來(lái)MCU類的開(kāi)發(fā)板它的存儲(chǔ)功能靠?jī)?nèi)部存儲(chǔ)就足夠了。
內(nèi)部存儲(chǔ)分為ROM和RAM兩大類,存儲(chǔ)空間大小在幾十到幾百KB不等。如果不運(yùn)行操作系統(tǒng)和圖形系統(tǒng),MCU控制指令和代碼就會(huì)相對(duì)簡(jiǎn)單,內(nèi)部ROM和RAM可以滿足大多數(shù)應(yīng)用的系統(tǒng)存儲(chǔ)要求。
另外一類是Linux類開(kāi)發(fā)板,這類開(kāi)發(fā)板的處理器我們最常見(jiàn)的有Arm Cortex A系列。
目前主流Linux開(kāi)發(fā)板運(yùn)行的是Linux系統(tǒng),采用的多是Arm Cortex A系列的處理器。同Windows操作系統(tǒng)一樣,Linux是一種開(kāi)放源代碼,功能強(qiáng)大、可靠、穩(wěn)定性強(qiáng)、靈活而且具有極大的伸縮性的操作系統(tǒng)。
從下圖可以看出,Arm Cortex A處理器的內(nèi)部存儲(chǔ)有96KB的ROM和128KB的RAM。
如果不跑操作系統(tǒng),做一些簡(jiǎn)單的輸入輸出控制,代碼量不多的話,自帶的內(nèi)部存儲(chǔ)ROM和RAM是夠用的。但是Arm Cortex A處理器的運(yùn)算資源很強(qiáng)大,通常是使用在嵌入式產(chǎn)品上,嵌入式產(chǎn)品的軟件是需要跑Linux操作系統(tǒng)的。
它的軟件方面主要分為兩大塊:Linux內(nèi)核和用戶應(yīng)用程序。如果Linux使用比較輕量級(jí)的busybox來(lái)做文件系統(tǒng),使用版本比較低的內(nèi)核kernel 3.2最終編譯完后,Linux內(nèi)核鏡像大小在4-10M,最精簡(jiǎn)的文件系統(tǒng)就在16M左右,除此之外,用戶另外用戶肯定會(huì)在這個(gè)系統(tǒng)之上搭建自己的復(fù)雜的業(yè)務(wù)邏輯,要想支撐起比較復(fù)雜的用戶應(yīng)用程序,僅靠處理器的內(nèi)部存儲(chǔ)空間顯然是不夠的。
大家看看手邊的Linux開(kāi)發(fā)板,不難發(fā)現(xiàn)他們都額外增加了獨(dú)立的存儲(chǔ)芯片:SDARM和FLASH。
Linux開(kāi)發(fā)板上的外部存儲(chǔ)芯片
典型的Linux開(kāi)發(fā)板,比如大家都很熟悉的樹(shù)莓派4,使用的外部存儲(chǔ)芯片就是美光的8GB LPDDR4 SDRAM。
或許有人就疑惑了:為什么是外接存儲(chǔ)芯片,而不是直接在處理器芯片內(nèi)置大容量Flash和RAM?
原因有很多,比如成本問(wèn)題。如果單純的加大RAM會(huì)占用很多硅片面積,這也會(huì)直接導(dǎo)致芯片價(jià)格的增加。在同樣的硅片上,占用硅片面積大會(huì)使得切割出來(lái)的芯片晶圓數(shù)量減少。再者,RAM的工藝繁雜,RAM所占硅片的面積大,就會(huì)容易產(chǎn)生缺陷,導(dǎo)致芯片的整體良品率下降。
外部存儲(chǔ)芯片如何與處理器進(jìn)行工作的呢?
把Linux開(kāi)發(fā)板看成一個(gè)大工廠,處理器是加工車間,外部的存儲(chǔ)芯片則相當(dāng)于倉(cāng)庫(kù)。為了提升工廠的產(chǎn)能,一是提高處理器的性能,這樣可以提升加工車間的效率;二是縮短原材料從倉(cāng)庫(kù)到加工車間的時(shí)間,中間的臨時(shí)小倉(cāng)庫(kù),堆放目前專門生產(chǎn)的產(chǎn)品的原材料,可以大大縮短制造時(shí)間。小倉(cāng)庫(kù)相當(dāng)于存儲(chǔ)芯片中的DDR SDRAM,大倉(cāng)庫(kù)則相當(dāng)于存儲(chǔ)芯片中的Flash。
開(kāi)發(fā)板上的DDR SDRAM用來(lái)保存用戶程序在運(yùn)行時(shí)使用到的數(shù)據(jù)。而Flash,負(fù)責(zé)存儲(chǔ)應(yīng)用程序等,就如電腦中的硬盤(pán)作用。
處理器,DDR SDRAM和Flash之間是如何進(jìn)行數(shù)據(jù)傳輸?shù)模?/strong>
以運(yùn)行用戶程序?yàn)槔绦驎?huì)以二進(jìn)制碼的形式存在Flash中。當(dāng)想要運(yùn)行某個(gè)用戶程序時(shí),處理器會(huì)先從Flash中讀取待運(yùn)行的程序放入DDR中。處理器與DDR實(shí)時(shí)進(jìn)行數(shù)據(jù)傳輸,保證運(yùn)行的速度。
? 開(kāi)發(fā)板上的DDR SDRAM用來(lái)保存用戶程序在運(yùn)行時(shí)使用到的數(shù)據(jù)。
以美光的MT41K128M16JT-125 芯片(DDR3芯片)為例,速度可達(dá)800MHz的2GB DDR3 SDRAM。DDR3芯片的管腳較為復(fù)雜,不過(guò)大體上可以分成5類:電源線,時(shí)鐘線地址線,數(shù)據(jù)線,控制線(在不同的容量芯片當(dāng)中地址線和數(shù)據(jù)線的數(shù)目是變化的)。
下圖的DRAM_ADDR[0:15],這是16根地址線,讓處理器可以準(zhǔn)確的訪問(wèn)DDR3芯片。然后是DRAM_DATA[0:15],我們可以看到16位的并行數(shù)據(jù)線,用于DDR3和處理器之間的數(shù)據(jù)傳輸。
? 開(kāi)發(fā)板上的Flash,負(fù)責(zé)存儲(chǔ)應(yīng)用程序等,就如電腦中的硬盤(pán)作用,直接與處理器相連。
以美光的MT29F2G08ABAEAWP芯片為例,這是一顆Nand Flash芯片雖然有48個(gè)管腳,但是實(shí)際上使用到的管腳也就十多個(gè),比如有:
復(fù)用的數(shù)據(jù)管腳,用于數(shù)據(jù)、地址、命令等信息;CLE:命令鎖存使能,在輸入命令之前,先要拉高CLE;ALE:地址鎖存使能,在輸入地址之前,先要拉高ALE;CE#:芯片使能,在操作Nand Flash之前,先要拉低CE#;RE#:讀使能,在讀取數(shù)據(jù)之前,先要拉低RE#;WE#:寫(xiě)使能,在寫(xiě)取數(shù)據(jù)之前,先要拉低WE#;WP#:寫(xiě)保護(hù),拉低WP之后,將無(wú)法對(duì)芯片進(jìn)行寫(xiě)操作;R/B#:Ready/Busy Output,平時(shí)R/B為高電平狀態(tài),但當(dāng)NAND進(jìn)行編程、隨機(jī)讀或擦除操作時(shí)變?yōu)榈碗娖綘顟B(tài),操作完成后又變?yōu)楦唠娖綘顟B(tài)。
處理器與Nand Flash芯片通過(guò)8 bit的并行總線進(jìn)行連接,操作CLE和ALE,可以實(shí)現(xiàn)對(duì)8個(gè)IO管腳的數(shù)據(jù)類型復(fù)用。這樣做有一個(gè)好處,就是可以大大簡(jiǎn)化的硬件電路的設(shè)計(jì),避免了繁瑣的硬件連線。同時(shí),為了加強(qiáng)處理器對(duì)Nand Flash讀寫(xiě)操作的穩(wěn)定性,圖中CE,R/B和WP三個(gè)控制管腳被電阻上拉到高電平。
NAND Flash的操作通過(guò)一系列的命令來(lái)完成。命令一共分成9大類,包括復(fù)位操作、識(shí)別操作、配置操作、狀態(tài)操作、地址操作、讀操作、寫(xiě)(編程)操作、擦除操作以及寫(xiě)回操作。
最先進(jìn)的DDR5時(shí)代已來(lái)
工程師們執(zhí)著于增加電子產(chǎn)品的運(yùn)行速度及存儲(chǔ)空間,使得開(kāi)發(fā)板上的存儲(chǔ)芯片容量正不斷增加。決定電子設(shè)備性能的核心除了處理器之外,存儲(chǔ)芯片的讀取速度也成為一個(gè)非常重要的因素。
迄今為止技術(shù)上最為先進(jìn)的 DDR5 ,比上一代DDR4提升至少 85%,已經(jīng)出現(xiàn)在工程師的手中了。
編輯:hfy
-
單片機(jī)
+關(guān)注
關(guān)注
6041文章
44616瀏覽量
637430 -
mcu
+關(guān)注
關(guān)注
146文章
17307瀏覽量
352179 -
lcd
+關(guān)注
關(guān)注
34文章
4437瀏覽量
168072 -
Linux
+關(guān)注
關(guān)注
87文章
11336瀏覽量
210099 -
DDR4
+關(guān)注
關(guān)注
12文章
322瀏覽量
40863
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論