0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

電子設(shè)備中MCU類(lèi)VS Linux類(lèi) 不同的存儲(chǔ)方式

電子設(shè)計(jì) ? 來(lái)源:美光科技 ? 作者:美光科技 ? 2021-02-06 11:32 ? 次閱讀

日常生活離不開(kāi)各類(lè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類(lèi)VS Linux類(lèi) 不同的存儲(chǔ)方式

根據(jù)處理器類(lèi)型,開(kāi)發(fā)板一般分為兩類(lèi):MCU類(lèi)和 Linux 類(lèi)。它們二者的存儲(chǔ)方式還是有很大的差異的。

首先是MCU類(lèi)開(kāi)發(fā)板,MCU就是工程師口中的單片機(jī),采用MCU的系統(tǒng)一般僅需要簡(jiǎn)單的操作或者控制,比如接收按鈕或按鍵的輸入信號(hào),按照事先編好的程序,指揮馬達(dá)和LCD的外圍功能電路動(dòng)作。

下圖就是一個(gè)MCU系統(tǒng)的主要組成部分:

可以很明顯的看出來(lái)MCU類(lèi)的開(kāi)發(fā)板它的存儲(chǔ)功能靠?jī)?nèi)部存儲(chǔ)就足夠了。

內(nèi)部存儲(chǔ)分為ROMRAM兩大類(lèi),存儲(chǔ)空間大小在幾十到幾百KB不等。如果不運(yùn)行操作系統(tǒng)和圖形系統(tǒng),MCU控制指令和代碼就會(huì)相對(duì)簡(jiǎn)單,內(nèi)部ROM和RAM可以滿(mǎn)足大多數(shù)應(yīng)用的系統(tǒng)存儲(chǔ)要求。

另外一類(lèi)是Linux類(lèi)開(kāi)發(fā)板,這類(lèi)開(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)單的輸入輸出控制,代碼量不多的話(huà),自帶的內(nèi)部存儲(chǔ)ROM和RAM是夠用的。但是Arm Cortex A處理器的運(yùn)算資源很強(qiáng)大,通常是使用在嵌入式產(chǎn)品上,嵌入式產(chǎn)品的軟件是需要跑Linux操作系統(tǒng)的。

它的軟件方面主要分為兩大塊:Linux內(nèi)核和用戶(hù)應(yīng)用程序。如果Linux使用比較輕量級(jí)的busybox來(lái)做文件系統(tǒng),使用版本比較低的內(nèi)核kernel 3.2最終編譯完后,Linux內(nèi)核鏡像大小在4-10M,最精簡(jiǎn)的文件系統(tǒng)就在16M左右,除此之外,用戶(hù)另外用戶(hù)肯定會(huì)在這個(gè)系統(tǒng)之上搭建自己的復(fù)雜的業(yè)務(wù)邏輯,要想支撐起比較復(fù)雜的用戶(hù)應(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ǎng),處理器是加工車(chē)間,外部的存儲(chǔ)芯片則相當(dāng)于倉(cāng)庫(kù)。為了提升工廠(chǎng)的產(chǎn)能,一是提高處理器的性能,這樣可以提升加工車(chē)間的效率;二是縮短原材料從倉(cāng)庫(kù)到加工車(chē)間的時(shí)間,中間的臨時(shí)小倉(cāng)庫(kù),堆放目前專(zhuān)門(mén)生產(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)保存用戶(hù)程序在運(yùn)行時(shí)使用到的數(shù)據(jù)。而Flash,負(fù)責(zé)存儲(chǔ)應(yīng)用程序等,就如電腦中的硬盤(pán)作用。

處理器,DDR SDRAM和Flash之間是如何進(jìn)行數(shù)據(jù)傳輸?shù)模?/strong>

以運(yùn)行用戶(hù)程序?yàn)槔?,程序?huì)以二進(jìn)制碼的形式存在Flash中。當(dāng)想要運(yùn)行某個(gè)用戶(hù)程序時(shí),處理器會(huì)先從Flash中讀取待運(yùn)行的程序放入DDR中。處理器與DDR實(shí)時(shí)進(jìn)行數(shù)據(jù)傳輸,保證運(yùn)行的速度。

? 開(kāi)發(fā)板上的DDR SDRAM用來(lái)保存用戶(hù)程序在運(yùn)行時(shí)使用到的數(shù)據(jù)。

