IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32初探 -> 正文阅读

[嵌入式]STM32初探

1、为什么选择STM32

1.1 什么是STM32

? ? ? ?意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。?STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex?-M0,M0+,M3, M4和M7内核。
它具有以下三个特点

??????????新的基于ARM内核的32位MCU系列???

????????????????–标准的ARM架构 ? ?

????????????????–内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核

??????????超前的体系结构?

????????????????–高性能 ? ?

????????????????–低电压 ? ? ?

????????????????–低功耗 ? ?

????????????????–创新的内核以及外设

??????????简单易用/自由/低风险

按内核架构分为不同产品


?????????主流产品(STM32F0、STM32F1、STM32F3)
?????????超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)
?????????高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

1.2 ?Cortex内核

????????STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。STM32F4属于Cortex-M4系列采用ARMv7-ME架构。 Cortex-A5/A8采用ARMv7-A架构。传统的ARM7系列采用的是ARMv4T架构。

ARMv7架构定义了三大分工明确的系列:

????????“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用

????????“R”系列:针对实时系统

????????“M”系列:对微控制器

????????CM3内核优点

????????????????1.高性能Cortex-M内核 ?

????????????????????????采用ARM公司流行的标准内核Cortex-M3 ? ?

????????????????????????低动态功耗上实现的高性能

????????????????????????哈佛结构上实现1.25DMIPS/MHZ,功耗只有0.19mv/MHZ ?

????????????????????????比ARM7TDMI改进了30%

????????????????????????单周期的乘法和硬件除法

????????????????????????不可分的位操作,实现对RAM,I/O和寄存器的最优访问

????????????????2.最佳的代码密度

????????????????????????Thumb-2指令集以16位指令的密度实现32位指令性能(与ARM7TDMI的 ARM模式比减少了30%-45%的代码量)

????????????????3.可预见的运行时间 ? ?

????????????????????????中断控制器嵌在内核之中,中断之间的间隔最少可达6个CPU周期

?????????????????????????从低功耗模式唤醒只需6个CPU周期

????????????????4.改进的调试功能 ?

?????????????????????????串行单步调试和JTAG调试

????????CM4内核优点

????????????????1.先进的Cortex-M4内核

????????????????????????浮点运算能力

????????????????????????增强的DSP处理指令

????????????????2.更多的存储空间

????????????????????????高达1M字节的片上闪存

????????????????????????高达196K字节的内嵌SRAM

????????????????????????FSMC:灵活的外部存储接口

????????????????3.极致的运行速度

????????????????????????以168MHz高速运行时可达到210DMIPS的处理能力

????????????????4.跟高级的外设

????????????????????????新增功能:照相机接口,加密处理器,USB高速OTG接口等

? ? ? ? ? ? ? ? ? ? ? ? 增强功能:更快的通信接口,更高的采样率,带FIFO的DMA控制器等

1.3 ?STM32 VS ARM7

?????????DMIPS: 处理器测整数计算能力为(N*100万)条指令/秒

1.4? Cortex-M家族

1.5? Cortex-M3 VS M4内核对比

?1.6?Cortex-M4低功耗设计

?1.7? Cortex-M4更高级的外设

?

?

?

?

?

2.STM32概述

2.1 CM3芯片结构

?2.2 芯片内部资源

????????STM32F103ZET6 &STM32F103RCT6

????????????????内核: ?

????????????????????????32位 高性能ARM Cortex-M3处理器

????????????????????????时钟:高达72M,实际还可以超屏一点点

????????????????????????单周期乘法和硬件除法

????????????????IO口: ? ? ?

????????????????????????STM32F103ZET6: 144引脚 ?112个IO ? ? ?

????????????????????????STM32F103RCT6:64引脚 ?51个IO ? ?

????????????????????????大部分IO口都耐5V(模拟通道除外) ? ?

????????????????????????支持调试:SWD和JTAG,SWD只要2根数据线

????????????????存储器容量: ? ? ? ?

????????????????????????STM32F103ZET6: ?512K FLASH,64K SRAM ? ? ? ?

????????????????????????STM32F103RCT6: 256K FLASH,48K ?SRAM

????????????????时钟,复位和电源管理:

????????????????????????2.0~3.6V电源和IO电压 ?

????????????????????????上电复位,掉电复位和可编程的电压监控 ?

????????????????????????强大的时钟系统:? ? ??

????????????????????????????????4~16M的外部高速晶振 ? ? ? ?

????????????????????????????????内部8MHz的高速RC振荡器 ? ? ?

????????????????????????????????内部40KHz低速RC振荡器,看门狗时钟 ? ? ?

????????????????????????????????内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到 ? ? ? ?

????????????????????????????????外部低速32.768K的晶振,主要做RTC时钟源

????????????????低功耗: ? ?

????????????????????????睡眠,停止和待机三种低功耗模式 ? ?

????????????????????????可用电池为RTC和备份寄存器供电

????????????????AD: ? ?

????????????????????????3个12位AD【多达21个外部测量通道】 ? ?

????????????????????????转换范围:0~3.6(电源电压) ? ?

