找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7345|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

化圓為方:Nucleo-STM32F410評(píng)測(cè)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
Nucleo開發(fā)板配置都差不多,不同就是板載的芯片不同,所以我也花了很大的篇幅去介紹STM32F410和同系列芯片的相同點(diǎn)和不同點(diǎn),但限于時(shí)間和個(gè)人水平限制不能面面俱到,如果你有興趣詳細(xì)了解可以下載我附件里面的芯片參考手冊(cè),那是ST對(duì)這個(gè)芯片最權(quán)威和詳細(xì)的評(píng)測(cè)了!

  很幸運(yùn)從ST社區(qū)拿到了最新的NUCLEO-STM32F410開發(fā)板,板載的STM32F410是F4系列的一款新的芯片,作為M4內(nèi)核的一個(gè)新的成員,STM32F410采用動(dòng)態(tài)功耗調(diào)整、新型智能DMA優(yōu)化數(shù)據(jù)批處理等技術(shù)用來(lái)實(shí)現(xiàn)了功低耗新的里程碑,在功耗和性能高度平衡方面獨(dú)樹一幟。下面通過對(duì)STM32F410的認(rèn)識(shí)和NUCLEO板子的簡(jiǎn)單測(cè)試使用來(lái)簡(jiǎn)單了解下這個(gè)新的芯片。

1、STM32F410介紹
  自從ST采用Cortex-M內(nèi)核進(jìn)入ARM單片機(jī)領(lǐng)域,相繼推出了M0/M0+/M3/M4/M7內(nèi)核的多個(gè)系列多款芯片,每款芯片都有自己獨(dú)特的特性和使用行業(yè)?v觀ST32MCU的產(chǎn)品線已經(jīng)完全覆蓋了消費(fèi)品、工業(yè)、醫(yī)療、物聯(lián)網(wǎng)、可穿戴設(shè)備等各個(gè)行業(yè)和領(lǐng)域,無(wú)論高性能或者低功耗等需求,幾乎都能找到一款適合的芯片。
  和M3內(nèi)核相比由于M4內(nèi)核帶有DSP和FPU這些優(yōu)點(diǎn),所以ST很多性能強(qiáng)勁或者低功耗系列都采用M4這個(gè)內(nèi)核,比如F4和L4系列。作為目前ST產(chǎn)品線最為豐富和成熟的F4系列產(chǎn)品線分為3個(gè)類別:
各個(gè)系列主要的參數(shù)對(duì)比如下:
STM32F410作為F4系列入門級(jí)的產(chǎn)品線(Access Line),主要用于醫(yī)療、工業(yè)、消費(fèi)品等需要性能和功耗相平衡的行業(yè),其內(nèi)嵌高度集成的內(nèi)存和外設(shè)使芯片封裝縮小到2.553 x 2.579 mm,從上面的圖片中可以看到這在整個(gè)入門級(jí)系列中都是最好的。主要參數(shù)如下:
                ●性能:主頻為100MHZ,典型性能為125 DMIPS/339 CoreMark
                ●功耗:運(yùn)行模式:89 uA/MHz,STOP模式:6uA
                ●外設(shè):專用的音頻PLL和3個(gè)雙工I2S
                             3個(gè)高達(dá)10.5Mbit/s的USART
                             3個(gè)高達(dá)42 Mbit/s的SPI
                             3個(gè)I2C,其中一個(gè)FMPI2C,速度高達(dá)1MHZ
                              1個(gè)12bit的ADC和一個(gè)12bit的DAC
                              9個(gè)定時(shí)器,包括一個(gè)LPTIM,Systick時(shí)鐘高達(dá)100MHZ
                              真隨機(jī)數(shù)發(fā)生器

從上面的配置來(lái)看,豐富的外設(shè)接口,可以滿足一般的使用都沒有問題,比較遺憾的是芯片沒有USB接口和FSMC/FMC,但是借助速度很高的SPI和USART能擬補(bǔ)些這些不足。芯片整體架構(gòu)如下:
目前提供的封裝和類別如下:
STM32F410產(chǎn)品線主要采用Dynamic Efficiency來(lái)實(shí)現(xiàn)性能和功耗的完美平衡。Dynamic Efficiency 技術(shù)包括ST專用的 ART Accelerator、Prefetch Queue和 Branch Cache,這些可以0等待的從Flash執(zhí)行代碼,最大的程度的提升性能。除此之外,90nm的工藝技術(shù)不但提高了性能而且還降低了動(dòng)態(tài)功耗,同時(shí)動(dòng)態(tài)電壓調(diào)整優(yōu)化了工作電壓來(lái)滿足性能需求并且盡量減少泄漏來(lái)降低功耗。ST形象的將Dynamic Efficiency這種技術(shù)比作“化圓為方”(square the circle),并做了下面的解釋:
How the new STM32 Dynamic Efficiency™ microcontrollers “square the circle”:

Squaring the circle – constructing a square of the same area as a given circle - has become a metaphor for attempting the impossible. There is no plane solution to this ancient problem, since the square root of PI cannot be constructed geometrically.

