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