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

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

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

如何選擇合適的基于Cortex的MCU應(yīng)用設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-03-20 09:27 ? 次閱讀

基于ARMCPUMCU領(lǐng)域無處不在,通常有幾個可從同一個MCU供應(yīng)商處獲得。每個ARM CPU都針對一類特定的處理要求進行了優(yōu)化,從低端功耗約束應(yīng)用到高功耗性能優(yōu)化的雙核應(yīng)用。目前,MCU設(shè)備中最流行的ARM CPU似乎是Cortex CPU。您如何確定哪種ARM Cortex CPU適合您的應(yīng)用?讓我們通過查看示例實現(xiàn)來探索一些更受歡迎的基于Cortex的MCU之間的主要區(qū)別,這些示例實現(xiàn)將幫助您確定哪一個適合您的下一個設(shè)計。

許多選項

找到許多不同的東西并不罕見單個MCU系列中的ARM Cortex CPU。 Cortex CPU及其可選擴展可滿足各種應(yīng)用需求,但都具有向后兼容的指令集,如圖1所示。從Cortex-M0/M0 +/M1系列開始,指令集針對通用目的數(shù)據(jù)處理和IO任務(wù)。 Cortex-M3 CPU增加了高級數(shù)據(jù)處理和位域操作指令,可加速更復(fù)雜的控制和通用計算任務(wù)。 Cortex-M4 CPU增加了數(shù)字信號處理(DSP)指令,并提供單指令多數(shù)據(jù)(SIMD)操作,其中相同的數(shù)據(jù)處理指令可以同時對多個數(shù)據(jù)源進行操作。這些專業(yè)功能可以極大地加速復(fù)雜的數(shù)據(jù)處理任務(wù),如音頻視頻應(yīng)用程序中的任務(wù)。當(dāng)性能和精度都是目標(biāo)算法的重要元素時,Cortex-M4 CPU還可以添加浮點單元(FPU)。例如,模擬傳感和電機控制通常使用浮點來實現(xiàn)精度,但快速控制環(huán)閉合需要高性能。

如何選擇合適的基于Cortex的MCU應(yīng)用設(shè)計

圖1:ARM Cortex MCU指令集兼容性。 (由ARM和STMicroelectronics提供)

這種常規(guī)和向后兼容指令集的一個關(guān)鍵優(yōu)勢是MCU制造商可以創(chuàng)建針對特定應(yīng)用進行優(yōu)化的設(shè)備,同時如果算法增長,則通過向上兼容性“覆蓋所有賭注”目標(biāo)系統(tǒng)生命周期中的復(fù)雜性。例如,您需要多少次添加更復(fù)雜的功能才能滿足開發(fā)過程中的新要求? Cortex指令集架構(gòu)(ISA)的向上兼容性使這很容易。在某些情況下,也可以簡化目標(biāo)架構(gòu),因為向下兼容性可以降低成本,如果可接受的性能較低。

STMicroelectronics在其STM32 MCU系列中使用了多個ARM Cortex CPU。圖2顯示了各種Cortex CPU以及與每個MCU系列相關(guān)的關(guān)鍵硬件功能。請注意,Cortex-M0 CPU用于入門級STM32F030/50/051器件,而帶有DSP和FPU的Cortex-M4用于高性能STM32F4xx(例如STM32F401RCT6)和STM32F3xx器件。中檔設(shè)備使用Cortex-M3 CPU,其中不需要更復(fù)雜的DSP和FPU指令以獲得最高性能。 (如果需要,這些指令可以用多個指令實現(xiàn),大多數(shù)編譯器提供了一種相當(dāng)透明的方法,用于在硬件實現(xiàn)和多周期“軟”實現(xiàn)之間切換。)

如何選擇合適的基于Cortex的MCU應(yīng)用設(shè)計

圖2:STM32F MCU系列Cortex CPU和關(guān)鍵硬件功能。 (由STMicroelectronics提供)