In creating STM32 Dynamic Efficiency, ST has achieved a reduction in Power consumption with a simultaneous increase in Performance and Integration (P2I). Just as PI holds the key to the problem of squaring the circle, realizing P2I overcomes one of today’s toughest and most important challenges in microcontroller design.

STM32F410為了實(shí)現(xiàn)低功耗特別設(shè)計(jì)了新的Batch Acquisition Mode (BAM)低功耗模式,這種低功耗模式配合新型智能DMA可較大程度的優(yōu)化功耗。在Sleep模式下,F(xiàn)lash被關(guān)閉,需要工作的外設(shè)繼續(xù)運(yùn)行,數(shù)據(jù)通過DMA傳輸繼續(xù)有效!
各種低功耗模式對(duì)比如下:
2、NUCLEO-STM32F410
      相信很多小伙伴都很熟悉NUCLEO開發(fā)板了,鐵打的外設(shè)流水的主芯片MCU,見到過一次再遇到就倍感親切。仔細(xì)觀察發(fā)現(xiàn),STM32F410-Nucleo開發(fā)板的絲印采用了新的亮藍(lán)色,和之前的深藍(lán)色相比更能感覺到年輕和活力!
     STM32F410-Nucleo開發(fā)板繼承了NUCLEO系列前輩的優(yōu)良基因,簡(jiǎn)約而不簡(jiǎn)單,和高大上的EVAL/Discovery系列對(duì)比平凡而不平庸。擴(kuò)展簡(jiǎn)單方便,不論Arduino或者Morpho 都能直接配套使用,除此之外板上引出的IO口更可方便的擴(kuò)展自己的外圍模塊。
    板載的STLINK使下載調(diào)試程序方便簡(jiǎn)單,一塊NUCLEO開發(fā)板配上一條數(shù)據(jù)線和一臺(tái)電腦就可以開始學(xué)習(xí)STM32,是新手入門學(xué)習(xí)走向高手之路的必備神器,至于高手嘛,也可以用NUCLEO打發(fā)無(wú)聊的周末。^_^
STM32F410-Nucleo 開發(fā)板板載資源如下:
            ● ST-LINK/V2.1調(diào)試器,可以在PC上枚舉出虛擬串口和虛擬U盤,前者可以用于調(diào)試時(shí)通信,后者可用于配合mbed下載使用
            ●2個(gè)按鍵,藍(lán)色的是用戶按鍵,黑色的是復(fù)位按鍵
            ●3個(gè)LED,一個(gè)多色LED用于顯示stlink和PC的通信狀態(tài),一個(gè)紅色的LED用于顯示電源狀態(tài),一個(gè)綠色的LED用于用戶折騰玩耍使用
            ●支持Keil,IAR,GCC,ARM mbed online 開發(fā)工具
先在電腦安裝Nucleo板子需要的stlink驅(qū)動(dòng)和虛擬串口的驅(qū)動(dòng),然后將開發(fā)板通過USB線和電腦相連接,在設(shè)備管理器里面可以看到枚舉出了下面的設(shè)備:
在資源管理器里可以看到多出來(lái)一個(gè)U盤設(shè)備:
打開U盤設(shè)備里面的鏈接可以直接進(jìn)入mbed網(wǎng)站,在這里可以看到可以看到該NUCLEO-STM32F410功能特性說(shuō)明:
相應(yīng)的擴(kuò)展接口;
mbed網(wǎng)站資源豐富,很多開源的代碼可以參考學(xué)習(xí),在線的編譯器能快速便捷進(jìn)行功能驗(yàn)證和測(cè)試:
3 、NUCLEO-STM32F410測(cè)試
除了上面提到的mbed,ST也提供STMCubeMXSTM32Cube開發(fā)包用于快速開發(fā)測(cè)試評(píng)估。STMCubeMX是一個(gè)圖形界面的代碼配置工具,能讓用戶根據(jù)需要一步一步的進(jìn)行配置外設(shè)、時(shí)鐘、最后根據(jù)需要輸出工程代碼。這個(gè)工具功能強(qiáng)大上手簡(jiǎn)單,現(xiàn)在可以看到很多使用STMCubeMX的教程可以參考。為了更詳細(xì)的測(cè)試,我使用STM32CubeF4開發(fā)包手動(dòng)建一個(gè)keil工程并寫一個(gè)簡(jiǎn)單的測(cè)試驗(yàn)證程序。自己建立工程的好處就是能很清楚自己的工程里面包含了那些代碼,能有效的控制整個(gè)全局的程序結(jié)構(gòu),如果程序出了問題會(huì)比較便于查找。
1)STM32CubeF4開發(fā)包介紹:
       STM32CubeF4包括F4系列的HAL驅(qū)動(dòng)庫(kù)、DSP庫(kù)、各種官方的開發(fā)板測(cè)試代碼、第三方代碼(FATFS/EMWIN/FreeRTOS)等等,總的來(lái)說(shuō)這個(gè)開發(fā)包是開發(fā)人員能得到的最權(quán)威最詳細(xì)的官方參考代碼、使用文檔、底層庫(kù)的一個(gè)集合,是一個(gè)名副其實(shí)的聚寶盆,各種簡(jiǎn)單的外設(shè)使用比如IO口、USART、SPI、IIC等等都能找到如何配置和是使用的例子,復(fù)雜的比如USB、FreeRTOS、EMWIN等也有相應(yīng)的測(cè)試DEMO。這里面的代碼注釋都很清晰明了,即使之前沒有接觸過也可以很快上手。
