官术网_书友最值得收藏!

1.2 STM32微控制器

近年來,STM32微控制器在嵌入式系統中的應用越來越廣泛,熟練掌握基于STM32的嵌入式系統開發與設計具有極為重要的現實意義。

1.2.1 STM32微控制器的誕生

STM32微控制器是指由意法半導體(ST Microelectronics,ST)公司開發的32位閃存微控制器產品,這是ST公司第一個基于ARM Cortex-M內核的微控制器。STM32微控制器具有易于開發、性能高、兼容性好、功耗低、實時處理能力和數字信號處理能力強等優點,它的出現使得當前微控制器的性價比水平提升到了一個新高度。

在過去的數年里,51單片機因其結構簡單、易開發等優點,一直被廣泛使用,是嵌入式系統中一款經典的單片機。如今嵌入式產品的競爭日益激烈,相應地對微控制器性能的要求也越來越高。面對這些新要求和新挑戰,51單片機顯得有些“力不從心”。因此,一款功能更多、功耗更低、實時處理能力和數字信號處理能力更強的微控制器,將會更好地適應當今的市場需求。

正是基于這樣的市場需求,ARM公司率先推出了一款基于ARMv7架構的32位ARM Cortex-M微控制器內核。Cortex-M系列內核支持兩種運行模式,即線程模式(Thread Mode)與處理模式(Handler Mode)。這兩種模式都有各自獨立的堆棧,使得內核更加支持實時操作系統,并且Cortex-M系列內核支持Thumb-2指令集。Thumb-2指令集是專為C/C++編譯器而設計的,因此基于Cortex-M系列內核的微控制器的開發和應用可以在C語言環境中完成。

繼Cortex-M系列內核誕生之后,ST公司積極響應當今嵌入式產品市場的新要求和新挑戰,推出了基于Cortex-M系列內核的STM32微控制器。它具有出色的微控制器內核和完善的系統結構設計,以及易于開發、性能高、兼容性好、功耗低、實時處理能力和數字信號處理能力強等優點,這使得STM32微控制器一上市就迅速占領了中低端微控制器市場。它不僅完美地適應了當前市場的需求,還使得ST公司在低價位和高性能兩條產品主線上取得了巨大進步。

1.2.2 STM32微控制器的分類、命名規則與選型

1. STM32微控制器的分類

為了滿足市場需求,STM32微控制器具有多種產品系列,其內核型號大致可以分為Cortex-M0、Cortex-M3、Cortex-M4和Cortex-M7幾種類型。STM32微控制器的分類如表1.1所示。

表1.1 STM32微控制器的分類

下面簡要介紹幾款較為常用的STM32微控制器。

(1)STM32-L1系列超低功耗型微控制器。該系列微控制器基于Cortex-M3內核,工作頻率為32MHz,在性能、存儲器容量和引腳數量等方面擴展了超低功耗型產品系列,最低功耗模式電流消耗為0.27μA/MHz,動態運行模式電流消耗為230μA/MHz。

(2)STM32-F1系列基本型微控制器。該系列微控制器最大化地集成了高性能與低功耗特性,主要包含5個產品線,它們之間的引腳、外設和軟件均相互兼容。其中STM32-F103系列微控制器屬于增強型系列,具有高達1MB的片上內存,還具有電動機控制、USB和CAN模塊,性價比較高,市場占有率非常高。

(3)STM32-F2系列高性能型微控制器。該系列微控制器利用了創新的自適應實時內存(ART)加速器和多層總線矩陣技術,具有1MB片上內存、128KB以太網MAC的SRAM、USB2.0HS OTG、攝像頭接口,以及高度集成化的硬件加密支持和外部存儲器接口。

(4)STM32-F4系列高性能型微控制器。該系列微控制器將實時控制功能與信號處理功能完美地結合在一起,并保留了STM32-F2系列引腳的兼容性,具有更大容量的SRAM,也改進了一些外設,如全雙工I2S總線和更快的ADC等。

2. STM32微控制器的命名規則

以STM32F103ZET6微控制器為例,講解一下STM32微控制器的命名規則。STM32微控制器的命名規則如圖1.2所示。如果想要更加具體地了解STM32微控制器的命名規則,則可以查閱《STMCU選型手冊》。

圖1.2 STM32微控制器的命名規則

3. STM32微控制器的選型

通過前面的介紹,我們已經大致了解了STM32微控制器的分類和命名規則。在此基礎上,根據實際情況的具體需求,可以大致確定所要選用的STM32微控制器的內核型號和產品系列。例如,一般的工程應用的數據運算量不是特別大,基于Cortex-M3內核的STM32-F1系列微控制器即可滿足要求;如果需要進行大量的數據運算,且對實時控制和數字信號處理能力要求很高,或者需要外接RGB大屏幕,則推薦選擇基于Cortex-M4內核的STM32-F4系列微控制器。

在明確了產品系列之后,可以進一步選擇產品線。以基于Cortex-M3內核的STM32-F1系列微控制器為例,如果僅需要用到電動機控制或消費類電子控制功能,則選擇STM32F100或STM32F101系列微控制器即可;如果還需要用到USB通信、CAN總線等模塊,則推薦選用STM32F103系列微控制器,這也是目前市場上應用最廣泛的微控制器系列之一;如果對網絡通信要求較高,則可以選用STM32F105或STM32F107系列微控制器。對于同一個產品系列,不同的產品線采用的內核是相同的,但核外的片上外設存在差異。具體選型情況要視實際的應用場合而定。

確定好產品線之后,即可選擇具體的型號。參照STM32微控制器的命名規則,可以先確定微控制器的引腳數目。引腳多的微控制器的功能相對多一些,當然價格也貴一些,具體要根據實際應用中的功能需求進行選擇,一般夠用就好。確定好了引腳數目之后再選擇FLASH存儲器容量的大小。對于STM32微控制器而言,具有相同引腳數目的微控制器會有不同的FLASH存儲器容量可供選擇,它也要根據實際需要進行選擇,程序大就選擇容量大的FLASH存儲器,一般也是夠用即可。到這里,根據實際的應用需求,確定了所需的微控制器的具體型號,下一步的工作就是開發相應的應用。

主站蜘蛛池模板: 兴仁县| 通许县| 周宁县| 筠连县| 大渡口区| 蓬溪县| 林西县| 马关县| 温州市| 柯坪县| 繁昌县| 香河县| 福建省| 会理县| 柯坪县| 金阳县| 广州市| 福贡县| 惠安县| 内乡县| 公安县| 新余市| 静乐县| 琼中| 兰西县| 绥滨县| 凉城县| 庆安县| 雷山县| 兰西县| 深圳市| 西贡区| 和硕县| 凤台县| 若尔盖县| 双辽市| 孟州市| 兖州市| 宜都市| 垦利县| 政和县|