以美光的MT41K128M16JT-125 芯片(DDR3芯片)為例,速度可達(dá)800MHz的2GB DDR3 SDRAM。DDR3芯片的管腳較為復(fù)雜,不過(guò)大體上可以分成5類(lèi):電源線(xiàn),時(shí)鐘線(xiàn)地址線(xiàn),數(shù)據(jù)線(xiàn),控制線(xiàn)(在不同的容量芯片當(dāng)中地址線(xiàn)和數(shù)據(jù)線(xiàn)的數(shù)目是變化的)。

下圖的DRAM_ADDR[0:15],這是16根地址線(xiàn),讓處理器可以準(zhǔn)確的訪(fǎng)問(wèn)DDR3芯片。然后是DRAM_DATA[0:15],我們可以看到16位的并行數(shù)據(jù)線(xiàn),用于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的并行總線(xiàn)進(jìn)行連接,操作CLE和ALE,可以實(shí)現(xiàn)對(duì)8個(gè)IO管腳的數(shù)據(jù)類(lèi)型復(fù)用。這樣做有一個(gè)好處,就是可以大大簡(jiǎn)化的硬件電路的設(shè)計(jì),避免了繁瑣的硬件連線(xiàn)。同時(shí),為了加強(qiáng)處理器對(duì)Nand Flash讀寫(xiě)操作的穩(wěn)定性,圖中CE,R/B和WP三個(gè)控制管腳被電阻上拉到高電平。