其他供應(yīng)商也支持多種ARM Cortex MCU,通常具有廣泛的性能和成本范圍。例如,Silicon Labs擁有使用ARM Cortex-M CPU的EFM32系列MCU(例如,EFM32ZG222F32-QFP48)。低端低功耗GZ系列使用Cortex-M0 + CPU,而中端TG,G,LG和GG系列使用Cortex-M3 CPU。高端WG系列使用Cortex-M4 CPU,具有DSP和FPU增強功能。有10種不同的軟件包選項可以通過一些前期規(guī)劃從一種CPU類型遷移到另一種CPU類型,從而更容易適應(yīng)不斷變化的需求或使用相同的基礎(chǔ)設(shè)計提供不同的產(chǎn)品。

Cortex-A架構(gòu)

Cortex-M架構(gòu)是一個非常受歡迎的MCU制造商,但Cortex-A架構(gòu)也出現(xiàn)在供應(yīng)商的設(shè)備中,通常在MPU中,其中大型外部存儲器用于指令和數(shù)據(jù)。 Cortex-A CPU針對超高性能應(yīng)用進行了優(yōu)化,通常需要視頻播放和高級安全性等功能。例如,基于Atmel Cortex-A5的SAMA5D4 MPU(圖3)使用Cortex-A5 CPU,具有2 x 32 kb 1級高速緩存和128 kb 2級高速緩存,以加快處理性能。片上DDR2/LPDDR/LPDDR2控制器訪問外部存儲器中的指令和數(shù)據(jù),因此可以使用非常大的程序和數(shù)據(jù)集。例如,視頻處理算法可能需要非常大的數(shù)據(jù)集以及非常大的程序。硬件子系統(tǒng)為安全性,連接性,控制和用戶界面提供了重要功能,以簡化復(fù)雜人機界面和相關(guān)控制系統(tǒng)的創(chuàng)建。

如何選擇合適的基于Cortex的MCU應(yīng)用設(shè)計

圖3:Atmel SAMA5D4 MPU框圖。 (由Atmel提供)

SAMA5D4還支持兩個重要的Cortex擴展功能 - Trust Zone和NEON。 Trust Zone支持安全的代碼執(zhí)行。通常,處理器需要執(zhí)行一些與安全相關(guān)的功能(例如安全PIN輸入或密碼保護)以及一些正常的程序功能(例如圖形顯示或菜單選擇例程)。 Trust區(qū)域硬件擴展允許程序員保護與安全相關(guān)的功能免受正常訪問和潛在的安全攻擊。甚至調(diào)試功能也可以僅限于正常程序,以進一步保護安全例程免受窺探和類似攻擊。

NEON擴展為基于SIMD的算法提供了顯著的處理性能改進。 NEON擴展的共同目標(biāo)是多媒體,信號處理2D/3D圖形,視頻編碼/解碼和聲音合成。 NEON有自己獨立的流水線和寄存器文件,可以支持32位寄存器上的有符號/無符號8位,16位,32位,64位和單精度浮點運算,這些寄存器被視為64位或128位寬取決于指示。與非SIMD實現(xiàn)相比,NEON通??梢蕴峁╋@著的性能提升;復(fù)雜視頻編解碼器的性能提升60-150%是典型的例子。

多核CPU解決方案

ARM Cortex CPU也出現(xiàn)在多核MCU實現(xiàn)中。這些設(shè)備有時具有兩種不同的性能CPU,一種是針對目標(biāo)應(yīng)用功能“繁重”的高性能,另一種是用于管理通信端口,用戶界面和類似低級控制功能的性能較低的CPU。其他多核設(shè)備具有相同類型的CPU,只需復(fù)制,以便于分區(qū)和分配不太專業(yè)的處理功能,以實現(xiàn)處理和功率效率的正確平衡。例如,如果不需要滿足性能要求(可能在“慢”數(shù)據(jù)期間),則可以將一個CPU置于低功耗等待狀態(tài),然后在需要額外處理時打開。

Texas Instruments在圖4所示的Concerto MCU系列中(作為示例見F28M35H52C1RFPT)在其流行的C28x CPU中增加了一個ARM Cortex-M3處理器,為單個器件中的控制和連接提供了一個簡單的解決方案。 C28x CPU已針對實時控制進行了優(yōu)化,可充分利用其15年以上的DSP應(yīng)用經(jīng)驗。 ARM Cortex-M3 CPU針對通信應(yīng)用進行了優(yōu)化,它可以利用廣泛的ARM生態(tài)系統(tǒng)來實現(xiàn)通信驅(qū)動程序(以太網(wǎng),USB,CAN,SPI等)以及強大的調(diào)度和O/S支持。

