0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32系列成员介绍

科技绿洲 来源:汇极星科技 作者:汇极星科技 2023-06-22 09:13 次阅读

STM32意法半导体 (STMicroelectronics) 公司推出的新一代基于Cortex-M内核的32位微控制器系列。STM32以其 高性能、低功耗、一流的外设简单易用等特点在近几年迅速发展,占领了很大市场,得到了很多开发者青睐。其应用领域包括电机驱动应用控制PC游戏****外设GPS平台 ** , 编程控制器(PLC)变频器打印机扫描仪**等。(除了STM32,意法半导体公司还推出了8位微处理器STM8系列,因其高性价比也有很多开发者在使用。这里暂不介绍STM8系列)

图片

STM32系列成员众多,按其性能可分为入门型(F0系列),基础型(F1系列),增强型(F3系列),高性能型(F4,F7等)。按内核的不同分为Cortex-M0(F0系列),Cortex-M3(F1、F3系列),Cortex-M4(F4系列)等。一般初学者选择F103系列较多,既能满足学习要求,又不至于太贵。

光凭一句“高性能”可能对其性能还是没有什么概念。下面是一个常见单片机的性能分数对照表,可供参考。

图片图片图片

对照表最下面的AT89C52就是最典型的51单片机,可以看到其分数只有2.36。而STM32F103的分数达到了177,STM32F407更是达到了566。

近几年,国产单片机也迅速崛起,在性能上已经不输国外。例如ESP8266ESP32系列已经获得众多单片机开发者的喜爱,不仅性能强大,而且自带wifi模块。又如对标STM32的GD32系列,其性能也已经不低于STM32,只是其学习资源不如STM32多。

很多人都是从51开始学习单片机,大学教材也大都以51单片机为例。STM32相比于51单片机,性能大幅提升,外设也更多,为了方便开发,ST官方专门发布了标准外设库,只要调用外设库里的函数就能轻松使用各种外设,而不需要对寄存器进行直接操作。

由于STM32功能较强,内部寄存器复杂且多,所以使用起来也相对较麻烦。比如要给某个IO口置高电平,51单片机只要 P0^0=1; 一行程序就能实现,但是STM32首先要调用GPIO的标准外设库,然后进行GPIO初始化并使能对应的时钟,然后才能将GPIO置位(当然也可以直接操作寄存器,不过STM32寄存器太多,使用更不方便)。所以很多51单片机学习者刚开始学习STM32会觉得无从下手,其实只要了解了STM32的库函数,其开发就和51一样简单,而且对于大型的项目开发其优势就体现出来了。学习STM32就是学习其库函数,从官方的库函数使用手册入手,学习起来还是很简单的。

STM32型号很多,所以有着规范的命名规则,从其型号便可知道其部分参数,如产品类型,Flash容量,封装。

图片

文将以STM32F103C8T6这款单片机为例来介绍STM32。

从命名规则可以知道,STM32F103C8T6是STM32基础型单片机,采用LQFP 48 封装,带有64KB的Flash(闪存程序存储器)。其最高工作频率72MHz,20KB的SRAM,2个12位ADC模数转换器),7通道DMA控制器并支持定时器ADC、SPI、IIC等,带有7个定时器,多达9个通信接口(2个IIC、3个USART、2个SPI、CAN接口USB2.0)。下图是其引脚图。

由于引脚有限,很多IO口都是功能复用,下图是其IO功能复用情况。

图片

接下来详细介绍各个外设

1.GPIO

GPIO即通用输入输出口,也就是我们常说的IO口。这款单片机有PA(PA0-PA15)、PB(PB0-PB15)、PC 3组IO(PC13-PC15),类似于STC89C52的P0、P1、P2口,A与B组每组16个,但C组只有3个。GPIO的排列分布不像51单片机那么规则,其实是考虑到开发者需要扩展IO时减少电路图的更改。有些GPIO默认是不做普通IO口的,例如PB4、PB3默认是作为JTAG使用,PC14、PC15默认作为RTC的晶振接口,如需作为普通IO口使用,则需要将对应复用功能屏蔽。

2.ADC

这款单片机有两个12位的ADC(PB0:ADC_IN8、PB1:ADC_IN9),用以将0-3.3V的电压模拟量转成数字量(0-2^12)。每个ADC共用多达16个外部通道, 可以实现单次或扫描转换。在扫描模式下,自动进行在选定的一组模拟输入上的转换。需要注意的是,ADC的电源是独立于供电电源的,其供电引脚为VSS-A与VDD-A,一般可以将这两个引脚直接与3.3V电源相连。包括其他的几组VDD和VSS,直接与3.3V电源连接即可(之所以分几个电源,是为了提高供电稳定性)

3.晶振

从上面的引脚图可以看出,STM32可以外接两个晶振。其中8M晶振就是单片机CPU运行用的,虽然晶振频率只有8M,但其内部频率最高可以达到72MHz,这得益于其内部的分频器,将8M震荡频率经二分频就得到了16M,经过多次分频就能得到更高的频率。

下图是其时钟树示意图。

图片