NAND Flash的操作通過(guò)一系列的命令來(lái)完成。命令一共分成9大類(lèi),包括復(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44459

    瀏覽量

    631247
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16813

    瀏覽量

    349496
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4389

    瀏覽量

    166764
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11182

    瀏覽量

    208540
  • DDR4
    +關(guān)注

    關(guān)注

    12

    文章

    317

    瀏覽量

    40625
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    音頻放大器G類(lèi)和H類(lèi)升壓的優(yōu)勢(shì)

    電子發(fā)燒友網(wǎng)站提供《音頻放大器G類(lèi)和H類(lèi)升壓的優(yōu)勢(shì).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 11:36 ?0次下載
    音頻放大器<b class='flag-5'>中</b>G<b class='flag-5'>類(lèi)</b>和H<b class='flag-5'>類(lèi)</b>升壓的優(yōu)勢(shì)

    PCB板的電流及在電子設(shè)備的作用

    電子設(shè)備,PCB(印刷電路板)是連接各種電子元件的關(guān)鍵部件。PCB板的電流是指在PCB板上流動(dòng)的電能,它對(duì)電子設(shè)備的正常工作至關(guān)重要。然而,PCB板上的電流并非所有電流,它只是
    的頭像 發(fā)表于 08-15 09:36 ?447次閱讀

    排線(xiàn)磁環(huán):電子設(shè)備的電磁屏蔽衛(wèi)士

    電子設(shè)備的密集環(huán)境,電磁干擾(EMI)是一個(gè)不容忽視的問(wèn)題。為了應(yīng)對(duì)這一挑戰(zhàn),排線(xiàn)磁環(huán)作為一種高效的電磁屏蔽解決方案,被廣泛應(yīng)用于各種電子設(shè)備。本文維愛(ài)普小編將介紹排線(xiàn)磁環(huán)的工作
    的頭像 發(fā)表于 05-21 09:50 ?517次閱讀

    C程序可用的存儲(chǔ)類(lèi)有哪些?

    register 存儲(chǔ)類(lèi)用于定義存儲(chǔ)在寄存器而不是 RAM 的局部變量。這意味著變量的最大尺寸等于寄存器的大?。ㄍǔJ且粋€(gè)詞),且不能對(duì)
    發(fā)表于 03-15 12:32 ?285次閱讀

    電子設(shè)備的“超級(jí)電容器”到底是什么?

    電子設(shè)備的“超級(jí)電容器”到底是什么?我們提到過(guò)電容器與普通電池的不同在于能量密度不同,與標(biāo)準(zhǔn)電容器相比,它還具有更高的電能存儲(chǔ)能力。超級(jí)電容器不能像電池一樣存儲(chǔ)盡可能多的功率,但它可
    的頭像 發(fā)表于 03-11 08:56 ?438次閱讀
    <b class='flag-5'>電子設(shè)備</b><b class='flag-5'>中</b>的“超級(jí)電容器”到底是什么?

    防浪涌TVS:電子設(shè)備的保護(hù)盾?|深圳比創(chuàng)達(dá)電子a

    方式可以保護(hù)我們的設(shè)備免受這些意外傷害?答案就是“防浪涌TVS(Transient Voltage Suppressor)”。但它是什么?它如何工作?又為何在現(xiàn)代電子設(shè)備扮演著如此重
    發(fā)表于 01-05 10:19

    穩(wěn)壓電源一類(lèi)類(lèi)類(lèi)區(qū)別

    轉(zhuǎn)換為穩(wěn)定輸出電流的電子設(shè)備,用于為各種電子設(shè)備和電路提供穩(wěn)定的直流電源。根據(jù)國(guó)家標(biāo)準(zhǔn)GB/T 14710-2010《通信設(shè)備電流、電壓特性要求和測(cè)量方法》的規(guī)定,可以將穩(wěn)壓電源分為
    的頭像 發(fā)表于 12-28 17:54 ?7991次閱讀

    什么是8類(lèi)網(wǎng)線(xiàn)?8類(lèi)線(xiàn)與七類(lèi)線(xiàn)、超六類(lèi)線(xiàn)的區(qū)別 8類(lèi)線(xiàn)的應(yīng)用

    什么是8類(lèi)網(wǎng)線(xiàn)?8類(lèi)線(xiàn)與七類(lèi)線(xiàn)、超六類(lèi)線(xiàn)的區(qū)別 8類(lèi)線(xiàn)的應(yīng)用? 八類(lèi)網(wǎng)線(xiàn)是一種用于傳輸高速網(wǎng)絡(luò)數(shù)
    的頭像 發(fā)表于 12-07 09:40 ?3114次閱讀

    this可以出現(xiàn)在類(lèi)方法

    是的, this 關(guān)鍵字可以出現(xiàn)在類(lèi)方法。在Java, this 是一個(gè)引用,用于引用當(dāng)前對(duì)象的實(shí)例。它可以在類(lèi)的實(shí)例方法中使用,以訪(fǎng)問(wèn)該實(shí)例的成員變量和方法。 當(dāng)在
    的頭像 發(fā)表于 11-28 16:24 ?1246次閱讀

    java的主類(lèi)必須是public類(lèi)

    在Java,主類(lèi)是指程序的入口類(lèi),也就是程序開(kāi)始執(zhí)行的地方。一般來(lái)說(shuō),Java主類(lèi)需要是public類(lèi),但并不是絕對(duì)的規(guī)定。下面將詳細(xì)介紹
    的頭像 發(fā)表于 11-28 16:15 ?5144次閱讀

    如何理解java的抽象類(lèi)

    Java的抽象類(lèi)是一種特殊的類(lèi),無(wú)法被實(shí)例化,只能被繼承。它是一個(gè)中間層的類(lèi),位于具體類(lèi)和接口之間,用于定義通用的屬性和方法,并提供一些默
    的頭像 發(fā)表于 11-21 10:16 ?514次閱讀

    Java抽象類(lèi)和接口的介紹

    Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言,提供了抽象類(lèi)和接口兩種機(jī)制來(lái)幫助開(kāi)發(fā)人員組織和管理代碼。本文將詳細(xì)介紹Java語(yǔ)言中抽象類(lèi)和接口的概念、特點(diǎn)、使用方式以及它們之間的區(qū)別和聯(lián)系。 抽象類(lèi)
    的頭像 發(fā)表于 11-21 09:47 ?413次閱讀

    PCB是所有電子設(shè)備的核心

    pcb電子設(shè)備
    油潑辣子
    發(fā)布于 :2023年11月18日 12:08:06

    電子設(shè)備的移動(dòng)電源的使用方式

    電子發(fā)燒友網(wǎng)站提供《電子設(shè)備的移動(dòng)電源的使用方式.doc》資料免費(fèi)下載
    發(fā)表于 11-15 11:25 ?0次下載
    <b class='flag-5'>電子設(shè)備</b>的移動(dòng)電源的使用<b class='flag-5'>方式</b>

    SDCardUtils封裝類(lèi)應(yīng)用:設(shè)備信息獲取實(shí)現(xiàn)方法

    硬件名、SDK版本、android版本 、語(yǔ)言支持、默認(rèn)語(yǔ)言 六、 獲取 SD 卡存儲(chǔ)信息 七、 獲取手機(jī) RAM、ROM存儲(chǔ)信息 八、DeviceInfoUtils 封裝類(lèi) 九、SDCardUtils 封裝
    的頭像 發(fā)表于 11-13 09:40 ?657次閱讀
    SDCardUtils封裝<b class='flag-5'>類(lèi)</b>應(yīng)用:<b class='flag-5'>設(shè)備</b>信息獲取實(shí)現(xiàn)方法