如何選擇合適的基于Cortex的MCU應(yīng)用設(shè)計

圖4:德州儀器TI)的雙CPU核心Concerto?MCU系列。 (由Texas Instruments提供)

將您的應(yīng)用程序與正確的ARM Cortex CPU相匹配

您可以在幾乎所有MCU制造商的各種MCU系列中找到ARM Cortex CPU。為了使正確的Cortex CPU與您的應(yīng)用程序相匹配,您應(yīng)該首先確定哪種指令集最適合您的應(yīng)用程序。特別是,要查看是否需要高級數(shù)據(jù)處理功能,如浮點或DSP。您是否需要更高級的功能,如NEON或Trust Zone?也許您的應(yīng)用程序更加面向控制,低功耗是關(guān)鍵要求?如果是這樣,更簡單的M0架構(gòu)可能是合適的。中檔設(shè)計可以利用Cortex-M3 CPU并根據(jù)連接要求和其他關(guān)鍵外設(shè)選擇設(shè)備 - 您通常在MCU制造商的中檔設(shè)備中擁有最多的選擇。

如果您的要求在在設(shè)計階段,您可能希望能夠遷移到功能更豐富的設(shè)備或功能更多的設(shè)備。在這種情況下,選擇支持在設(shè)備之間輕松遷移的MCU系列可能很重要。您還可以使用大型ARM Cortex生態(tài)系統(tǒng)來利用經(jīng)過驗證的驅(qū)動程序,RTOS,特定于功能的庫和開發(fā)工具鏈。無論您選擇哪種ARM Cortex CPU,您都可以確保有一個強大的生態(tài)系統(tǒng)可用于簡化您的設(shè)計。

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

    關(guān)注

    146

    文章

    16667

    瀏覽量

    347786
  • 電機控制
    +關(guān)注

    關(guān)注

    3513

    文章

    1811

    瀏覽量

    267343
  • 德州儀器
    +關(guān)注

    關(guān)注

    123

    文章

    1662

    瀏覽量

    140287
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    201

    瀏覽量

    46258
