基于ARM的CPU在MCU領(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)閉合需要高性能。
圖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)之間切換。)
圖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)建。
圖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支持。
圖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è)計。
-
mcu
+關(guān)注
關(guān)注
146文章
17143瀏覽量
351127 -
電機控制
+關(guān)注
關(guān)注
3534文章
1877瀏覽量
268791 -
德州儀器
+關(guān)注
關(guān)注
123文章
1710瀏覽量
140720 -
Cortex
+關(guān)注
關(guān)注
2文章
202瀏覽量
46495
發(fā)布評論請先 登錄
相關(guān)推薦
評論