整體結(jié)構(gòu)如下:
Drivers文件夾下是我們要使用的HAL庫(kù)源文件和說(shuō)明文檔:
Project文件夾下的各種評(píng)估板測(cè)試代碼(大寶藏),有了這個(gè)還要啥自行車....
STM32F410-Nucleo測(cè)試代碼:
    整個(gè)CubeF4開發(fā)包結(jié)構(gòu)清晰分類合理,上面的每個(gè)測(cè)試代碼都可以使用keil、IAR等IDE打開,每個(gè)工程都有詳細(xì)的Readme進(jìn)行描述該測(cè)試代碼的目的和使用方法。
    當(dāng)我們使用keil開發(fā)時(shí)要下載一個(gè)F4對(duì)應(yīng)的PACK,這個(gè)Pack就是打包的STM32Cube的文件然后加入芯片的一些架構(gòu)信息用于keil生成工程使用,我們可以在keil的安裝目錄下看到這個(gè)被打包的STM32Cube
所以如果從ST網(wǎng)站下STM32Cube如果很慢時(shí)可以直接把從keil網(wǎng)站上下載的PACK后綴修改為rar壓縮文件直接使用即可,不過有可能KEIL的PACK更新慢于STM32Cube。
2)使用keil建立一個(gè)測(cè)試工程
1、新建工程選擇STM32F410
2、點(diǎn)擊OK后勾選彈出的CORE內(nèi)核,這樣就可以包含需要的內(nèi)核頭文件了
3、然后在建立幾個(gè)文件夾放置HAL庫(kù),mian函數(shù)、硬件外設(shè)
4、將文件夾加入到工程中
5、建立LED,UART、SYS,MIAN等文件并添加到工程中
6、最后完善mian函數(shù),完成LED閃爍和串口輸出信息,編譯下載即可看到預(yù)設(shè)的現(xiàn)象。
  • #include "main.h"
  • //Nucleo_STM32F410 Test By creep
  • //ST社區(qū):www.stmcu.org
  • int main(void)
  • {
  •         uint8_t led_sta = OFF;
  •         HAL_Init();
  •         SystemClock_Config();
  •         LED_Init();
  •         USART2_Init();
  •         while(1)
  •         {
  •                 LED(led_sta);
  •                 HAL_Delay(1000);
  •                 led_sta = !led_sta;
  •                 printf("ST社區(qū):www.stmcu.orgNucleo-STM32F410 Test by creep");
  •         }
  • }


復(fù)制代碼
手動(dòng)建立工程時(shí)有幾個(gè)地方需要注意:
1)添加必要的庫(kù)函數(shù)并包含需要的有文件
2)stm32f4xx_hal_conf.h文件中配置需要的庫(kù)文件包含關(guān)系
3)建立工程時(shí)選中RTE的CORE用于直接調(diào)用keil5安裝下的內(nèi)核頭文件
4)時(shí)鐘配置函數(shù)可以從參考DEMO中的配置
最后輸出測(cè)試信息:


總結(jié):
    整體來(lái)說(shuō)STM32F410繼續(xù)保持著F4系列的超強(qiáng)性能而且通過動(dòng)態(tài)功耗調(diào)整和新型智能DMA及新的BAM休眠等技術(shù)使功耗達(dá)到了一個(gè)新的里程碑,對(duì)于需要性能和功耗兼顧的行業(yè)是個(gè)不錯(cuò)的選擇。
    ST采用差異配置在不斷完善著各個(gè)產(chǎn)品線,給不同行業(yè)不同需求的都能提供理想的選擇,也有越來(lái)越來(lái)的開發(fā)人員和產(chǎn)品使用ST的芯片,在這個(gè)良性的循環(huán)下可以預(yù)見到ST的ARM系列會(huì)越做越好,產(chǎn)品線也會(huì)越來(lái)越豐富。由于各個(gè)產(chǎn)品線系列的類似開發(fā)平臺(tái),這樣最后也會(huì)讓我們開發(fā)人員能很簡(jiǎn)單容易的去掌握使用新的芯片和技術(shù)。


測(cè)試代碼及相應(yīng)文檔:

Nucleo_STM32F410_Test.rar

795.04 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5

STM32F410-RM.rar

3.94 MB, 下載次數(shù): 8, 下載積分: 黑幣 -5

STM32F410x8-DS.pdf

1.89 MB, 下載次數(shù): 5, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表