[原創]STM32L476RG Nuleo 評測

2022-01-05 電子工程世界

點擊上方EEWORLD關注電子工程世界!

很高興能幸運的接觸到ST最新的低功耗M4Nuleo板。

下面從以下幾方面來開始STM32L476RG Nuleo產品評測:

系列化晶片和資料概述

STM32L476RG晶片介紹

STM32L476RG Nuleo板子硬體介紹

開發環境之STM32CUBEMX使用

開發環境之MDK使用

開發環境之 IAR使用

開發環境之MBED跑程序

低功耗測試

總結

系列化晶片和資料概述

STM32經過多年的發展已經有從F0,F1,F2,F3,F4到F7,L0,L1到L4全系列的產品。

STM32有完善易用的標準庫,最近一年多又推出了STM32CUBEMX初始化和框架代碼生成及配置軟體和STM32CUBEXX晶片軟體庫。也為用戶提供了STM32SnippetsXX晶片寄存器訪問例子庫。還有很多的使用例程庫。STM32軟體開發環境齊全,MDK,IAR,T rueSTUDIO, CoIde,等諸多開發環境,更有MBED開發環境的支持,包括UCOS,FREERTOS等在內的諸多嵌入式作業系統的支持,包括STemWin在呢的圖型GUI等的支持。

具體請看下面的連結:

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1580/LN1840/PF260095#

硬體開發提供了方便實用的全系列DISCOVER開發板和NULEO開發板系列,都帶有ST的STLINK。這些讓開發者很容易的開始我們的使用STM32為主CPU的產品開發。

STM32L476RG晶片介紹

意法半導體構建了新型架構,得益於其高度靈活性,達到了同類最佳的超低功耗性能。STM32L4 MCU在比較超低功耗微控制器效率的標準化EEMBC™ULPBench®測試中獲得123分(世界紀錄)。此外,STM32L4系列打破了超低功耗領域的性能限制。基於帶有FPU的ARM® Cortex®-M4內核以及意法半導體ART Accelerator™,該系列在80 MHz的CPU頻率下性能達到100 DMIPS。

STM32L4微控制器提供根據處理需求平衡功耗的動態電壓調整功能、適用於停止模式的低功耗外設(LP UART、LP定時器)、安全和保密特性、大量智能外設,以及諸如運算放大器、比較器、LCD、12位DAC和16位ADC(硬體過採樣)等先進的低功耗模擬外設。

該系列包含2條不同的產品線:STM32L476(USB、LCD)和STM32L486(USB、LCD、AES)。

為了簡化移植步驟和為您提供所需的靈活性,STM32L4與不同的STM32系列均引腳兼容,為您打開了通往整個STM32生態體系的大門。

超低功耗模式:30 nA,有備份寄存器沒有RTC(5個喚醒引腳)

超低功耗模式 + RTC:330 nA,具有備份寄存器(5個喚醒引腳)

超低功耗模式 + 32 KB RAM:360 nA

超低功耗模式 + 32 KB RAM+ RTC:660 nA

動態運行模式:低至100 μA/MHz

喚醒時間:5 μs

看看上面的介紹就知道STM32L476是高速M4兼低功耗,兩者並舉的晶片。運行時功耗也是蠻低的。

STM32L476RG Nuleo板子硬體介紹

和其他NUCLEO板一樣,板子STLINK(這個STLINK和DISCOVERY的STLINK不一樣,可以直接在MBED裡面拖放燒寫,具體可以參考MBED的使用)

用戶按鍵和復位按鍵,電流測試點引出,外部RTC都具備,還有就是標準的NUCLEO板引出接口。

STM32L476NUCLEO板主要特性

LQFP64封裝的微處理器STM32L476RG

兩種類型擴展接口 ARDUINOUNO R3兼容接口;STM32NUCLEO經典蝶形擴展接口,引出全部引腳

支持MBED開發

板載STLINK/V2-1支持VCP

靈活的供電接口選擇 支持3.3V, 5V, 7-12V供電

