關注我們:
産品中心

高(gāo)性能STM32開發闆


STM32系列基于專爲要求高(gāo)性能、低成本、低功耗的(de)嵌入式應用(yòng)專門設計的(de)ARM Cortex-M3内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)1。按内核架構分(fēn)爲不同産品:其中STM32F1系列有:STM32F103“增強型”系列STM32F101“基本型”系列STM32F105、STM32F107“互聯型”系列增強型系列時(shí)鐘(zhōng)頻(pín)率達到72MHz,是同類産品中性能*高(gāo)的(de)産品;基本型時(shí)鐘(zhōng)頻(pín)率爲36MHz,以16位産品的(de)價格得(de)到比16位産品大(dà)幅提升的(de)性能,是32位産品用(yòng)戶的(de)*佳選擇。兩個(gè)系列都内置32K到128K的(de)閃存,不同的(de)是SRAM的(de)*大(dà)容量和(hé)外設接口的(de)組合。時(shí)鐘(zhōng)頻(pín)率72MHz時(shí),從閃存執行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗*低的(de)産品,相當于0.5mA/MHz。


stm32開發闆.png


STM32的(de)核心Cortex-M3處理(lǐ)器是一個(gè)标準化(huà)的(de)微控制器結構,Cortex-M3處理(lǐ)器擁有32位CPU,并行總線結構,嵌套中斷向量控制單元,調試系統以及标準的(de)存儲映射。


嵌套中斷向量控制器(Nested Vector Interrupt Controller,簡稱NVIC)是Cortex-M3處理(lǐ)器中一個(gè)比較關鍵的(de)組件,它爲基于Cortex-M3的(de)微控制器提供了(le)标準的(de)中斷架構和(hé)優秀的(de)中斷響應能力,爲超過240個(gè)中斷源提供專門的(de)中斷入口,而且可(kě)以賦予每個(gè)中斷源單獨的(de)優先級。利用(yòng)NVIC從可(kě)以達到極快(kuài)的(de)中斷響應速度,從收到中斷請求到執行中斷服務的(de)第一條指令僅需12個(gè)周期。這(zhè)種極快(kuài)的(de)響應速度一方面得(de)益于Cortex-M3内核對(duì)堆棧的(de)自動處理(lǐ)機制,這(zhè)種機制是通(tōng)過固化(huà)在CPU内部的(de)微代碼實現的(de)。另一方面,在中斷請求連續出現的(de)情況下(xià),NVIC使用(yòng)一種稱爲“尾鏈”的(de)技術,使連續而來(lái)的(de)中斷可(kě)以在6個(gè)時(shí)鐘(zhōng)周期内得(de)到服務。在中斷的(de)壓棧階段,更高(gāo)優先級的(de)中斷可(kě)以不耗費任何額外的(de)CPU周期就能完成嵌入低優先級中斷的(de)動作。具體的(de)細節後面我會繼續總結的(de)。用(yòng)戶可(kě)以通(tōng)過設置CPU自動進入低功耗狀态,而使用(yòng)中斷來(lái)将其喚醒,CPU在中斷時(shí)間來(lái)臨之前會一直保持睡(shuì)眠狀态。


Cortex-M3的(de)CPU支持兩種運行模式:線程模式(Thread Mode)與處理(lǐ)模式(Handler Mode)并且需要注意的(de)是,這(zhè)兩種模式都擁有各自獨立的(de)堆棧。這(zhè)種設計使得(de)開發人(rén)員(yuán)可(kě)以進行更爲精密的(de)程序設計,對(duì)實時(shí)操作系統的(de)支持也(yě)就更好了(le)。


Cortex-M3處理(lǐ)器還(hái)包含了(le)一個(gè)24位可(kě)自動重裝載定的(de)定時(shí)器,可(kě)以爲内核(RTOS)提供一個(gè)周期中斷。


在指令集方面,ARM7和(hé)ARM9都有兩種指令集(32位指令集和(hé)16位指令集),而Cortex-M3系列處理(lǐ)器支持Thumb-2指令集。由于Thumb-2指令集融合了(le)Thumb指令集和(hé)ARM指令集,使得(de)32位指令集的(de)性能和(hé)16位指令集的(de)代碼密度之間取得(de)了(le)平衡。


而且,ARM Thumb-2 專門爲C/C++編譯器設計,這(zhè)就意味著(zhe)Cortex-M3系列處理(lǐ)器的(de)開發應用(yòng)可(kě)以全部在C語言環境中完成。


STM32微控制器的(de)推出标志著(zhe)ST公司在兩條産品主線(低價位主線和(hé)高(gāo)性能主線)上邁出了(le)重大(dà)一步。STM32最初發布時(shí)有14個(gè)不同型号,分(fēn)爲兩個(gè)版本:最高(gāo)CPU時(shí)鐘(zhōng)爲72MHZ的(de)“增強型”和(hé)最高(gāo)CPU時(shí)鐘(zhōng)爲36MHZ的(de)“基本型”。這(zhè)些不同STM32型号裏内置的(de)Flash最大(dà)可(kě)達128KB,SRAM最大(dà)爲20KB,在STM32發布之初,配置更大(dà)Flash,RAM和(hé)更複雜(zá)外設的(de)版本就已經在規劃之中了(le)。不管是什(shén)麽版本,什(shén)麽型号的(de)STM32器件,它們在引腳功能和(hé)應用(yòng)軟件上是兼容的(de)。這(zhè)就使得(de)開發人(rén)員(yuán)在使用(yòng)STM32系列微控制器時(shí),不必改動PCB就可(kě)以根據需要随意更換器件型号。


stm32參數.jpg