STM32简介(1)

这篇具有很好参考价值的文章主要介绍了STM32简介(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由B站江科大STM32视频学习做的笔记,便于自己以后复习回顾。


目录

一、STM32简介

二、ARM介绍

三、本次学习所用STM32介绍

1、片上资源(外设)

2、STM32命名规则

3、STM32系统结构 

4、STM32引脚定义

(1)表格介绍

(2)引脚介绍

5、STM32启动配置

6、STM32最小系统电路

7、STM32最小系统板硬件介绍


一、STM32简介

        STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。

        STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等。

        STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。

 stm32,STM32学习,stm32,嵌入式硬件,单片机

High Performance:高性能系列

Mainstream:主流系列

Ultra-low-power:超低功耗系列

Wireless:无线系列

 CoreMark:内核跑分,分数越高,性能越好

二、ARM介绍

        ARM既指ARM公司,也指ARM处理器内核。

        ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构。

        ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片。

stm32,STM32学习,stm32,嵌入式硬件,单片机stm32,STM32学习,stm32,嵌入式硬件,单片机

        蓝色部分为ARM公司以前生产的老版本内核,如ARM7,ARM9,ARM11,这些型号称为经典的ARM处理器。

        Cortex-A系列、 Cortex-R系列、 Cortex-M系列三款子型号用于适用不同的场景。

        Cortex-A系列适用于高端应用型的领域,像苹果、高通、联发科的手机芯片基本上都是采用的ARM内核架构,A系列也是ARM内核中性能最高、发展最快的系列。

         Cortex-R系列和Cortex-M系列应用于嵌入式领域。

        R系列就是RealTime的意思,主要面向实时性很高的场景,比如硬盘控制器。

        M系列就是Microcontroller的意思,主要应用于单片机领域,像STM32,使用的就是M系列的内核。

三、本次学习所用STM32介绍

stm32,STM32学习,stm32,嵌入式硬件,单片机

51单片机和USB输出的电压使用的是5V供电,给STM32供电时,如果时5V,需要稳压芯片,把电压降到3.3V,再给STM32供电。

1、片上资源(外设)

stm32,STM32学习,stm32,嵌入式硬件,单片机

嵌套向量中断控制器(NVIC):内核里用于管理中断的设备,比如配置中断优先级。

系统滴答定时器(SysTick):内核里的定时器,主要用来给操作系统提供定时服务,来进行任务切换的功能。STM32是可以加入操作系统的,如FreeRTOS、UCOS等。

复位和时钟控制(RCC):可以对系统的时钟进行配置,以及使能各模块的时钟。在STM32中,其他的这些外设在上电的情况下默认是没有时钟的,不给时钟的情况下,操作外设是无效的,这样的目的是降低功耗。

通用IO口(GPIO):可以用GPIO来点灯,读取按键等功能。

复用IO口(AFIO):它可以完成复用功能端口的重定义,还有中断端口的配置。

外部中断(EXTI):配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。

定时器(TIM):这也是整个STM32最常用、功能最多的外设,TIM分为高级定时器、通用定时器、基本定时器三种类型,这个定时器不仅可以完成定时中断的任务,还可以完成测频率、生成PWM波形、配置成专用的编码器接口等功能。其中的PWM波形是电机驱动、舵机驱动最基本的要求。

模数转换器(ADC):STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压值,无需外部连接AD芯片,使用非常方便。

数模转换器(DAC):可以在IO口直接输出模拟电压,是ADC模数转换的逆过程。

直接内存访问(DMA):可以帮助CPU完成搬运大量数据这样的复杂任务。

同步/异步串口通信(USART):平常用的UART是异步串口的意思,这里的USART既支持异步串口,也支持同步串口。

I2C通信和SPI通信:是非常常用的两种通信协议,STM32也内置了他们的控制器,可以用硬件来输出时序波形,使用起来非常高效。

CAN通信:一种通信协议,常用于汽车领域。

USB通信:一种通信协议,常用于鼠标、键盘、U盘等各种电脑外设。

实时时钟(RTC):在STM32内部完成年月日、时分秒的计时功能,可以接外部备用电池,这样即使掉电也能正常运行。

CRC校验:是一种数据的校验方式,用于判断数据的正确性。

电源控制(PWR):可以让芯片进入睡眠模式等状态,来达到省电的目的。

备份寄存器(BKP):这是一段存储器,当系统掉电时,仍可由备用电池保持数据,这个根据需要,可以完成一些特殊功能。

独立看门狗(IWDG)和窗口看门狗(WWDG):当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定。

SD卡接口(SDIO):可以用来读取SD卡。

可变静态存储控制器(FSMC):可以用于拓展内存或者配置成其他总线协议,用于某些硬件的操作。

USB主机接口(USB OTG):可以让STM32作为USB主机取读取其他USB设备。

2、STM32命名规则

stm32,STM32学习,stm32,嵌入式硬件,单片机

3、STM32系统结构 

stm32,STM32学习,stm32,嵌入式硬件,单片机

系统结构可分为如图上四个部分,左上角的是Cortex-M3的内核,内核引出来了三条总线,分别是ICode指令总线,DCode数据总线,System系统总线,其中ICode指令总线和DCode数据总线主要用来连接Flash闪存,Flash里面存储的就是我们编写的程序。ICode指令总线用来加载程序指令,DCode数据总线用来加载数据,比如常量和调试数据。

System系统总线就连接到了其他的东西上面,如SRAM,用于存储程序运行时的变量数据;
FSMC本课程的芯片不会用到;
AHB系统总线用于挂载主要的外设,AHB的意思是先进高性能总线,挂载的一般是最基本的或者性能比较高的外设,比如复位和时钟控制这些最基本的电路和SDIO;
再后来就是两个桥接,接到了APB2和APB1两个外设总线上,APB的意思是先进外设总线,用于连接一般的外设,因为AHB和APB的总线协议、总线速度、还有数据传送格式的差异,所以中间需要加两个桥接,来完成数据的转换和缓存,AHB的整体性能比APB高一些,其中APB2的性能又比APB1高一些,APB2一般是和AHB同频率的,都是72MHz,APB1一般是36MHz,所以APB2连接的都是一般外设中稍微重要的部分,具体外设分布如上图。

DMA可以把它当作内核CPU的小秘书,比如有一些大量的数据搬运,让CPU来干的话就太浪费时间,DMA主要就是干简单且反复要干的事情。DMA通过DMA总线连接到总线矩阵上,它可以拥有和CPU一样的总线控制权,用于访问这些外设小弟,当需要DMA搬运数据时,外设小弟就会通过请求线,发送DMA请求,然后DMA就会获得总线控制权,访问并转运数据,整个过程不需要CPU的参与,剩下来的时间,CPU可以干其他事情,这就是DMA的用途。

4、STM32引脚定义

stm32,STM32学习,stm32,嵌入式硬件,单片机

stm32,STM32学习,stm32,嵌入式硬件,单片机

(1)表格介绍

标红色的是电源相关的引脚,标蓝色的是最小系统相关的引脚,标绿色的是IO口、功能口。

加粗字体的是指优先使用的引脚,没有加粗的IO口,可能需要进行配置或者兼具其他功能。

类型:S代表电源,I代表输入、O代表输出,IO代表输入输出;

IO口电平代表IO口所能容忍的电压,FT表示能容忍5V电压,没有FT的,就只能容忍3.3V电压;

主功能就是上电后默认的功能,一般和引脚名称相同,如果不同的话,引脚的实际功能是主功能而不是引脚名称的功能;

默认复用功能是IO口上同时连接的外设功能引脚,配置IO口的时候,可以选择是通用IO口还是复用功能;

重定义功能作用是,如果有两个功能同时复用在了一个IO口上,并且确实需要这两个功能,可以把其中一个复用功能重映射到其他端口上,前提是这个重定义功能的表里有对应的端口。

(2)引脚介绍

(1)VBAT:备用电池供电引脚,这个引脚可以接一个3V的电池,当系统电源断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源。

(2)IO口-侵入检测-RTC:
1.IO口可以根据程序输出或读取高低电平;
2.侵入检测可以用来做安全保障的功能,比如你的产品安全性比较高,可以在外壳加一些防拆的触点,然后接上电路到这个引脚上,若有人强行拆开设备,触电就会断开,这个引脚的电平变化就会触发STM32的侵入信号,然后就会清空数据来保证安全;
3.RTC的引脚可以用来输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲。

(3、4)IO口-接32.768KHz的RTC晶振。

(5、6)系统的主晶振:一般是8MHz,芯片内部有锁相环电路,可以对8MHz的频率进行倍频,最终产生72MHz的频率,作为系统的主时钟。

(7)NRST:系统复位引脚,N代表它是低电平复位的。

(8、9)内部模拟部分的电源,比如ADC、RC振荡器等,
VSS是负极,接GND,VDD是正极,接3.3V。

(10~19)都是IO口,其中PA0(10)兼具了WKUP的功能,这个可以用于唤醒处于待机模式的STM32。

(20)IO口-BOOT1引脚:BOOT引脚是用来配置启动模式。

(21、22)IO口

(23、24、35、36、47、48)VSS_1、2、3和VDD_1、2、3都是系统的主电源口,因为STM32内部采用了分区供电的方式,所有供电口会比较多,在使用时,VSS是负极,接GND,VDD是正极,接3.3V。

(25~33)都是IO口

(34、37~40)都是IO口或者调试端口,这些引脚默认的主功能是调试端口,调试端口就是用来调试程序和下载程序的。
STM32支持SWD和JTAG两种调试方式,SWD需要两根线,分别是SWDIO(34)和SWCLK(37);JTAG需要5根线,分别是JTMS(34)、JTCK(37)、JTDI(38)、JTDO(39)、NJTRST(40)。
江科大视频教程使用的是STLINK来下载调试程序,STLINK用的是SWD的方式,所以只需要占用PA13(34)和PA14(37)这两个IO口。在使用SWD的调试方式时,JTAG调试方式的其他引脚可以切换为普通IO口使用,但需要在程序中进行配置,不配置引脚默认的主功能是调试端口。

(41~43)IO口

(44)BOOT0:和BOOT1一样,也是用来做启动配置的。

(45~46)IO口

5、STM32启动配置

stm32,STM32学习,stm32,嵌入式硬件,单片机

启动配置:指程序开始运行的位置,一般情况下,程序都是在Flash程序存储器开始执行。

当BOOT0=0,无论BOOT1接什么,启动模式都是主闪存存储器的模式,也就是正常执行Flash闪存里面的程序,这个模式是最常用的模式,一般情况下都是这个模式。

当BOOT0=1,BOOT1=0,为1即接3.3V电源正极,启动模式为系统存储器,即系统存储器被选为启动模式,这个模式就是用来做串口下载程序用的。

当BOOT0=1,BOOT1=1,配置的启动模式是内置SRAM启动,这个模式主要用来进行程序调试。

6、STM32最小系统电路

stm32,STM32学习,stm32,嵌入式硬件,单片机

一般来说,单片机只有一个芯片是无法正常工作的,因此我们需要为单片机连接最基本的电路,这些最基本的电路就叫做最小系统电路。

STM32及供电:3个分区供电的主电源和左边模拟部分电源都连接了供电引脚,在3.3V和GND之间,一般会连接一个滤波电容,这个电容可以保证供电电压的稳定。
引脚1号VBAT是接备用电池的,可以选择一个3V的纽扣电池,正极接VBAT,负极接GND,备用电池是给RTC和备份寄存器服务的,如果不需要这些功能,就没必要接备份电池。

晶振部分电路:这里接了一个8MHz的主时钟晶振,STM32的主晶振一般都是8MHz,8MHz经过内部锁相环倍频,得到72MHz的主频,晶振上面的两根引脚分别通过两个网络标号,接到STM32的5、6号引脚,另外还需要接两个20pF的电容,作为启震电容,电容的另一端接地即可。
如果需要RTC功能,需要另外接一个32.768KHz的晶振,电路和这个一样,接在3、4号引脚上,上面的OSC32就是32.768KHz的意思,为什么采用32.768KHz呢?是因为32768是2的15次方,内部RTC电路经过2的15次方分频,就可以生成1秒的时间信号。

复位电路:由一个10k的电阻和0.1uF的电容组成,用来给单片机提供复位信号,中间的NRST接STM32的7号引脚,NRST是低电平复位,当这个复位电路在上电的瞬间,电容是没有电的,电源通过电阻开始向电容充电,并且此时电容呈现的是短路状态,NRST就会产生低电平,当电容逐渐充满电时,电容就相当于断路,此时NRST就会被R1上拉为高电平,上电瞬间的波形就是先低电平,然后逐渐高电平,这个低电平就可以提供STM32的上电复位信号。
电容的左边还并联了一个按键K1,这个可以提供一个手动复位的功能,当我们按下按键时,电容被放电,并且NRST引脚也通过按键被直接接地了,这就相当于手动产生了低电平复位信号;按键松手后,NRST又回归高电平,此时单片机就从复位状态转为工作状态。

启动配置:H1相当于开关的作用,拨动这个开关,就可以让BOOT引脚选择接3.3V还是GND。

stm32,STM32学习,stm32,嵌入式硬件,单片机

在最小系统板上,使用的是跳线帽来充当开关的功能,当跳线帽插在左边两个引脚时(蓝线所指两个引脚),就相当于接地,插在右边两个引脚(红线所指两个引脚),就相当于接3.3V,这样就可配置BOOT的高低电平了。

下载端口:如果是用STLINK下载程序,需要把SWDIO和SWCLK这两个引脚引出来方便接线,另外再把3.3V和GND引出来。

7、STM32最小系统板硬件介绍

stm32,STM32学习,stm32,嵌入式硬件,单片机文章来源地址https://www.toymoban.com/news/detail-857991.html

到了这里,关于STM32简介(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32毕设分享 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(71)
  • 嵌入式项目分享 stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(133)
  • 嵌入式STM32 单片机 GPIO 的工作原理详解

    STM32的 GPIO 介绍 GPIO 是通用输入/输出端口的简称,是 STM32 可控制的引脚。GPIO 的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 以 STM32F103ZET6 芯片为例子,该芯片共有 144 脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为

    2024年02月20日
    浏览(48)
  • stm32毕设分享 stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(54)
  • stm32毕设分享 基于stm32的便携用电功率统计系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(58)
  • 嵌入式毕设分享 基于单片机的智能音响设计与实现 -物联网 嵌入式 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月22日
    浏览(58)
  • 嵌入式毕设分享 基于单片机的风速测量系统 - 物联网 嵌入式 stm32 arduino

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(64)
  • 嵌入式硬件——stm32F103C8T6

    如下图:    处理器核心:STM32F103C8T6内置了ARM Cortex-M3处理器,这是一种高性能、低功耗的32位RISC处理器,适用于嵌入式系统。 时钟速度:它可以工作在不同的时钟速度,最高主频可达72 MHz。 存储器:包括64KB的Flash程序存储器用于存储程序代码,以及20KB的SRAM用于存储数据和

    2024年02月05日
    浏览(59)
  • stm32毕设分享 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月21日
    浏览(81)
  • stm32毕设分享 stm32单片机酒精浓度酒驾检测系统 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包