????????????????????????内部通道可以用于内部温度测量 ? ?

????????????????????????内置参考电压 ?

????????????????DA: ? ?

????????????????????????2个12位DA

????????????????DMA: ? ?

????????????????????????12个DMA通道(7+5=12; 7通道DMA1,5通道DMA2) ?支持外设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART

????????????????定时器:多达11个定时器 ? ?

????????????????????????4个通用定时器 ? ?

????????????????????????2个基本定时器 ? ?

????????????????????????2个高级定时器 ? ?

????????????????????????1个系统定时器 ? ?

????????????????????????2个看门狗定时器

????????????????通信接口:多达13个通信接口 ? ?

????????????????????????2个I2C接口 ? ?

????????????????????????5个串口 ? ?

????????????????????????3个SPI接口 ? ?

????????????????????????1个CAN2.0 ? ?

????????????????????????1个USB FS ? ?

????????????????????????1个SDIO

????????????????芯片内部结构图:

?????????STM32F407ZGT6

?????????????????内核: ?

????????????????????????32位 高性能ARM Cortex-M4处理器 ?

????????????????????????时钟:高达168M,实际还可以超屏一点点 ?

????????????????????????支持FPU(浮点运算)和DSP指令

?????????????????IO口:

????????????????????????STM32F407ZGT6: 144引脚 ?114个IO

????????????????????????大部分IO口都耐5V(模拟通道除外)

????????????????????????支持调试:SWD和JTAG,SWD只要2根数据线

?????????????????存储器容量:

????????????????????????1024K FLASH,192K SRAM

?????????????????时钟,复位和电源管理:

????????????????????????1.8~3.6V电源和IO电压 ?

????????????????????????上电复位,掉电复位和可编程的电压监控 ?

????????????????????????强大的时钟系统 ? ? ? ?

????????????????????????????????4~26M的外部高速晶振 ? ? ? ?

????????????????????????????????内部16MHz的高速RC振荡器 ? ? ? ?

????????????????????????????????内部32KHz低速RC振荡器,看门狗时钟 ? ? ? ?

????????????????????????????????内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到 ? ? ? ?

????????????????????????????????外部低速32.768K的晶振,主要做RTC时钟源

????????????????低功耗: ? ?

????????????????????????????????睡眠,停止和待机三种低功耗模式 ? ?

????????????????????????????????可用电池为RTC和备份寄存器供电

? ? ? ? ????????AD: ?

????????????????????????????????3个12位AD【多达24个外部测量通道】 ?

????????????????????????????????内部通道可以用于内部温度测量 ? -内置参考电压

????????????????DA: ?

????????????????????????????????2个12位DA

????????????????DMA: ? ?

????????????????????????????????16个DMA通道 ,带FIFO和突发支持 ? ?

????????????????????????????????支持外设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C,和USART

????????????????定时器:多达17个定时器 ?

????????????????????????????????10个通用定时器(TIM2和TIM5是32位) ?

????????????????????????????????2个基本定时器 ?

????????????????????????????????2个高级定时器 ?

????????????????????????????????1个系统定时器 ?

????????????????????????????????2个看门狗定时器

????????????????通信接口:多达17个通信接口 ?

????????????????????????????????3个I2C接口 ?

????????????????????????????????6个串口 ?

????????????????????????????????3个SPI接口 ?

????????????????????????????????2个CAN2.0 ?

????????????????????????????????2个USB OTG ?

????????????????????????????????1个SDIO

????????????????芯片内部结构图:

????????这里大家只要记住TIM1TIM8、GPIO、ADC、SPI等是高速外设,所以挂载在APB2总线之下(APB2、APB1,2>1,所以APB2为高速时钟总线),TIM2~TIM7 挂载在APB1总线之下,就够了。

2.3 STM32F1各芯片关联

?2.4 ?STM32 命名规则

2.5 STM的选型

????????STM32是ST的所有产品的统称,ST有两大家族STM8和STM32。STM8主要针对于低成本,对主频要求比较低、运算速度要求不是很高的低端市场。STM32主要应用于项目对主频要求较高、运算速度比较快、实时性好的中高端市场。STM32有很多产品大致划分可分为主流MCU、高性能MCU、低功耗MCU。其中主流MCU如STM32F1系列、高性能MCU如STM32F4、STM32F7系列、低功耗MCU如STM32L0系列。并且每个系列产品下面还会根据闪存容量、外设数量、封装大小分为很多种类并且价格也是差别很大。

image-20201123193713582

????????STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:

1STM32STM32代表ARM Cortex-M内核的32位微控制器。
2FF代表芯片子系列。
3103103代表增强型系列。
4RR这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。
5BB这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。
6TT这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
766这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。

3.总结

????????STM32最具竞争力的优势:?

????????????????1)极高的性能: 主流的Cortex内核。

????????????????2)丰富合理的外设,合理的功耗,合理的价格

????????????????3)强大的软件支持:丰富的软件包

????????????????4)全面丰富的技术文档

????????????????5)芯片型号种类多,覆盖面广

?????????????????6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:25:42  更:2021-09-13 09:26:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 20:12:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计