STM32系统参数和结构

系列文章目录

STM32单片机系列专栏

C语言术语和结构总结专栏

文章目录

1. 基本参数

2. 片上资源(外设)

3. STM32系列命名规则

4. 系统结构

5. 引脚定义

6. 启动配置

7. 最小系统电路

8. 型号分类和缩写


1. 基本参数

STM32F103C8T6

系列:主流系列STM32F1

内核:ARM Cortex-M3

主频:72MHz

RAM:20K(SRAM)(运行内存)

ROM:64K(Flash)(程序储存器)

供电:2.0~3.6V(标准3.3V)

封装:LQFP48(48个引脚)

2. 片上资源(外设)

英文

名称

NVIC嵌套向量中断控制器嵌套向量中断控制器,负责管理和处理中断,允许动态优先级和中断嵌套。

SysTick

系统滴答定时器

系统定时器,可以用作操作系统的心跳定时器或者提供一个简单的不依赖外部定时器的延时功能。
RCC

复位和时钟控制

复位和时钟控制器,控制和管理微控制器的时钟分配,包括系统时钟、外设时钟以及时钟源的选择和配置。

GPIO

通用IO口

通用输入输出端口,用于数字信号的输入和输出。

AFIO

复用IO口

可重映射的输入输出端口,可以配置GPIO引脚以用于不同的外设功能。

EXTI

外部中断

外部中断接口,允许外部或内部事件触发中断。

TIM

定时器

定时器,用于计时、计数、产生PWM波形等功能。

ADC

模数转换器

模拟到数字转换器,将模拟信号转换为数字信号进行处

DMA

直接内存访问

直接内存访问控制器,允许外设直接读写内存,减轻CPU负担。

USART

同步/异步串口通信

通用同步/异步接收发射器,用于串行通信。

I2C

I2C通信

用于芯片间通信的串行总线。

SPI

SPI通信

串行外设接口,用于高速串行通信。

CAN

CAN通信

控制器局域网,用于汽车和工业控制中的网络通信。

USB

USB通信

通用串行总线,用于连接USB设备。

RTC

实时时钟

实时时钟,保持时间计数即使在主电源断电的情况下。

CRC

CRC校验

循环冗余校验,用于检测数据在传输或存储过程中的错误。

PWR

电源控制

电源控制外设,管理电源和睡眠模式。

BKP

备份寄存器

备份寄存器,通常用于存储关键数据,即使在微控制器断电时也会被保留。

IWDG

独立看门狗

独立看门狗定时器,用于系统恢复,防止系统挂起。

WWDG

窗口看门狗

窗口看门狗定时器,用于系统恢复,比IWDG更复杂的行为设置。

DAC

数模转换器

数字到模拟转换器,将数字信号转换为模拟信号输出。

SDIO

SD卡接口

安全数字输入输出,用于SD卡通信。

FSMC

可变静态存储控制器

灵活的静态存储器控制器,用于连接外部存储如SRAM、PSRAM、NOR/NAND内存。

USB OTG

USB主机接口

USB设备即插即用,使设备可以充当主机或设备角色。

 

3. STM32系列命名规则

 

4. 系统结构

 

对于系统结构,STM32的CPU核心基于ARM Cortex-M3架构。Icode是指令总线,Dcode是数据总线,Icode和Dcode是用来连接flash闪存的,flash中储存的就是程序,Icode用来加载程序指令,Dcode用来加载数据。system为系统总线,连接到SRAM(静态随机存取内存,用于程序的运行时数据存储)和FSMC(外部存储控制器,用于连接外部存储设备)

AHB(先进高性能总线)用于连接高速的内核和某些高速外设,通过两个桥接连接APB(先进外设总线)用于连接较低速的外设。因为AHB和APB的总线协议和总线速度,还有数据传送格式的差异,所以需要加两个桥接,来完成数据的转换和缓存。

DMA提供了高效的数据传输方式,无需CPU介入就能在内存和外设之间传输数据。

5. 引脚定义

6. 启动配置

启动模式选择表

BOOT1BOOT0启动模式说明
X0主闪存存储器代码从主闪存存储器的用户程序区域开始执行
01系统存储器代码从系统存储器开始执行,通常是用于内部的引导加载程序
11内嵌SRAM代码从内嵌SRAM开始执行
  • 主闪存存储器: 这是最常用的启动模式,用于执行用户存放在主闪存区的应用程序代码。
  • 系统存储器: 这个模式通常包含了厂商提供的引导程序,可用于系统的固件升级,也可以作为使用串口下载。
  • 内嵌SRAM: 这个模式允许直接从SRAM执行代码,可以用于开发阶段的调试。

