如何實(shí)現(xiàn)更極致的超低功耗表現(xiàn)?STM32U5帶來在Cortex-M33上更完整產(chǎn)品表達(dá)
“超低功耗產(chǎn)品線一直以來是STM32非常重要的產(chǎn)品線,是戰(zhàn)略性的產(chǎn)品線?!?span style="">意法半導(dǎo)體中國區(qū)微控制器事業(yè)部市場及應(yīng)用總監(jiān)曹錦東先生表示,“STM32U5這一產(chǎn)品線在ST內(nèi)部也花了漫長的時(shí)間在研發(fā),因?yàn)椴粌H僅有新的工藝的創(chuàng)新、還有IP包括整個(gè)架構(gòu)的新設(shè)計(jì)?!?關(guān)注ST的可以注意到,MCU產(chǎn)品家族近年來來一個(gè)方向是在做無線集成方向上鋪展;另一個(gè)方向是垂直的發(fā)展:向上的多核MPU和向下的G0...而隨著新一代低功耗內(nèi)核M23和M33的發(fā)布之后,使用低功耗M核的MCU產(chǎn)品在性能和安全性上將會(huì)獲得躍升。ST在沉淀了足夠的技術(shù)創(chuàng)新和安全功能積累之后,帶來新一代的超低功耗MCU的重大革新——STM32U5,這是其MCU產(chǎn)品線在主流低功耗產(chǎn)品方向上的一個(gè)重要突破。STM32U5達(dá)到了240 DMIPS/651Coremark的表現(xiàn),遠(yuǎn)超之前的L4+和L5產(chǎn)品。并且它是ST在Cortex-M33內(nèi)核上更為完整的產(chǎn)品表達(dá),未來也將在從低到高的不同memory上進(jìn)行型號擴(kuò)充。
在外設(shè)與CPU之間新增一個(gè)“緩沖區(qū)”
作為超低功耗的旗艦級產(chǎn)品,STM32U5在低功耗上實(shí)現(xiàn)了新的技術(shù)創(chuàng)新——低功耗后臺(tái)自主模式(Low Power Background Autonomous Mode,簡稱LPBAM)。首先是在CPU和外設(shè)之間新增了一塊SRAM作為數(shù)據(jù)的緩存,給CPU處理外設(shè)數(shù)據(jù)的流程增加了一個(gè)緩沖。據(jù)意法半導(dǎo)體中國區(qū)微控制器產(chǎn)品市場經(jīng)理彭祖年分享,“當(dāng)芯片進(jìn)入一個(gè)低功耗模式時(shí),CPU是需要斷電的,但產(chǎn)品外面可能還會(huì)搭載很多的傳感器。這些傳感器的數(shù)據(jù)可能會(huì)實(shí)時(shí)地輸入到主控芯片這一側(cè)來,通常情況下,這個(gè)傳感器的數(shù)據(jù)傳輸是需要系統(tǒng)或CPU來進(jìn)行一些操作,做一些數(shù)據(jù)處理的工作,但在STM32U5這款產(chǎn)品上,設(shè)置了一個(gè)獨(dú)特的外設(shè),可以將很多通用接口包括I2C、SPI、串口、ADC等等這些外設(shè)上的數(shù)據(jù),在不喚醒CPU的情況下,搬運(yùn)至單片機(jī)內(nèi)部一塊SRAM4,大概有16kB的空間,當(dāng)這些數(shù)據(jù)累計(jì)到一定數(shù)量時(shí),我們再喚醒Cortex-M33內(nèi)核進(jìn)行一次性的批處理?!?據(jù)悉SRAM4具有單獨(dú)的供電開關(guān),在其他SRAM關(guān)閉時(shí)候可以單獨(dú)進(jìn)行供電。通過這16KB的SRAM4來實(shí)現(xiàn)了傳感器等外設(shè)的一個(gè)數(shù)據(jù)緩沖,使得STM32U5的CPU喚醒次數(shù)相比傳統(tǒng)低功耗MCU的設(shè)計(jì)實(shí)現(xiàn)了進(jìn)一步的降低,據(jù)稱根據(jù)STM32U5與經(jīng)典數(shù)據(jù)采集以及喚醒處理的模型的對比,差不多可以將CPU喚醒的次數(shù)變成原來的1/10。
更極致的功耗管理:豐富的功耗模式+省電技巧
有了16KB的SRAM4的增加,STM32U5實(shí)現(xiàn)了更豐富靈活的低功耗模式配置。從shutdown到Runmode之間, 還有4中STOP模式和兩種standby模式可以供用戶根據(jù)不同工作狀態(tài)進(jìn)行配置。據(jù)彭祖年分享,STM32U5上還有諸多省電的配置小技巧:譬如通過內(nèi)部的SMPS去轉(zhuǎn)換VDD和CPU內(nèi)核供電的電壓,讓CPU供電轉(zhuǎn)換效率達(dá)到更優(yōu)的動(dòng)態(tài)功耗,在不同的功耗模式下切換也可以達(dá)到微秒級。另外值得一提的是STM32U5內(nèi)部的Flash是雙bank設(shè)計(jì)的,用戶可以將一個(gè)不常用的bank在低功耗模式下斷電,這樣又可以節(jié)省40微安左右;但當(dāng)指令跳轉(zhuǎn)到被斷電的Flash Bank上時(shí),系統(tǒng)是可以自動(dòng)喚醒的,只需要等待5微秒的延時(shí)。通過損失5微秒讀取速度來獲得45微安的功耗節(jié)省,這也是STM32U5上的一個(gè)技巧。
4項(xiàng)ULPBENCH節(jié)能成績單
對于MCU低功耗的表現(xiàn),僅僅關(guān)注CPU的耗電,或者僅僅關(guān)注某一個(gè)狀態(tài)下MCU的耗電,都不能完整的反映出一個(gè)MCU整體的功耗表現(xiàn)。彭祖年表示,如何評估MCU的功耗是一個(gè)比較系統(tǒng)的問題 ,ST展示了關(guān)于ULP benchmark很多不同分類的評估,每一項(xiàng)對于芯片低功耗表現(xiàn)的關(guān)注點(diǎn)都不太一樣。有的是系統(tǒng)運(yùn)行時(shí)的 功耗,有的是系統(tǒng)睡眠及喚醒時(shí)的功耗,還有一些是關(guān)注芯片外設(shè)的功耗。因?yàn)椴恢故荂PU需要耗電,外設(shè)、包括整個(gè)時(shí)鐘管理單元等等都需要耗電。根據(jù)不同客戶的運(yùn)營場景,實(shí)際的功耗結(jié)果是千差萬別的。所以NBC官網(wǎng)上做了幾種不同模型,用戶可以參照這些模型來評估自己的應(yīng)用場景的總的功耗表現(xiàn)是什么樣的。
在TrustZone基礎(chǔ)上集成ST獨(dú)有安全功能
Arm更新的Cortex-M33的其中一大特性就是引入了成熟的TrustZone的技術(shù),在安全功能上實(shí)現(xiàn)了加強(qiáng),因此采用M33架構(gòu)的STM32U5天生就具備了隔離架構(gòu)帶來的高安全性。而僅僅內(nèi)核的隔離或TrustZone的支持是不夠的,在STM32U5上還增加了內(nèi)部存儲(chǔ)、總線和外設(shè)上都做了個(gè)禮配置的設(shè)計(jì)。據(jù)彭祖年介紹,“除了隔離之外,STM32U5還增加了更多的安全加密的功能,以及全程可控的多層保護(hù)狀態(tài)機(jī)。存儲(chǔ)保護(hù)也做了全新的更新,針對內(nèi)部存儲(chǔ)防篡改,增加了OTP這樣的空間,還有更多的主動(dòng)式防侵犯的active tamper的設(shè)計(jì)。在這樣的完整的安全設(shè)計(jì)下,我們的Secure Boot安全啟動(dòng)也可以讓用戶的安全架構(gòu)設(shè)計(jì)能夠獲得不可變的穩(wěn)定的信任根。最終,我們的產(chǎn)品可以通過PSA Level3的認(rèn)證。這也是目前所有STM32產(chǎn)品當(dāng)中首款可以通過三級安全認(rèn)證的產(chǎn)品?!绷硗獗夭豢缮俚?,STM32U5也支持端到端的安全固件燒錄工具鏈,確保用戶在第三方進(jìn)行生產(chǎn)燒錄時(shí)的安全性。
據(jù)曹錦東分享,STM32U5在安全性上的提升,將有望實(shí)現(xiàn)對于可穿戴設(shè)備支付功能更好的支持。
從低到高的低功耗應(yīng)用覆蓋
STM32L5算是基于U5和L4之間的橋梁,它的意義是首先將Arm新一代的Cortex-M33的內(nèi)核引入到STM32的平臺(tái)中,確保所有的功能應(yīng)用起來,可以集成到ST的整個(gè)芯片系統(tǒng)中,同時(shí)在安全性上也有所提升,達(dá)到Level 2級別的安全水平。而U5是新一代的低功耗旗艦型平臺(tái),因此未來的產(chǎn)品型號將繼續(xù)拓寬,Memory的大小會(huì)實(shí)現(xiàn)從最低的128K~最大4M的覆蓋,實(shí)現(xiàn)Level 3級別的安全功能。例如在對邊界攻擊的抵御方面, U5中新AES的模塊單元相比傳統(tǒng)的L5中的普通AES可以實(shí)現(xiàn)更好的安全功能。據(jù)曹錦東介紹,4M的STM32U5更多地面向的是可穿戴手表類產(chǎn)品,因?yàn)榭纱┐魇直響?yīng)用需要擴(kuò)展更多的Memory來存放可以即時(shí)加載的程序,在運(yùn)行時(shí)將這部分?jǐn)?shù)據(jù)加載到MCU中運(yùn)行。而更小Memory的U5則面向一些程序量并不是很大、對于成本更敏感一些的IoT的應(yīng)用。
除了優(yōu)秀的安全功能設(shè)計(jì)外,ST也為用戶提供了支持安全啟動(dòng)、固件加載和更新的相應(yīng)參考代碼。如果用戶需要TF-M Trusted Firmware for Cortex-M架構(gòu),STM32U5也支持在在軟件權(quán)限上設(shè)置管理員權(quán)限和用戶權(quán)限,在管理權(quán)限下,可信區(qū)內(nèi)也有PSA模塊化的本地安全服務(wù)可以提供給用戶,其中也包括了更多和加解密相關(guān)、安全存儲(chǔ)相關(guān)、可信區(qū)初始化以及證書初始化等功能模塊。
###
曹錦東表示,STM32U5的系統(tǒng)復(fù)雜性比以往更高,要保持同樣的主頻上實(shí)現(xiàn)更低功耗其實(shí)是很難的挑戰(zhàn)。從STM32L1到L0、L4、L5,工藝的提升雖然會(huì)帶來動(dòng)態(tài)功耗的降低,但對于靜態(tài)功耗而言卻是相反的作用。所以不能只靠工藝,STM32U5上對于外設(shè)進(jìn)行了更精確的設(shè)計(jì),實(shí)現(xiàn)不僅僅是內(nèi)核上,更是系統(tǒng)層面上的整體功耗的優(yōu)化。STM32U5上凝結(jié)了ST超過十年的MCU低功耗設(shè)計(jì)經(jīng)驗(yàn),是其經(jīng)驗(yàn)一步步疊加的成果。
從ULP的跑分中我們可以看到,在迄今為止的所有M33內(nèi)核的MCU新品中,STM32U5實(shí)現(xiàn)了對于M33內(nèi)核的設(shè)計(jì)初衷上更好的詮釋和表達(dá),做到了性能和功耗的更優(yōu)解,同時(shí)也在安全功能上通過自己獨(dú)有安全技術(shù)的添加實(shí)現(xiàn)了更好的表現(xiàn)。用戶在STM32U5的未來實(shí)際應(yīng)用的表現(xiàn),同樣值得我們期待。