板載3個LED燈 用來指示開發板工作狀態,其中LD2可用戶編程控制

兩個用戶按鈕 實現復位及用戶控制

USB可重新枚舉 實現三種不同功能:虛擬串口、大容量存儲設備支持、調試

豐富的編程環境支持 包括IAR,MDK,其它基於GCC的支持

STM32L476RG晶片特徵

STM32L476RGT6 採用LQFP64封裝

ARM®32-bit Cortex®-M4 CPU

採用自適應實時加速器ART加速器™可以讓程序在Flash中0等待執行。

最大80 MHz CPU 頻率

VDD 從 1.71 V to 3.6 V

1 MB Flash

128 KB SRAM

Quad SPI (1)

常用定時器 (7)

高級定時器(2)

基本定時器(2)

低功耗定時器(2)

Systick

Watchdog (2)

SPI (3)

I2S (3)

USART (3)

UART (2)

LPUART (1)

USB OTG Full Speed

CAN (1)

SAI (2)

SDMMC

SWPMI

LCD 8x28 or 4x32

GPIO (51)帶外部中斷

12通道觸摸電容傳感器

16通道12-bit ADC (3)

2通道12-bit DAC

模擬比較器(2)

運放 (2)



代碼產生器STM32CUBEMX

下載stm32cubemx-4.10.0後,把庫文件也都下下來,如下:

每一個庫下載下來後。C:\Users\Administrator.DFCEMCSB7N1HU7Z\STM32Cube\Repository\STM32Cube_FW_L4_V1.0.0\Projects的目錄裡面有完整的例子可供我們試用。如下圖:


這個就相對於我們前面的標準庫。

這裡要說明一下,STM32CUBEMX正不斷更新,老的版本也許不支持新的庫,所以最好是用在線更新,FROM那裡離線更新有時候會出問題。留意有坑的。

不過STM32CUBEMX是可以直接定製我們的程序架構的。


菜單中的NEW開始選擇新項目,然後選擇晶片型號和封裝,就可以開始了:

這裡可以配置IO,時鐘,配置是否選擇外設和中間層軟體:FATFS FREERTOS LWIP(這個板子沒有就沒顯示)。

選擇好後,填寫項目名稱和目錄,生成MDK還是IAR等,然後按下CodeGernetor

就產生代碼了。可以直接用相應軟體打開。

還是很方便了。

開發環境

目前支持STM32的開發環境很多,從下面的連結就可以知道:

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1580/LN1840/PF260095#

下面主要介紹幾種大家常用的開發環境:

MDK

MDK是大家熟悉的開發環境,現在歸ARM公司擁有。現在絕大部分開發ARM的工程師都熟悉這個軟體。目前最新版本為5.16A,已經支持STM32L476 Nuleo開發板

IAR

因本人電腦沒安裝最新的IAR,所以暫時就不加討論。反正大家也都很熟悉。

MBED

ARM® mbed™ IoT 設備平臺提供了作業系統、雲服務、工具和開發人員體系,以便能夠大規模創建和部署基於標準的商業 IoT 解決方案。

http://www.mbed.com/zh-cn/

使用MBED先要註冊,登陸後就可以使用。目前已經部分支持中文。

從下面網頁的頁面可以看到STM32L476RG Nuleo開發板

https://developer.mbed.org/platforms/

從這裡就可以選擇它到你的開發中去。

低功耗測

試跑一下下面的例子測試停止模式+RTC喚醒,讓我們了解一下低功耗的情況,

C:\Users\Administrator.DFCEMCSB7N1HU7Z\STM32Cube\Repository\STM32Cube_FW_L4_V1.0.0\Projects\STM32L476RG-Nucleo\Examples\PWR\PWR_STOP1_RTC

當然這個目錄裡還有很多例子你可以跑跑,摸摸低功耗的一些情況。

測試結果:

運行時:板子電流13.82MA

停止模式+RTC 10.9UA(這裡估計是包括了一些漏電流)