当系统复位时,系统时钟会在4个时钟周期内选择BOOT1和BOOT0引脚的配置来确定启动模式。如果需要在系统运行中动态修改启动模式,就需要改变这两个引脚的状态。

“X”代表“不关心”的状态,意味着在BOOT0为0的情况下,BOOT1的状态不会影响启动模式的选择,因为不管BOOT1是0还是1,系统都会从主闪存启动。

7. 最小系统电路

仅靠一个单片机芯片,无法实现功能,所以需要设计一个确保微控制器能够正常上电并运行的最基础电路配置。

晶振电路
首先一个8mhzd主时钟晶振,stm32的主晶振一般都是8mhz,8mhz经过内部锁循环倍频,得到72mhz的主频。两个引脚连接到stm32的5,6号引脚,另外还需要接两个20pf的电容,作为启震电容,电容另一端接地。

复位电路

NRST: 微控制器的复位引脚,用于重启微控制器,使其从初始状态开始运行。它是低电平复位,复位电路上电的瞬间,电容没有电,电源通过电阻向电容充电,此时电容呈现短路状态,所以nrst就会产生低电平,电容充满电后电容相当于断路,这时nrst上拉为高电平。

R1: 上拉电阻,值为10kΩ。它确保在没有外部复位信号的情况下,NRST引脚保持高电平状态,微控制器不会进入复位状态。

C3: 与NRST引脚相连的去耦电容,0.1uF,它帮助滤除由外部噪声引起的误触发复位事件,确保复位行为是确定进行的。

调试接口

用于串行线调试(SWD)接口的引脚,用于程序调试。

8. 型号分类和缩写

这部分也是建立工程文件时启动文件的选择方式。

缩写(启动文件)类型Flash容量型号
LD_VL小容量产品线低密度16~32KSTM32F100
MD_VL中容量产品线低密度64~128KSTM32F100
HD_VL大容量产品线低密度256~512KSTM32F101/102/103
LD小容量产品16~32KSTM32F101/102/103
MD中容量产品64~128K

STM32F101/102/103

HD大容量产品 ​​

256~512K

STM32F101/102/103

XL

加大容量产品

大于512K

STM32F101/102/103

CL

互联型产品

-

STM32F105/107

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot+MyBatis-Plus+jsqlparser实现多租户功能

前言 多租户技术(multi-tenancy technology)是一种软件架构技术,它允许在单个系统实例上为多个用户或组织提供服务,同时确保这些用户之间数据的隔离性。在多租户架构中,每个租户(可以是个人用户、企业、组…

预见预判|AIRIOT智慧交通管理解决方案

随着机动车保有量的逐步增加,城市交通压力日益增大。同时,新能源车辆的快速发展虽然带来了环保效益,但也因不限号政策而进一步加剧了道路拥堵问题。此外,各类赛事和重大活动的交通管制措施也时常导致交通状况复杂多变。面对这些挑…

便携式应急指挥箱规格参数

概况: 微缩型的无线视频音频传输的机动挥所。体积小、重量轻、公配电方便、携带便携、功能齐全。可进行单兵作战,通过此无线音频视频传输的指挥箱能完成现场图像、语音、数据的采集等功能,可以通过5G/4G/WIFI等多种无线网络完成传输的需求,或…

Linux基础——Linux开发工具(gcc/g++,gdb)

前言:在上一篇我们简单介绍了yum,vim的一些常用的指令和模式,现在让我们来进一步了解其他的Linux环境基础开发工具gcc/g,gdb。 如果对前面yum和vim有什么不懂的建议回顾去回顾上期知识!!! Linu…

html表格导出为word文档,导出的部分表格内无法填写文字

导出技术实现:fileSaver.jshtml-docx-js 1.npm安装 npm install --save html-docx-js npm install --save file-saver 2.页面引入 import htmlDocx from html-docx-js/dist/html-docx; import saveAs from file-saver;components: {htmlDocx,saverFile, }, 3.页…

神经网络的激活函数

目录 神经网络 激活函数 sigmoid 激活函数 tanh 激活函数 backward方法 relu 激活函数 softmax 激活函数 神经网络 人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN)&#xff0c…

Netty 应用与原理

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 Java IO 模型 本篇示例代码仓库:learn-netty 基础概念 在 I/O 操作中有这么两组概念,其中同步/异步 要和线程中的同步线程/异步线程要区分开,这里指的是同步IO / 异步IO…

