【STM32】STM32单片机结构及部件原理

2023-10-26

STM32是目前比较常见并且多功能的单片机,要想学习STM32,首先要去了解它的基本构成部分以及各部分的原理。

单片机型号:正点原子STM32F103ZET6

目录

STM32内部结构总览图:

2.内部结构解析


STM32内部结构总览图:

2.内部结构解析

        1.内核:STM32F103ZET6采用的是ARM Cortex-M3处理器,内核可以理解为单片机处理器中负责处理数据的电路,类似于人的大脑,是数据处理中心。

        

        2.IO口:IO口是输出、输入口,单片机的IO口是双向的,既可作输入也可作输出·。而STM32F103ZET6有144个引脚,其中有112个IO口,一般IO口都能耐5V,即外部连接的外设输入5V电压不会对IO口有损害。并且支持调试,SWD和JTAG调试。

        3.存储器:STM32中存储器可以简单理解为信息的“旅馆”,供信息的保存,其中STM32存储器有两大类:

        (1).数据存储器:存放程序运行的中间处理数据的,可随程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。对应单片机中的RAM(Random Access Memory),即可随机读写的存储器。

        (2).程序存储器:存放是系统工作的应用程序及一些不需改变的数据常数的,程序写入后单片机只能读取不能改写。且断电不丢失数据。对应着单片机中的ROM(Read Only Memory),即只读存储器。

        

而ROM和RAM可与计算机的硬盘和内存类比记忆,下图是存储器的分类,其中一些人也把FLASH 存储器(又称为闪存)列入ROM中。

而STM32F103ZET6容量是:512K FLASH  64K SRAM

        4.DMA:DMA(Direct Memory Access,直接存储器访问),它允许不同速度的硬件装置来沟通,当处理高速数据时,它可以减速CPU。

它有两个控制器,DMA1DMA2,其中DMA1有7个通道,DMA2有5个通道,通道可以连外设。

        5.SDIO:SDIO 顾名思义,就是 SD 的 I/O 接口(interface)的意思,不过这样解释可能还有点抽象。更具体的说明,SD 本来是记忆卡的标准,但是现在也可以把 SD 拿来插上一些外围接口使用,这样的技术便是 SDIO。

        6.FSMC:STM32系列采用的一种新型的存储器扩展技术,可连接外部存储,如SRAM。

        

        7.NVIC:NVIC,提供中断控制器,用于总体管理异常。

        8.总线矩阵

        9.复位和时钟控制单元:

首先是复位的概念:单片机复位是单片机上的复位电路的复位操作,作用是使电路恢复到起始状态。复位一般有三种:电源复位系统复位备份区域复位

  1. 系统复位:

除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器以外,系统复位将复位所有寄存器至它们的复位状态。

  1. 电源复位:

电源复位将复位除了备份区域外的所有寄存器

  1. 备份区域复位;

备份区域拥有两个专门的复位,它们只影响备份区域

而下图这个部件是控制系统复位和时钟系统的单元,它的稳定关乎系统的工作稳定。

10.复位,电源控制,晶振区域:

11.高频,低频外设连接桥APB2,APB1:

连接不同外设与总线的桥梁

APB1—低频外设

APB2—高频外设

12.外设:

外设指能独立完成一定功能的一块电路。它的作用就像一个公司的某个部门一样,他们能完成一定的功能,但是要受总经理(CPU)的控制。由下图可知STM32有丰富的外设

系统工作原理CPU要进行指令执行、数据处理、外设控制,首先要做的就是从ROM中取出指令,然后执行指令,如果指令的执行有中间变量,就要在RAM中保存,执行完后要去控制外设来完成特定的功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【STM32】STM32单片机结构及部件原理 的相关文章

  • GoFrame系列:6、Swagger使用总结

    GoFrame系列 6 Swagger使用总结 文章目录 GoFrame系列 6 Swagger使用总结 1 swagger简述 2 GF框架使用swagger流程 3 示例 3 1 GET示例 3 2 POST示例 3 3 其它 4 最后
  • 各算法/协议知识理论笔记(fpga)

    一 利用fifo对3行数据求和 需要2个fifo保存第0行和第1行的数据 如下图 比如有20行数据 则将一行一行的输给fifo2 fifo2出来的数据再给fifo1 当fifo和fifo1有数据时 在准备给 fifo2输入新的一行数据时 同
  • python数据分析案例2

    load datasets import pandas as pd df 08 pd read csv all alpha 08 csv df 18 pd read csv all alpha 18 csv view 2008 datase
  • HTTP数据包

    HTTP协议和WEB应用 Web应用通常是指基于http的应用程序 HTTP协议简介 HTTP协议是HyperTextTransferProtocol 超文本传输协议 的缩写是用于 从万维网服务器传输超文本到本地浏览器的传 送协议 HTTP

