基于ARM的處理器是無處不在的MCU世界,經(jīng)常有一些可以從相同的MCU供應(yīng)商。每個(gè)ARM CPU進(jìn)行了優(yōu)化一類特殊的加工要求,從低端功耗受限應(yīng)用的高功率性能優(yōu)化,雙核的應(yīng)用。當(dāng)今最流行的ARM CPU的MCU設(shè)備似乎是皮質(zhì)的CPU。你如何決定哪些的ARM Cortex的CPU是正確的為您的應(yīng)用?讓我們通過觀察示例實(shí)現(xiàn),這將幫助你決定哪一種適合您的下一個(gè)設(shè)計(jì)探索出一些比較流行的Cortex-的MCU之間的主要區(qū)別。
許多選項(xiàng)
這不是尋常的發(fā)現(xiàn)一個(gè)MCU系列內(nèi)的許多不同的ARM Cortex的CPU。皮質(zhì)CPU和可選的擴(kuò)展解決各種應(yīng)用需求,但都具有向后兼容的指令集,如圖1和Cortex-M0 / M0 + / M1系列開始,指令集是針對通用數(shù)據(jù)處理和IO任務(wù)。在Cortex-M3 CPU增加了先進(jìn)的數(shù)據(jù)處理和加速更復(fù)雜的控制和通用計(jì)算任務(wù)位域操作指令。在Cortex-M4的CPU增加數(shù)字信號處理(DSP)指令,并提供單指令多數(shù)據(jù)(SIMD)操作,其中相同的數(shù)據(jù)處理指令可以在同一時(shí)間上的多個(gè)數(shù)據(jù)源的操作。這些特殊能力可以大大加快復(fù)雜的數(shù)據(jù)處理任務(wù),像那些在音頻和視頻應(yīng)用中。在Cortex-M4 CPU還可以添加一個(gè)浮點(diǎn)單元(FPU)時(shí)的性能和精度是目標(biāo)算法兩個(gè)重要因素。模擬檢測和電機(jī)控制,例如經(jīng)常使用浮點(diǎn)其精度,但高性能需要快速控制回路閉合。
圖1:的ARM Cortex微控制器指令集兼容。
這regular-和向后兼容的指令集的一個(gè)關(guān)鍵優(yōu)勢(ARM和意法半導(dǎo)體提供)是MCU制造商可以為特定的應(yīng)用進(jìn)行優(yōu)化的設(shè)備,而“涵蓋了所有的賭注”由具有向上兼容性,如果在算法中的生長在復(fù)雜目標(biāo)系統(tǒng)的壽命。例如,有多少次你需要的,以便在開發(fā)過程中,以滿足新的需求添加更復(fù)雜的功能呢?在Cortex指令集架構(gòu)(ISA)的向上兼容性,使這個(gè)容易。在某些情況下,可以簡化目標(biāo)體系結(jié)構(gòu)也一樣,因?yàn)橄蛳录嫒菪栽试S用戶以降低成本,如果較低的性能是可以接受的。意法半導(dǎo)體STM32其MCU系列中使用了多種的ARM Cortex處理器。圖2示出的各種皮質(zhì)CPU和與每個(gè)微控制器系列相關(guān)的關(guān)鍵硬件功能。請注意,在Cortex-M0的CPU上使用入門級STM32F030 / 50/051設(shè)備,而皮質(zhì)-M4與DSP和FPU上使用高性能STM32F4xx(如STM32F401RCT6)和STM32F3xx設(shè)備。中檔設(shè)備使用的Cortex-M3的CPU,其中所述更復(fù)雜的DSP和FPU指令不要求有盡可能高的性能。(這些指令可以有多個(gè)指令,如果需要得到執(zhí)行,大多數(shù)編譯器的硬件實(shí)現(xiàn)和多周期的“軟”的實(shí)現(xiàn)之間進(jìn)行切換提供了相當(dāng)透明的方法。)
圖2:STM32F系列MCU的Cortex的CPU和主要硬件功能。
其他廠商也支持ARM的Cortex微控制器的多種口味,往往在廣泛的性能和成本范圍。 Silicon Labs公司,例如,有EFM32系列MCU(如EFM32ZG222F32-QFP48)使用了ARM的Cortex-M處理器。低端低功耗GZ系列采用了Cortex-M0 +的CPU,而中檔TG,G,LG和GG系列中采用的Cortex-M3 CPU。高端WG系列采用了Cortex-M4 CPU與DSP和FPU增強(qiáng)。有使得可以10個(gè)不同的封裝選項(xiàng),用少許預(yù)先規(guī)劃,遷移從一個(gè)CPU類型到另一個(gè),使其更容易適應(yīng)變化的要求或提供使用相同的基本設(shè)計(jì)不同的產(chǎn)品。
皮質(zhì)-A架構(gòu)
在Cortex-M的架構(gòu)是一個(gè)非常流行的一種具有MCU廠商,但在Cortex-A架構(gòu)也顯示出在廠商的設(shè)備為好,經(jīng)常在主控板,其中大型外部存儲器用于指令和數(shù)據(jù)。皮質(zhì)-A的CPU是非常高性能的應(yīng)用進(jìn)行了優(yōu)化,往往像視頻播放和先進(jìn)的安全功能的要求。愛特梅爾的Cortex-A5型SAMA5D4微處理器,如(圖3),采用了Cortex-A5 CPU帶有2×32KB的一級緩存和128KB的二級緩存來加速處理性能。片上DDR2 / LPDDR / LPDDR2控制器訪問從外部存儲器所以非常大的程序和數(shù)據(jù)集可以使用的指令和數(shù)據(jù)。視頻處理算法,例如,可需要非常大的數(shù)據(jù)集和也非常大的程序。硬件子系統(tǒng)提供了安全性,連接性,控制和用戶界面,簡化創(chuàng)建復(fù)雜的人機(jī)界面和相應(yīng)的控制系統(tǒng)顯著的能力。
圖3:愛特梅爾SAMA5D4 MPU框圖。
SAMA5D4還支持兩個(gè)重要的Cortex擴(kuò)展功能 - Trust區(qū)段和NEON。 Trust區(qū)段支持安全的代碼執(zhí)行。通常一個(gè)處理器需要執(zhí)行某些與安全相關(guān)的功能(如安全PIN輸入,或密碼保護(hù)),以及某些正常程序功能(例如,圖形顯示或菜單選擇例程)。信任區(qū)的硬件擴(kuò)展,允許程序員來保護(hù)安全相關(guān)的功能正常訪問和潛在的安全攻擊。即使是調(diào)試功能可以限制只是正常的程序,以進(jìn)一步保護(hù)安全程序窺探和類似的攻擊。該NEON擴(kuò)展提供顯著的處理性能改進(jìn)SIMD的算法。為NEON擴(kuò)展共同目標(biāo)是多媒體信號處理的2D / 3D圖形,視頻編碼/解碼,和聲音合成。 NEON有自己獨(dú)立的管道和寄存器文件,并且可以支持無/有符號的8位,16位,32位,64位,和單精度浮點(diǎn)的32個(gè)寄存器,可視為64或業(yè)務(wù)128位寬根據(jù)指令。 NEON通??梢蕴峁╋@著的性能提升非SIMD實(shí)現(xiàn);在復(fù)雜的視頻編解碼器60-150%的性能提升是一個(gè)典型的例子。
多核CPU的解決方案
ARM Cortex的CPU也呈現(xiàn)出了多核MCU實(shí)現(xiàn)。這些設(shè)備有時(shí)具有兩個(gè)不同性能的CPU,1非常高性能的“繁重”的目標(biāo)應(yīng)用程序的功能,以及用于管理通信端口,用戶接口的較慢的高性能CPU和類似的低層次的控制功能。其他多核設(shè)備具有相同類型的CPU,只是復(fù)制,可以很容易劃分和分配較少,專門的處理功能,實(shí)現(xiàn)處理和電源效率的平衡。例如,一個(gè)CPU可處于低功率等待狀態(tài)(或許在一個(gè)“慢”數(shù)據(jù)時(shí)段)放,如果它不需要滿足性能要求,然后轉(zhuǎn)向時(shí),需要額外的處理上。德州儀器在其協(xié)奏曲系列MCU如圖4所示(作為一個(gè)例子見F28M35H52C1RFPT)增加了ARM Cortex-M3處理器廣受歡迎的C28x CPU提供控制和連接在一臺設(shè)備的簡單的解決方案。在C28x的CPU進(jìn)行了優(yōu)化實(shí)時(shí)控制,它可以利用其15年以上的DSP的應(yīng)用體驗(yàn)。在ARM Cortex-M3 CPU進(jìn)行了優(yōu)化,通信應(yīng)用,它可以利用廣泛的ARM生態(tài)系統(tǒng)的通訊驅(qū)動(dòng)程序(以太網(wǎng),USB,CAN,SPI等)以及強(qiáng)大的調(diào)度和O / S的支持。
圖4:雙CPU內(nèi)核協(xié)奏曲?MCU系列德州儀器。
匹配您的應(yīng)用程序,以正確的ARM Cortex的CPU
你可以找到的ARM Cortex處理器在多種微控制器系列的幾乎所有MCU廠商。為了通過確定的指令集來匹配合適的Cortex的CPU與您的應(yīng)用程序,你應(yīng)該開始為你的應(yīng)用程序最合適的。特別是,看看是否像浮點(diǎn)或DSP先進(jìn)的數(shù)據(jù)處理能力是必需的。你需要更先進(jìn)的功能,如NEON或Trust區(qū)段?也許你的應(yīng)用程序更多的控制導(dǎo)向和低功耗是一個(gè)關(guān)鍵要求?如果是這樣,簡單M0架構(gòu)可能是正確的配合。中檔的設(shè)計(jì)可以充分利用Cortex-M3的CPU,并選擇基于連接的需求和其他關(guān)鍵外設(shè)設(shè)備 - 你通常有最多的選擇中檔設(shè)備,從你的MCU制造商。如果您的需求,在設(shè)計(jì)階段改變你可能希望能夠遷移到一個(gè)功能更豐富的設(shè)備或功能更瘦設(shè)備。在這種情況下,選擇一個(gè)MCU系列支持設(shè)備之間輕松遷移可能是重要的。您還可以使用大的ARM Cortex生態(tài)系統(tǒng),以充分利用成熟的驅(qū)動(dòng)程序,實(shí)時(shí)操作系統(tǒng),功能特定的庫和開發(fā)工具鏈。不管是什么的ARM Cortex的CPU,你選擇你可以肯定會有一個(gè)強(qiáng)大的生態(tài)系統(tǒng)以簡化設(shè)計(jì)。
責(zé)任編輯:gt
-
處理器
+關(guān)注
關(guān)注
68文章
18927瀏覽量
227231 -
mcu
+關(guān)注
關(guān)注
146文章
16667瀏覽量
347784 -
控制器
+關(guān)注
關(guān)注
112文章
15885瀏覽量
175370
發(fā)布評論請先 登錄
相關(guān)推薦
評論