關注我們:

高性能STM32開發板


STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的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。按內核架構分為不同產品:其中STM32F1系列有:STM32F103“增強型”系列STM32F101“基本型”系列STM32F105、STM32F107“互聯型”系列增強型系列時鐘頻率達到72MHz,是同類產品中性能最高的產品;基本型時鐘頻率為36MHz,以16位產品的價格得到比16位產品大幅提升的性能,是32位產品用戶的最佳選擇。兩個系列都內置32K到128K的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執行代碼,STM32功耗36mA,是32位市場上功耗最低的產品,相當于0.5mA/MHz。


stm32開發板.png


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


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


Cortex-M3的CPU支持兩種運行模式:線程模式(Thread Mode)與處理模式(Handler Mode)并且需要注意的是,這兩種模式都擁有各自獨立的堆棧。這種設計使得開發人員可以進行更為精密的程序設計,對實時操作系統的支持也就更好了。


Cortex-M3處理器還包含了一個24位可自動重裝載定的定時器,可以為內核(RTOS)提供一個周期中斷。


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


而且,ARM Thumb-2 專門為C/C++編譯器設計,這就意味著Cortex-M3系列處理器的開發應用可以全部在C語言環境中完成。


STM32微控制器的推出標志著ST公司在兩條產品主線(低價位主線和高性能主線)上邁出了重大一步。STM32最初發布時有14個不同型號,分為兩個版本:最高CPU時鐘為72MHZ的“增強型”和最高CPU時鐘為36MHZ的“基本型”。這些不同STM32型號里內置的Flash最大可達128KB,SRAM最大為20KB,在STM32發布之初,配置更大Flash,RAM和更復雜外設的版本就已經在規劃之中了。不管是什么版本,什么型號的STM32器件,它們在引腳功能和應用軟件上是兼容的。這就使得開發人員在使用STM32系列微控制器時,不必改動PCB就可以根據需要隨意更換器件型號。


stm32參數.jpg



钻石之恋救援彩金