收藏 人收藏

    評論

    相關(guān)推薦

    安徽Cortex-A7和大時代Cortex-A8內(nèi)核的MCU改如何選擇?

    -A7和Cortex-A8的內(nèi)核,我們來選擇市面上主流的代表MCU,進行簡單外圍接口對比。我們將選擇800M主頻的Cortex-A7和
    發(fā)表于 09-29 10:19

    Cortex-A7和安徽Cortex-A8內(nèi)核的大時代MCU改如何選擇

    -A8的45nm/65nm,在功耗方面Cortex-A7有很大優(yōu)勢。  最后,針對Cortex-A7和Cortex-A8的內(nèi)核,我們來選擇市面上主流的代表
    發(fā)表于 10-17 10:27

    如何選擇8位MCU和32位MCU架構(gòu)的指南使用?

    的使用案例,也可作為如何選擇這兩種MCU架構(gòu)的指南使用。本文中大部分32位MCU的范例將關(guān)注ARM Cortex-M,Cortex-M在不同
    發(fā)表于 03-01 06:38

    如何選擇合適的超低功耗MCU?有什么技巧?

    如何選擇合適的超低功耗MCU?有什么技巧?如何降低MCU的功耗?
    發(fā)表于 04-19 09:21

    基于ARM架構(gòu)的MCU選擇

    并非所有基于ARM架構(gòu)的MCU都能提供相同水平的性能和能效,因此選擇合適的方案是非常重要的。許多MCU供應(yīng)商組合包括主題上的數(shù)百種變體。雖然看起來基于ARM
    發(fā)表于 11-10 06:41

    如何選擇合適的射頻模塊?

    如何選擇合適的射頻模塊?
    發(fā)表于 01-14 12:01 ?17次下載

    Cortex-A7和Cortex-A8內(nèi)核的MCU改如何選擇?

    隨著800MHz主頻的Cortex-A7內(nèi)核MCU震撼上市,早期的Cortex-A8內(nèi)核MCU將面臨層層打擊,相同的主頻,更低功耗,更精湛的制造工藝,更優(yōu)質(zhì)的性價比。早期的
    的頭像 發(fā)表于 09-27 15:03 ?1.5w次閱讀

    選擇適合基于MCU應(yīng)用的ARM Cortex處理器

    CPU的MCU設(shè)備似乎是皮質(zhì)的CPU。你如何決定哪些的ARM Cortex的CPU是正確的為您的應(yīng)用?讓我們通過觀察示例實現(xiàn),這將幫助你決定哪一種適合您的下一個設(shè)計探索出一些比較流行的Cortex-的
    的頭像 發(fā)表于 03-05 08:09 ?2711次閱讀

    如何為設(shè)計應(yīng)用選擇合適的嵌入式MCU

    本文旨在幫助您查看細節(jié),不僅僅是比較數(shù)據(jù)表第一頁上的要點。它將幫助您熟悉MCU選擇的架構(gòu),并檢查為Microchip Technology,Renesas,Texas Instruments和Freescale提供的典型低功耗MCU
    的頭像 發(fā)表于 02-11 08:39 ?2431次閱讀
    如何為設(shè)計應(yīng)用<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的嵌入式<b class='flag-5'>MCU</b>

    如何選擇合適的基于ARM的MCU

    并非所有基于ARM架構(gòu)的MCU都能提供相同水平的性能和能效,因此選擇合適的方案是非常重要的。許多MCU供應(yīng)商組合包括主題上的數(shù)百種變體。雖然看起來基于ARM
    發(fā)表于 10-28 14:06 ?5次下載
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的基于ARM的<b class='flag-5'>MCU</b>

    如何選擇合適的基于ARM的MCU

    并非所有基于ARM架構(gòu)的MCU都能提供相同水平的性能和能效,因此選擇合適的方案是非常重要的。許多MCU供應(yīng)商組合包括主題上的數(shù)百種變體。雖然看起來基于ARM
    發(fā)表于 10-28 15:36 ?14次下載
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的基于ARM的<b class='flag-5'>MCU</b>

    32怎么將mcu內(nèi)的代碼擦除_8位和32位MCU該如何選擇?

    的使用案例,也可作為如何選擇這兩種MCU架構(gòu)的指南使用。本文中大部分32位MCU的范例將關(guān)注ARM Cortex-M,Cortex-M在不同
    發(fā)表于 10-28 17:06 ?2次下載
    32怎么將<b class='flag-5'>mcu</b>內(nèi)的代碼擦除_8位和32位<b class='flag-5'>MCU</b>該如何<b class='flag-5'>選擇</b>?

    基于ARM Cortex-M0核的MCU設(shè)計及應(yīng)用

    知網(wǎng)鏈接:基于ARM Cortex-M0核的MCU設(shè)計及應(yīng)用
    發(fā)表于 11-05 15:35 ?18次下載
    基于ARM <b class='flag-5'>Cortex</b>-M0核的<b class='flag-5'>MCU</b>設(shè)計及應(yīng)用

    如何選擇合適的基于ARM的MCU

    并非所有基于ARM架構(gòu)的MCU都能提供相同水平的性能和能效,因此選擇合適的方案是非常重要的。許多MCU供應(yīng)商組合包括主題上的數(shù)百種變體。雖然看起來基于ARM
    發(fā)表于 11-05 17:05 ?13次下載
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的基于ARM的<b class='flag-5'>MCU</b>

    GD32W515系列 32位ARM? Cortex? -M33 MCU選擇指南

    電子發(fā)燒友網(wǎng)站提供《GD32W515系列 32位ARM? Cortex? -M33 MCU選擇指南.pdf》資料免費下載
    發(fā)表于 12-14 10:07 ?0次下載
    GD32W515系列 32位ARM?  <b class='flag-5'>Cortex</b>? -M33 <b class='flag-5'>MCU</b><b class='flag-5'>選擇</b>指南