STM32简介
STM32简介STM32是什么?STM32与ARM的关系STM32F407Z76介绍STM32能做什么STM32学习方法基本外设基本外设接口高级功能C语言能力加强多动手编程
STM32是什么?
ST 是法意半导体,是一个公司的名称;
M 是microelectionics的缩写,是微控制器。注意与微处理器的区别!
微控制器:微控制器是微型计算机的主要组成部分集成在一块芯片上的单芯片微型计算机。
微处理器:微处理器是由一块或者几块大规模集成电路组成的中央处理器。这些电路执行控制部件和计算逻辑部分的功能。微处理器能够完成取指令,执行指令,以及与外界存储器额逻辑部分交换信息等操作。它与存储器和外围芯片组成了微型计算机。
32 32bit的意思,表示这是一个32位的微型控制器。
STM32与ARM的关系
ARM 是全球领先的半导体知识产权(IP)提供商。他们致力于先进RISC(精简指令计算机)内核技术的研究,并且以知识产权出售的形式,向各大半导体厂商出售RISC机内核代码(工业主流为Verilog HDL语言编写的IP核)。各大半导体厂商在标准的ARM内核的基础上,外加各种外设,就组成了市场上各大类型的ARM内核微控制器(微处理器)。
当前的ARM系列内核,主要有Cortex@-A,Cortex@-R,Cortex@-M三大系列。
A 系列:面向尖端的基于虚拟内存的操作系统和用户应用;
R 系列:针对实时系统;
M 系列:微控制器;
STM32F4是采用Cortex@-M4,ARMv7-ME架构的32位微控制器。
补:Cortex@-M3采用ARMv7-M架构,Cortex@-M0采用ARMv6-M架构,Cortex@-A5/A8采用ARMv7-A架构,传统的ARM7系列采用的是ARMv4T架构。
精简指令:RISC :Reduce Instruction Set Computer 单周期指令
复杂指令:CISC :Complex Instruction Set Computer 多周期指令(8086,8051)
STM32F407Z76介绍
<pre class="md-fences md-end-block" cid="n40" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; text-align: left; break-inside: avoid; display: block; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;" lang="" contenteditable="false"> 示例:
从上面的料号可以看出以下信息:
ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP -48封装 闪存容量32KB 温度范围-40℃-85℃;
1.产品系列:
STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;
2.产品类型: F:通用快闪(Flash Memory);
L:低电压(1.65~3.6V);F类型中F0xx和 F1xx系列为2.0~3.6V; F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版.
3.产品子系列:
050:ARM Cortex-M0内核;051:ARM Cortex-M0内核;100:ARM Cortex-M3内核,超值型; 101:ARM Cortex-M3内核,基本型; 102:ARM Cortex-M3内核,USB基本型; 103:ARM Cortex-M3内核,增强型; 105:ARM Cortex-M3内核,USB互联网型; 107:ARM Cortex-M3内核,USB互联网型、以太网型; 108:ARM Cortex-M3内核,IEEE802.15.4标准; 151:ARM Cortex-M3内核,不带LCD; 152/162:ARM Cortex-M3内核,带LCD;
205/207:ARM Cortex-M3内核,不加密模块.(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;)
215/217:ARM Cortex-M3内核,加密模块。(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;)
405/407:ARM Cortex-M4内核,不加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头);
415/417:ARM Cortex-M4内核,加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头);
4.管脚数:
F:20PIN;G:28PIN;K:32PIN;T:36PIN;H:40PIN;C:48PIN;U:63PIN;R:64PIN;O:90PIN;V:100PINQ:132PIN;Z:144PIN; I:176PIN;
5. Flash存存容量:
4:16KB flash;(小容量); 6:32KB flash;(小容量);8:64KB flash;(中容量);B:128KB flash;(中容量);C:256KB flash;(大容量);D:384KB flash;(大容量);E:512KB flash;(大容量);F:768KB flash;(大容量);G:1MKB flash;(大容量)
6.封装:
T:LQFP;H:BGA;U:VFQFPN;Y:WLCSP/ WLCSP64;
7.温度范围:
6:-40℃-85℃;(工业级); 7:-40℃-105℃;(工业级)
8.内部代码:
“A” or blank; A:48/32脚封装;Blank:28/20脚封装;
9.包装方式:
TR:带卷; XXX:盘装;D:电压范围1.65V – 3.6V且BOR无使能;无特性:电压范围1.8V – 3.6V且BOR使能;</pre>
STM32F407ZGT6:407表示是M4内核,高性能且带DSP(数字信号处理)和FPU(浮点计算)。其工作频率可达168M,使用8M晶振倍频得到。
STM32F407ZGT6 内部资源:
内核:32位,高性能ARM Cortex@-M4处理器,时钟:高达168M,实际可以超频一点,支持FPU和DSP指令。
IO口:STM32F07ZGT6:144引脚 144个IO大部分IO口能耐5V(模拟通道除外:DA/AD),支持调试:SWD和JTAG,SWD只要两根数据线。
存储器容量:1024K FLASH, 192K SPAM
时钟:复位和电源管理
1.8-3.6V(3.3V CMOS电平)电源和IO电压
上电复位,掉电复位和可编程的电压监控
复杂时钟:当需要外设时,可以关闭时钟,减少功耗
4-26M的外部告诉晶振(一般使用8M晶振,结果倍频得到所需的168M频率)
内部16MHZ的高速RC振荡器
内部32KHZ低速RC振荡器,看门狗时钟
内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到的
外部低速32.768K的晶振,主要做PTC时钟源
低功耗:
睡眠、停止和待机三种低功耗模式
可用电池为RTC和备份寄存器供电,可做睡眠时钟
可用电池没电时,备份数据丢失
AD:
3个12位AD(多达24个外部测量通道)(51为8位)
内部通道可以用于内部温度测量(测量外部时会有误差)
内部参考电压
DA:2个12位DA
DMA:16个DMA通道,带FIFO和突发支持。不需要CPU处理,不消耗CPU资源
定时器:多达17个定时器
10个通用定时器(TIM2和TIM5是32位)
2个基本定时器
2个高级定时器
1个系统定时器
2个看门狗定时器
通信接口:多达17个通信接口
3个I2C接口
6个串口
3个SPI接口
2个CAN2.0
2个USB OTG
1个SDIO
STM32F407 系列芯片的系统架构
I:指令总线 S:系统总线 D:数据总线
Cortex@-M4内核与ARM设计外设通信需要通过总线矩阵。总线矩阵负责管理调度I\S\D总线的访问顺序。
STM32能做什么
USART:ESP8266 WIFI模块、GSM模块、蓝牙模块、GPS模块、指纹识别模块等;
IIC:EEPROM、MPU6050陀螺仪、0.96寸OLED屏、电容屏;
SPI:串行FLASH、以外网W5500、VS1003/1053音频模块、SPI接口的OLED屏,电容屏等;
AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、建议示波器等;
STM32学习方法
基本外设
GPIO输入输出,外部中断,定时器,串口;
基本外设接口
SPI、IIC、WDG、FSMC、ADC/DAC、SDIO
高级功能
UCOS、FATFS、EMWIN等;