ARM Cortex-M系列MCU有哪些功能特性?
ARM是業(yè)界領(lǐng)先的微處理器技術(shù)供應(yīng)商,提供最廣泛的微處理器內(nèi)核,可滿足幾乎所有應(yīng)用市場(chǎng)的性能、功耗和成本要求。ARM的技術(shù)將一個(gè)充滿活力的生態(tài)系統(tǒng)與超過1000個(gè)合作伙伴相結(jié)合,提供芯片,開發(fā)工具和軟件,以及超過900億個(gè)處理器,ARM的技術(shù)是計(jì)算和連接革命的核心,正在改變?nèi)藗兊纳詈蜆I(yè)務(wù)運(yùn)營方式。
ARM全稱是Advanced RISC Machines, 是精簡(jiǎn)指令集微處理器行業(yè)一家不可忽視的存在,設(shè)計(jì)了大量的高性能、廉價(jià)、低功耗的RISC處理器??梢钥醋鍪茿pple、Acorn、VLSI等知名公司的合資企業(yè)。各大芯片產(chǎn)商在拿到ARM IP授權(quán)后,通過自行設(shè)計(jì)外設(shè)(USB/GPIO/TIMER/SDIO等等),則可更快的完成成品芯片設(shè)計(jì),搶占市場(chǎng)。
目前,ARM處理器分為5類:Cortex-A、Cortex-R、Cortex-M、Machine Learning、SecurCore。Cortex-M微處理器
1.Cortex-M0,小巧的ARM處理器,可通過DesignStart免費(fèi)獲得許可費(fèi),非常適用于智能傳感器和片上混合信號(hào)系統(tǒng)(SoC),三種高度優(yōu)化的低功耗模式。
2.Cortex-M0 +,Cortex-M中面積最小,功耗最低的處理器,8位處理器成本,32位處理器性能,三種高度優(yōu)化的低功耗模式可節(jié)省能源
,最常用于可穿戴設(shè)備的醫(yī)療保健,健身等。
3.Cortex-M3,出色的32位性能和低功耗,可通過DesignStart免費(fèi)獲得許可費(fèi),常用于許多智能家居設(shè)備,在廣泛的嵌入式應(yīng)用程序中部署數(shù)十億臺(tái)設(shè)備。
4.Cortex-M4,具有混合信號(hào)設(shè)備的性能,集成數(shù)字信號(hào)處理(DSP)簡(jiǎn)化了系統(tǒng)設(shè)計(jì),基本的微控制器功能使其成為工業(yè)應(yīng)用的理想選擇,部署廣泛的Cortex-M處理器具有廣泛的生態(tài)系統(tǒng)。
5.Cortex-M7,性能最高的Cortex-M處理器,簡(jiǎn)化信號(hào)處理,為大眾帶來高性能DSP,內(nèi)置浮點(diǎn)處理功能可降低功耗,支持創(chuàng)新的MCU,可實(shí)現(xiàn)更密集的自動(dòng)化任務(wù)。
6.Cortex-M23,具有TrustZone安全性的尺寸最小,功耗最低的微控制器,包含TrustZone的內(nèi)置安全基礎(chǔ),內(nèi)存保護(hù)可最大限度地降低意外訪問的風(fēng)險(xiǎn),理想的處理器,用于能量收集物聯(lián)網(wǎng)節(jié)點(diǎn)和小型傳感器。
7.Cortex-M33,實(shí)時(shí),效率和安全的理想融合,通過安全性簡(jiǎn)化數(shù)字信號(hào)處理,使用TrustZone軟件隔離來區(qū)分您的產(chǎn)品,即使是最簡(jiǎn)單且成本敏感的設(shè)備,也能帶來32位性能。
8.Cortex-M35P,第一款內(nèi)置防篡改功能的Armv8-M處理器,增加物理彈性和系統(tǒng)安全功能不會(huì)影響性能,包括集成數(shù)字信號(hào)處理(DSP)選項(xiàng)
,保護(hù)層防止輕松攻擊和系統(tǒng)接管。
下面詳細(xì)介紹Cortex-M系列幾個(gè)功能特性。
1.存儲(chǔ)器保護(hù)單元(MPU)
除了Cortex-M0, 其他的Cortex-M處理器都有可選的MPU來實(shí)現(xiàn)存儲(chǔ)空間訪問權(quán)限和存儲(chǔ)空間屬性或者存儲(chǔ)區(qū)間的定義。運(yùn)行實(shí)時(shí)操作系統(tǒng)的嵌入式系統(tǒng), 操作系統(tǒng)會(huì)每個(gè)任務(wù)定義存儲(chǔ)空間訪問權(quán)限和內(nèi)存空間配置來保證每個(gè)任務(wù)都不會(huì)破壞其他的任務(wù)或者操作系統(tǒng)內(nèi)核的地址空間。Cortex-M0+, Cortex-M3 和 Cortex-M4都有8個(gè)可編程區(qū)域空間和非常相似的編程模型。主要的區(qū)別是Cortex-M3/M4的MPU允許兩級(jí)的存儲(chǔ)空間屬性(例如,系統(tǒng)級(jí)cache類型),Cortex-M0+僅支持一級(jí)。Cortex-M7的MPU可以配置成支持8個(gè)或者16個(gè)區(qū)域,兩級(jí)的存儲(chǔ)空間屬性。Cortex-M0 和 Cortex-M1不支持MPU.
2.單周期I/O接口
單周期I/O接口是Cortex-M0+處理器獨(dú)特的功能,這使Cortex-M0+可以很快的運(yùn)行I/O控制任務(wù)。Cortex-M大多數(shù)的處理器的總線接口是基于AHB Lite或者AHB 5協(xié)議的,這些接口都是流水實(shí)現(xiàn)總線協(xié)議,運(yùn)行在高時(shí)鐘頻率。但是,這意味著每個(gè)傳輸需要兩個(gè)時(shí)鐘周期。單時(shí)鐘周期I/O接口添加了額外的簡(jiǎn)單的非流水線總線接口,連接到像GPIO(通用輸入輸出)這樣的一部分設(shè)備特定的外設(shè)上。結(jié)合單周期I/O和Cortex-M0+天然比較低的跳轉(zhuǎn)代價(jià)(只有兩級(jí)流水線),許多I/O控制操作都會(huì)比大多數(shù)其他微控制器架構(gòu)的產(chǎn)品運(yùn)行的更快。
3.中斷延遲
性能相關(guān)的另外一個(gè)指標(biāo)是中斷延遲。這通常用從中斷請(qǐng)求到中斷服務(wù)程序第一條指令執(zhí)行的時(shí)鐘周期數(shù)來衡量。事實(shí)上,真正的中斷延遲受到內(nèi)存系統(tǒng)等待狀態(tài)的影響。例如,許多運(yùn)行頻率超過100Mhz的微控制器搭配的是非常慢的Flash存儲(chǔ)器(例如30到50MHz)。雖然使用了Flash訪問加速硬件來提高性能,中斷延遲仍然受到Flash存儲(chǔ)系統(tǒng)等待狀態(tài)的影響。所以完全有可能運(yùn)行在零等待內(nèi)存系統(tǒng)Cortex-M0/M0+系統(tǒng)比Cortex-M3/M4/M7有更短的中斷延遲。
當(dāng)評(píng)估性能的時(shí)候,不要忘記把中斷處理程序的執(zhí)行時(shí)間考慮在內(nèi)。某些8位或者16位處理器架構(gòu)可能中斷延遲很短,但是會(huì)花費(fèi)數(shù)倍的時(shí)鐘周期完成中斷處理。非常短的中斷響應(yīng)時(shí)間和很短的中斷處理時(shí)間才是實(shí)際有效的。
4.Bit-band feature位段
Cortex-M3 和Cortex-M4處理器支持一個(gè)叫做位段的可選功能,允許有兩段通過位段別名地址實(shí)現(xiàn)可以位尋址的1MB的地址空間(一段在從地址0x20000000起始的SRAM空間。另一段是從地址0x40000000起始的外圍設(shè)備空間)。Cortex-M0, M0+ 和 Cortex-M1不支持位段(bit-band)功能,但是可以利用ARM Cortex-M系統(tǒng)設(shè)計(jì)套件(CMSDK)中的總線級(jí)組件在系統(tǒng)層面實(shí)現(xiàn)位段(bit-band)功能。Cortex-M7不支持位段(bit-band),因?yàn)镸7的Cache功能不能與位段一塊使用(Cache控制器不知道內(nèi)存空間的別名地址)。
ARMv8-M的TrustZone 不支持位段, 這是由于位段別名需要的兩個(gè)不同的地址可能會(huì)在不同的安全域中。對(duì)于這些系統(tǒng),外圍設(shè)備數(shù)據(jù)的位操作反而可以在外圍設(shè)備層面處理(例如,通過添加位設(shè)置和清除寄存器)。