運行時:

停止模式:

這裡停止時估計還有其他外設或者IO漏掉了電流(還是我的萬用表太差了呢? 沒搞懂)。

總之,還是有一個低功耗的感官效果了。

目前CPU低功耗的晶片很多家都已經做到很好了。目前TI,ST,ATEML。MICROCHIP等很多家的晶片都已經做到停止電流在1UA以下,RTC運行電流也都小於等於1UA。低功耗ARM的運行功耗也都在下降。達到接近100UA每MHZ。ST表現還是不錯的。目前這款晶片應該是會大家看好。

1UA的電流是個什麼概念呢:就是兩節南孚7號電池 容量大約是500mAh左右,兩節7號電池理論算下:500000小時。哈哈57年。

總結

STM32L476RG Nuleo開發板諸多方面表現都不錯。晶片的低功耗和運行功耗有其獨特之處,板子預留了測試電流的測試點。所有IO都引出方便實驗,板載STLINK。多種開發環境的支持。特別是支持MBED。總之,STM32L476RG Nuleo將很方便我們對STM32L476晶片的評估和實驗。

更多精彩內容請點擊閱讀原文。

相關焦點

  • 簡評STM32L476-NUCLEO
    這周一收到了論壇寄給的STM32L476-NUCLEO評估板,上電看到LED在閃爍: 這幾天就忙著網上搜資料,查相關的知識,業餘時間有限,先簡單說明幾點: 1、L476的編譯器:在這先說明一下,STM32L476-NUCLEO的編譯我使用的IAR,STM32L476實在是太新了
  • 編輯推薦 沒有最低,只有更低——超低功耗STM32L476 NUCLEO評測
    「 前兩天收到二姨家寄來的STM32L476 NUCLEO開發板,板載的STM32L476RGT6微控制器是ST公司推出的一款集高性能與低功耗特性於一體的
  • STM32L476 FPU 執行效率之比較淺析
    1.前言本應用筆記基於STM32L476平臺,通過實際測量來評定使能FPU時浮點運算效率的情況。
  • STM32F7開發板自己造
    編譯:/mnt/e/_make_/arm/stm32f746z/test# makearm gcc -c -g -O2 -Wall -mcpu=cortex-m7 -mthumb -DSTM32F746xx -I../../ST -I../../CMSIS test.carm gcc -nostdlib -mcpu=cortex-m7 -mthumb -T ..
  • 移植鴻蒙系統到STM32L476RG_NUCLEO開發板的一點小經驗
    o」,            ]        }        工具(「 cxx」){            depfile =「 {{output}}。o」,            ]        }        工具(「 asm」){            depfile =「 {{output}}。
  • 技術筆記-STM32CubeL4 固件庫V1.13.0版的RTC喚醒
    為進一步確認問題,使用另一版本的固件庫的相關例程\STM32Cube_FW_L4_V1.12.0\Projects\NUCLEO-L476RG\Examples\PWR\PWR_STOP2_RTC進行驗證,結果卻發現功能是正常的。難道客戶描述有誤?下載跟客戶相同的STM32CubeL4版本庫,即用STM32Cube_FW_L4_V1.13.0來進行驗證,發現客戶描述的問題確實存在。
  • STM32L0晶片FLASH編程示例及提醒
    這裡就STM32L053晶片的FLASH編程做個簡單演示並做些提醒,以供有需要的人參考。
  • 基於stm32L4R9體驗ewebengine
    1.stm32L4r9平臺ST公司的STM32L4R9I是高性能超低功耗MCU系列產品,基於Arm Cortex-M4 32位RISC核,工作頻率高達
  • 創建第一個工程文件——STM32F769I圖像處理能力評測之二
    建議下載STM32F75xxx和STM32F74xxx參考手冊中文版,因為和stm32f769的功能大體上是一致的,不同的地方可以看stm32f769的英文版手冊。4.安裝ST Link USB驅動         要安裝的程序為:STM32STLINK Utility。安裝完成後,我們就可以使用Keil的仿真功能和程序下載。
  • STM32L432KC 測評
    至於Nucleo-l432kc的性能說明,官網都有。我就不搬磚過來啦。STM32L432KC  官網介紹另一方面:NUCLEO-L432KC開發板是首個集成一款QFN32微型封裝微控制器的Nucleo-32開發板,板載一顆STM32L432KCU6微控制器(UFQFPN32)。
  • 最近STM32CubeMX、IDE、Programmer都更新了些什麼內容
    STM32CubeMX V5.3.0 -> V5.4.0STM32CubeIDE V1.0.2 -> V1.1.0STM32CubeProgrammer V2.1.0 -> V2.2.0https://www.st.com/en/development-tools/stm32cubemx.html
  • 新一代超低功耗STM32U5,到底有啥亮點?
    參考地址:https://blog.st.com/stm32u5-microvisor/STM32Lx系列為STM32早期的超低功耗系列MCU,最早的一款STM32L系列為STM32L1,於2009年發布。STM32Lx系列前後推出了STM32L1、 STM32L0、 STM32L4、 STM32L4+、 STM32L5等幾個系列,多種型號的低功耗MCU。
  • [原創]STM32F469 discovery Kit 測評
    如主界面的最下面,就是在說stm32f469 discovery kit的新聞。三、STM32F469介紹看完了外觀,難免需要介紹下stm32f469了。STM32F469以Flash memory :2M,SRAM:384+4kb的優勢勝出,data bus的位數從stm32f446(16bit data bus)開始也從16bit 升級為32bit。
  • STM32CubeMX重大升級
    一些關於STM32CubeMX升級、ST官網的細節問題,不知道大家平時注意了沒有?相信經常使用STM32CubeMX工具的朋友,都知道升級到V5.0.0版本的新聞。其實,經常使用STM32CubeMX工具的朋友可能會關注它版本的更新。
  • STM32F7 Discovery評測
    sc=stm32f7-discovery下載驅動,及例程包,並分別解壓到一個自己記得住的目錄中。以下是安裝STLINK的截圖,這個STLINK很好安裝,只要把安裝的路徑指到你解壓的目錄就行。然後打開BSP的那個工程:(注意以下是我的例程包路徑)D:\STM32V7\stm32cubef7\STM32Cube_FW_F7_V1.1.0\Projects\STM32746G-Discovery\Examples
  • STM32CubeMX介紹、下載與安裝
    2.微控制器圖形化配置:l 自動處理引腳衝突l 動態設置確定的時鐘樹l 可以動態確定參數設置的外圍和中間件模式和初始化l 功耗預測3.C代碼工程生成器覆蓋了STM32 微控制器初始化編譯軟體,如IAR、KEIL、GCC。4.可獨立使用或作為 Eclipse 插件使用。
  • 關於STM32Cube的幾個常見問題
    四、STM32Cube HAL庫可以使用中斷或DMA嗎?答:是的。HAL層支持三種 API編程模型:輪詢、中斷和DMA(帶或不帶中斷的產生)。五、有基於相關開發工具鏈的工程例程嗎?答:有的。stm32cube各系列固件包提供了豐富的應用例程。
  • STM32f103單片機(三)——串口
    在stm32f10x.h中添加函數void UART_TRxOver_Interrupt(void);在stm32f10x.c的串口中斷入口中添加UART_TRxOver_Interrupt();
  • STM32CubeMx入門教程(1)-點亮LED
    「 使用stm32cubeMX 工具進行代碼生成,以LED點燈為例」
  • STM32F103RCT6開發板M3單片機教程01--點亮LED(基於光明谷SUN_STM32mini開發板)
    本教程使用是(光明谷SUN_STM32mini開發板)免費開發板在谷動谷力:http://bbs.sunsili.com, (複製電腦瀏覽器打開) 註冊用戶,打卡,發帖求助都可以獲取積分,當然最主要是發原創應用文檔獎勵更多積分.