另外一个32.768kHz的低频晶振是用于内部 RTC时钟 。STM32自带RTC时钟,类似于手机电脑的系统时钟。不知大家有没有注意过,在我们的手机或者电脑没有联网的时候,重新开机后仍然可以显示时间,其实这就是RTC时钟。原理就是在手机或者电脑主电源断电的情况下,自动启用后备电源(电脑的后备电源就是主板上的纽扣电池),维持RTC时钟晶振工作,以实现主电源断电下也能计时。之所以不采用8M高频晶振作为RTC的振荡源,是因为高频晶振受温度、制作工艺影响大而容易出现误差(RTC的误差就小得多了)。要想使用STM32的RTC,只需要给1号引脚Vbat接一个纽扣电池即可,在未接3.3V电源时,会自动使用纽扣电池供电,接了3.3V电源又会自动切换至3.3V电源供电。因为RTC耗电极低,所以一颗纽扣电池也足够使用很长时间。但是在主电源断电情况下,如果纽扣电池也没电了,内部的时钟时间就会丢失,再次上电就恢复成了初始时间。

关于其具体用法,以后再做详细介绍。

4.IIC、USART、SPI通信

STM32外设丰富,支持硬件级的IIC、USART、SP通信。相比于软件实现的通信,硬件级的更快,更稳定,更方便。

IIC一般用于单片机与传感器、显示屏、EEPROM等外设间的数据传输。其IIC接口支持 7 位或 10 位寻址, 7 位从模式时支持双从地址寻址。内置了硬件 CRC发生器/ 校验器。

它们可以使用** DMA** 操作并支持 SMBus 总线 2.0 版 /PMBus 总线。

USART可用于单片机与电脑的的串口通信。USART1接口通信速率可达4.5Mbps,其他接口的通信速率可达2.25Mbps。USART接口具有硬 件的CTS和RTS信号管理、支持IrDA SIR ENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/ 从功能。 所有USART接口都可以使用DMA操作。

SPI比前两种通信拥有更快的通信速率,一般用于数据传输量大的场合,比如控制高分辨率或高刷新率的彩屏。SPI接口,在从或主模式下,全双工和半双工的通信速率可达18Mbps。3位的预分频器可 产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。 所有的SPI接口都可以使用DMA操作。

5.JTAG、SWD与仿真器

在STM32上有几个接口称为JTAG、SWD。JTAG接口(Joint Test Action Group,联合测试工作组),是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSPFPGA器件等。标准的JTAG接口是4线:TMS(PA13)、TCK(PA14)、TDI(PA15)、TDO(PB3),分别为模式选择、时钟、数据输入和数据输出线。有了JTAG,就可以对单片机程序进行在线调试,包括 断点调试变量监 ,对于程序查错是非常方便。

图片

SWD接口即串行调试(SerialWireDebug),是一种和JTAG不同的调试模式,最直接的区别是调试接口上,SWD只需要4(或者5)个引脚:3.3V、GND、SWDIO(PA13)、SWCLK(PA14)。他的SWDIO、SWCLK与JTAG的TMS、TCK复用了。

要想实现在线调试,还需要专门的仿真工具。常用的仿真器有J-Link、U-Link、ST-Link

J-Link其实就是一个USB转JTAG的工具,可将电脑与JTAG端口相连。JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好。

U-Link是ARM/KEIL公司推出的仿真器,不过现在能买到的都是其升级版本ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,仅可以在Keil软件上使用(不支持IAR、ADS等其他平台)。

ST-Link是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,通过ST-Link可直接将程序写入单片机(SWIM / JTAG / SWD)以及EEPROM烧写,当然也也支持在线仿真,相比另外两种,更具优势。所以个人非常推荐该仿真器