随机推荐

  • 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖

    Unix Linux网络日志分析与流量监控 获2015年度最受读者喜爱的IT图书奖 刊登在 中华读书报 2015年01月28日 19 版 我的2015年新作刊登在 中华读书报 2015年01月28日 19 版 原文下载 http epape
  • Matlab中 pdist 函数详解(各种距离的生成)

    一 pdist Pairwise distance between pairs of objects Syntax D pdist X D pdist X distance Description D pdist X 计算 X 中各对行向量
  • [iOS开发]隐藏Tabbar顶部黑线

    define kIOS VERSION UIDevice currentDevice systemVersion floatValue define IOS8 OR LATER kIOS VERSION gt 8 0 define IOS9
  • 电力系统直流潮流分析【N-1】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文档讲解 1 概述 该程序接受一个感受矩阵 B NxN
  • ensp解决virtualbox不兼容问题

    virtualbox版本5 2 44 这个版本很讲究 太高太低都不行 windows版本为20H2亲测有效 防火墙默认全关 另一台windows配置 系统型号 virtualbox型号 windows20h2 5 2 44 windows1
  • vite的依赖预构建

    一 什么是vite依赖预构建 依赖预构建是指 Vite 在启动时会对项目中的依赖进行分析并将其预构建成浏览器可识别的形式 这样在浏览器中加载组件时就无需再进行模块的编译和构建 大大提高了应用程序的运行速度 二 依赖预构建的目的 Common
  • BEVDet视觉检测方案

    github资源 GitHub HuangJunJie2017 BEVDet Official code base of the BEVDet series 源码解读 BEVDet系列源码解读 知乎
  • ansible报错:Failed to connect to the host via ssh: Permission denied

    原因 没有在ansible管理节点 即安装ansible的节点 上添加目标节点 即需要管理的节点 的ssh认证信息 解决办法 1 在管理节点生成公钥 ssh keygen 路径为 ssh id rsa pub 2 添加目标节点的SSH认证信
  • Findbugs中常见错误的分类和原因分析

    Findbugs 中的常用的bug pattern配置 Bug pattern description Bad practice 不好的习惯 Correctness 代码的正确性 Dodgy 小问题 Malicious code vulne
  • Linux项目实训一

    1 登录进入系统 修改个人密码 passwd 2 使用简单命令 date cal who echo clear 等 了解 linux 命令格式 date命令 再在屏幕上显示或设置系统的日期和时间 如果没有选项和参数 那么将直接显示系统当前时
  • Python脚本和图片相互转换

    场景说明 最近模拟病毒的时候 导演说不能有下载远程图片和带本地图片的现象 不然演示环境容易影响演示效果 于是要考虑python脚本生成图片 接着 需要考虑图片怎么融合进去 考虑到在pyinstaller打包的时候放进去 但是发现除了ico文
  • Qt中快捷键& 的使用方法

    Qt中为组件添加快捷方式使用 键 具体用法如下 include
  • debian系统配置ip地址

    在Debian中网卡的设置可以通过 etc network interfaces文件来进行 具体可分为三种不同的配置方式 DHCP自动获取 静态分配IP地址和PPPoE宽带拨号 具体设置如下 在进行配置之前 首先进入 etc network
  • Python Excel 操作 Openpyxl 模块笔记

    xlsx 是 Microsoft Excel 使用的开放 XML 电子表格文件格式的文件扩展名 xlsm 文件支持宏 xlsx 是专有的二进制格式 而 xlsx 是基于 Office Open XML 格式的 Excel 文件处理 1 打开
  • Pycharm结合Git、GitHub配置与其常用操作

    文章目录 一 Pycharm配置Git 1 Pycharm Git安装准备 2 Pycharm配置Git路径 二 Pycharm配置GitHub 1 准备GitHub账号 2 HTTP代理设置 3 连接GitHub账号 1 账号登录 Use
  • python字典键值对的值可以重复吗_当字典键相同时,为什么Python只保留最后一个键值对?...

    假设我创建了一个字典a dictionary 其中两个键值对具有相同的键 In 1 a dictionary key 5 another key 10 key 50 In 2 a dictionary Out 2 key 50 anothe
  • SqliLabs Less25-25a

    第二十五关 GET类型基于单引号 and or过滤 你所有的and or都是我们的 的错误 1 使用union select 1 2 3 尽量避过and or http 127 0 0 1 500 Less 25 id 1 union se
  • 机器学习笔记-多分类学习,类别不平衡,决策树

    读书笔记 多分类学习 基本思想 拆解法 将多分类任务拆解为若干个二分类任务求解 先对这些问题经拆分 为拆分出的每个二分类任务训练一个分类器 测试时 对这些分类器的预测结果进行集成以获得最终的多分类结果 拆分策略 one vs one 一对一
  • 【教程】TestComplete测试桌面应用程序教程(六)

    TestComplete是一款具有人工智能的自动UI测试工具 利用自动化测试工具和人工智能支持的混合对象识别引擎 轻松检测和测试每个桌面 Web和移动应用程序 其中 TestComplete支持测试使用C C VB NET Java Del
  • 【STM32】STM32单片机结构及部件原理

    STM32是目前比较常见并且多功能的单片机 要想学习STM32 首先要去了解它的基本构成部分以及各部分的原理 单片机型号 正点原子STM32F103ZET6 目录 STM32内部结构总览图 2 内部结构解析 STM32内部结构总览图 2 内