ssm智能停车场管理系统

视频演示效果: SSMvue智能停车场 摘 要 本论文主要论述了如何使用JAVA语言开发一个智能停车场管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述智能停车…

新兴游戏引擎Godot vs. 主流游戏引擎Unity和虚幻引擎,以及版本控制工具Perforce Helix Core如何与其高效集成

游戏行业出现一个新生事物——Godot,一个免费且开源的2D和3D游戏引擎。曾经由Unity和虚幻引擎(Unreal Engine)等巨头主导的领域如今迎来了竞争对手。随着最近“独特”定价模式的变化,越来越多的独立开发者和小型开发团队倾向于选择…

Vitis HLS 学习笔记--Syn Report解读(1)

目录 1. 介绍 2. 示例一 2.1 HLS 代码 2.2 Report 解读 2.2.1 General Information 2.2.2 Timing Estimate 2.2.3 Performance & Resource Estimates 2.2.4 HW interfaces 2.2.4.1 硬件接口报告 2.2.4.2 导出至 Vivado 中的 IP 2.2.4.3 Port-Level Protocols 端…

图形化编程要怎么做

0. 简介 Scratch其实应该算得上最早做图形化编程的工程了。Scratch 是麻省理工学院的“终身幼儿园团队”在 2007 年 [5]发布的一种图形化编程工具,主要面对全球青少年开放,是图形化编程工具当中最广为人知的一种,所有人都可以在软件中创作自…

排序算法-计数排序

一、计数排序 这种排序算法 是利用数组下标来确定元素的正确位置的。 如果数组中有20个随机整数,取值范围为0~10,要求用最快的速度把这20个整数从小到大进行排序。 很大的情况下,它的性能甚至快过那些时间复杂度为O(nlogn)的排序。…

【React】Sigma.js框架网络图-入门篇(2)

通过《【React】Sigma.js框架网络图-入门篇》有了基本认识 由于上一篇直接给出了基本代码示例,可能看着比较复杂也不知道是啥意思; 今天从理论入手重新认识下! 一、基本认识 首先,我们先了解下基础术语: 图(Graph)&…

如何实现直播声卡反向给手机充电功能呢?

在数字化时代的浪潮中,声卡作为多媒体系统的核心组件,扮演着声波与数字信号相互转换的关键角色。它不仅能够将来自各类音源的原始声音信号转换为数字信号,进而输出到各类声响设备,更能够通过音乐设备数字接口(MIDI)发出合成乐器的…

Eudic欧路词典for Mac:专业英语学习工具

Eudic欧路词典for Mac,作为专为Mac用户设计的英语学习工具,凭借其简捷高效的特点,成为众多英语学习者不可或缺的助手。 Eudic欧路词典for Mac v4.6.4激活版下载 这款词典整合了多个权威词典资源,如牛津、柯林斯、朗文等&#xff0…

​「Python大数据」词频数据渲染词云图导出HTML

前言 本文主要介绍通过python实现数据聚类、脚本开发、办公自动化。词频数据渲染词云图导出HTML。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词词频数据渲染词云图将可视化结果保存到HTML文件中二、具体产出 三、执行脚本 python wordCloud.p…

mysql中日期函数now()和sysdate()的区别

说明: 在mysql数据库中,now()、sysdate() 都是获取系统当前日期时间 区别: 示例脚本: select sleep(2),now(),sysdate() from dual; 输出: 小结: 1、 now()和sysdate()都可以获取系统当前日期时间 2、区别…

将游戏界面与注册/登录界面连接到一起

一、 导包 在注册页面中导入一个import subprocess包 二、 使用代码将其连接到一起 在循环中加入下面这一行代码,用来实现效果 subprocess.run(["python", "game代码.py"]

Faust勒索病毒:了解变种faust,以及如何保护您的数据

导言: 近年来,网络安全问题日益严峻,其中勒索病毒成为了一种日益猖獗的威胁。在众多勒索病毒中,.faust勒索病毒以其高度的隐秘性和破坏性引起了广泛关注。本文91数据恢复将深入剖析.faust勒索病毒的威胁特点,并提出相…

实现SpringMVC底层机制(一)

文章目录 1.环境配置1.创建maven项目2.创建文件目录3.导入jar包 2.开发核心控制器文件目录1.流程图2.编写核心控制器SunDispatcherServlet.java3.类路径下编写spring配置文件sunspringmvc.xml4.配置中央控制器web.xml5.配置tomcat,完成测试1.配置发布方式2.配置热加…