![图片](https://mmbiz.qpic.cn/mmbiz_jpg/Px0x0xOsMVYtRiaptO9smicSJgxvy60V2Q2VicfibuSRLhjKryozIzmphjzxenenKFgTa4p9o1j5sK05OwYaLibja5Q/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

6.程序开发平台

STM32程序开发平台主要有Keil、IAR、STM32CudeIDE等。Keil支持众多单片机开发,版本如今已更新到Keil 5。IAR相比Keil,编译的代码更紧凑,实际使用与Keil差不多。STM32CudeIDE是STM专门为STM32开发的IDE,但是使用还是比不上前两种平台

7.其他

内部温度传感器:STM内部有一个温度传感器,并连接到PC13,可用于监测芯片温度。

控制器区域网络(CAN):CAN 接口兼容规范 2.0A 和 2.0B( 主动 ) ,位速率高达 1Mbps 。它可以接收和发送 11 位标识符的标准帧, 也可以接收和发送29 位标识符的扩展帧。具有 3 个发送邮箱和 2 个接收 FIFO , 3 级 14 个可调节的滤波器。一般用与单片机与上位机的通信。

通用串行总线 (USB):内嵌一个兼容全速 USB 的设备控制器,遵循全速 USB 设备 (12Mbps

) 标准,端点可由软件配置,具有待机 / 唤醒功能。

定时器:中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器、3个普通定时器,以及2个看门 狗定时器和1个系统嘀嗒定时器。

图片

看门狗:用于防止程序跑偏。独立的看门狗是基于一个 12 位的递减计数器和一个 8 位的预分频器,它由一个内部独立的 40kHz 的 RC 振荡器提供时钟;因为这个RC 振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当 成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过 选项字节可以配置成是软件或硬件启动看门狗。

在调试模式下,计数器可以被冻结。窗口看门狗内有一个7 位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问 题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6029

    文章

    44480

    浏览量

    631596
  • STM32
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354097
  • 微处理器
    +关注

    关注

    11

    文章

    2241

    浏览量

    82241
收藏 人收藏

    评论

    相关推荐

    沙场点兵STM32微处理器全系列成员

    STM32微处理器在行业中占着不可替代的地位,集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性于一身,同时还保持了集成度高和易于开发的特点,最重要的是,性价比高、价格便宜~~下面一起来沙场点兵STM32系列的各个
    发表于 08-18 16:54

    沙场点兵STM32微处理器全系列成员

    STM32微处理器在行业中占着不可替代的地位,集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性于一身,同时还保持了集成度高和易于开发的特点,最重要的是,性价比高、价格便宜~~STM32系列的各个
    发表于 08-26 13:29

    沙场点兵STM32微处理器有哪些系列

    和软件选项,使该系列产品成为小型项目和完整平台的理想选择。下面我们”沙场点兵”STM32系列中全系列成员,捕捉精髓,学习技术,创造可能
    发表于 02-19 06:26

    STM8微控制器全系列成员

    STM8有几个系列,最近在犯愁不知道选哪个系列的,千辛万苦在网上查资料,终于找到了一遍介绍STM8个系列资料的文章,现整理成PDF文件,为STM8选型犯愁的各位可以下载看看
    发表于 08-07 08:59 4次下载

    向您介绍 STM32 F3 系列

    意法半导体STM32F3系列 — discovery kit介绍.
    的头像 发表于 06-22 17:10 5596次阅读

    向您介绍 STM32 F2 系列

    意法半导体STM32 F2 系列介绍.
    的头像 发表于 06-22 17:10 4533次阅读

    向您介绍STM32 F4 系列

    意法半导体STM32 F4系列介绍.
    的头像 发表于 06-22 16:50 8121次阅读

    STM32家族迎来新成员 STM32G0的I/O利用率超93%

    STM32家族迎来新成员STM32G0系列,I/O利用率超93%,内置1%精度RC振荡器的主流型MCU。
    的头像 发表于 01-04 09:35 7813次阅读
    <b class='flag-5'>STM32</b>家族迎来新<b class='flag-5'>成员</b> <b class='flag-5'>STM32</b>G0的I/O利用率超93%

    小米A系列成为AndroidOne销量冠军

    小米A系列是小米参与Android One项目推出的重要产品,小米首款Android One手机A1发布于2017年,在两年时间里小米A系列成绩卓越。
    的头像 发表于 08-22 17:55 1735次阅读

    Holtek推出单向发射SoC Flash MCU系列成员

    Holtek新推出Sub-1GHz OOK/FSK单向发射SoC Flash MCU系列成员BC68F2150,相较于之前推出的BC68F2130及BC68F2140,BC68F2150射频特性一致
    的头像 发表于 12-02 14:14 1941次阅读

    STM32STM32 MCU系列介绍

    STM32-32 微控制器(MCU)家族 系列 MCU 主流级别MCU STM32 F0系列-ARM Cortex-M0入门级MCU
    发表于 11-18 18:51 72次下载
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>STM32</b> MCU<b class='flag-5'>系列</b><b class='flag-5'>介绍</b>

    AN5155_STM32WB系列STM32Cube例程包介绍

    AN5155_STM32WB系列STM32Cube例程包介绍
    发表于 11-21 08:11 1次下载
    AN5155_<b class='flag-5'>STM32</b>WB<b class='flag-5'>系列</b><b class='flag-5'>STM32</b>Cube例程包<b class='flag-5'>介绍</b>

    AN5096_介绍STM32G0系列硬件开发

    AN5096_介绍STM32G0系列硬件开发
    发表于 11-21 08:11 4次下载
    AN5096_<b class='flag-5'>介绍</b><b class='flag-5'>STM32</b>G0<b class='flag-5'>系列</b>硬件开发

    stm32f030系列时钟介绍

    时钟是微处理器的驱动力,类似人的心脏,只有不停地跳动系统才能正常运行。Stm32不同系列的时钟基本结构类似,就是外设有些差别。这里以stm32f030系列为例来
    的头像 发表于 03-23 10:10 3525次阅读
    <b class='flag-5'>stm32</b>f030<b class='flag-5'>系列</b>时钟<b class='flag-5'>介绍</b>

    STM32 USB接口介绍

    以下内容基于STM32H7系列进行介绍,同样适用于STM32F4/F7系列芯片。
    的头像 发表于 05-14 15:49 9235次阅读
    <b class='flag-5'>STM32</b> USB接口<b class='flag-5'>介绍</b>