點擊上方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晶片的評估和實驗。
更多精彩內容請點擊閱讀原文。