STM32 MCU结构简述

首先STM32 MCU是什么?

其实他就是一个微控制单元(MicroController Unit)

MCU架构 dcu架构 mcu架构有哪些_地址总线

NVIC

嵌套向量中断控制器(Nested Vectored Interrupt Controller)(优先级)

作用

用于为中断分组,从而分配抢占优先级和响应优先级

SysTick

系统节拍定时器(system TIck )

作用

具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都可以由这个定时器获得一定的时间间隔

Flash

存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器

作用

STM32的Flash可以用于存储代码,也可以用于存储数据。还用来装芯片配置、芯片ID、自举程序等等

FSMC

可变静态存储控制器(Flexible Static Memory Controller)

作用

是STM32系列采用的一种新型的存储器扩展技术。用来驱动外部总线的。将AHB传输信号转换到适到的外设协议;满足访问外部设备对时序的要求

SRAM

静态随机存储器(Static Random-Access Memory)

作用

利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。主要用于系统内存储器,容量大,不需要断电后仍保存数据的器件

SDIO

SD为(Secure Digital Memory Card,) 即安全数码卡,IO(Input Output)输入/输出

作用

SDIO这个模块主要是为了读写SD存储卡

ICode

ICode总线

作用

该总线将Cortex™-M3 内核的指令总线与闪存指令接口相连接,指令预取在此总线上完成

DCode

DCode总线

作用

该总线将Cortex™-M3 内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)

System

系统总线

作用

此总线连接Cortex™-M3 内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问

AHB

高级高性能总线(Advanced High performance Bus)

构造

AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应

作用

AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接

APB

外围总线(Advanced Peripheral Bus)

作用

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号

APB1

APB2

APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM

APB2负责AD,I/O,高级TIM,串口1

  1. APB2总线是什么?
      APB2总线就是指特定的一段地址,如:0x4001 0000—XXXX
  2. APB1总线这些是什么
      计算机硬件设备有传输数据和地址的线路,有的计算机数据线和地址线是公用的,就要采用分时处理的方式,有的计算机实际地址线路数少于集成电路的地址线路数,就要采用分段寻址的方式。
      因为要共用,所以叫总线(bus)有数据总线和地址总线。
    总线有控制总线,数据总线和地址总线,控制总线是发送控制信号的,地址总线是传送地址信号的,CPU要访问内存,必须首先在地址总线上给出内存的地址,所谓32位的地址总线是指根CPU相连的地址线有32条,每一条可以给出两个不同的符号(0和1)那么就可以访问2的32次方的空间的内存。数据总线是传输数据的,CPU要从内存或者缓存中读取数据,必须通过数据总线进行,32位的数据总线对应的是跟CPU相连的32根数据线。一条数据线传送一个二进制数,32位数据总线一次就可以传送2个字节的数据。
      CPU中的位指的是CPU运算一次处理数据量的能力,32位CPU一次可以处理32位的数据,64位CPU一次可以处理64位的数据。
      64位CPU不一定对应64位数据总线和地址总线,如果是32位的总线,可以采取分两次传送的措施,一般总线的位数大于等于CPU的位数。

APB2

APB1

ADC、USART、GPIO、AFIO

DAC、PWR、BKP、bxCAN、USB、I2C、UART、I2S、IWDG、WWDG、RTC、RCC、ICode、DCode、System

USART

通用同步异步收发器(universal synchronous asynchronous receiver and transmitter)

作用

用于同步串行通讯,也能用于异步串行通讯。通过数据的传输来实现通信的目的

GPIO

通用输入输出接口(General Purpose Input Output)

作用

每个GPIO端口可通过软件分别配置成输入或输出

AFIO

复用功能IO(Alternate Fuction IO)

作用

复用io口

PWR

功耗控制(Power)

作用

包括功耗管理和低功耗模式选择

BKP

备份寄存器(backup)

作用

BKP中包括了42个16位的寄存器,共可保存84字节的内容,它们由VBAT的供电来维挂

bxCAN

基本控制器区域网络(Basic Extended Controller Area Network)

作用

/

I2C

集成电路总线(Inter Integrated Circuit (Bus)

作用

/

IWDG

独立看门狗(independent Windowed Watchdog)

作用

1.时钟由专用LSI提供,主频故障了也能工作。2.相对窗口看门狗时间不是很精确

WWDG

窗口看门狗(Windowed Watchdog)

作用

1.时钟由APB1经过预分频得来。2.窗口顾名思义 只有一段的时间可以对看门狗重载(喂狗)提早和太晚喂狗都会被看门狗复位

RTC

实时时钟(Real_Time Clock)

作用

为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源

RCC

复位和时钟控制(Reset Clock Controller)

作用

STM32的时钟控制器,可开启或关闭各总线的时钟,在使用各外设功能必须先开启其对应的时钟,没有这个时钟内部的各器件就不能运行

DMA

直接存储器存取(Direct Memory Access)

作用

是计算机科学中的一种内存访问技术,实现片内数据之间的高速传输。即是能够不占用cpu实现数据传输

SPI

串行同步通讯协议(Serial Peripheral Interface)

作用

由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换

TIM

定时器(Timer)

作用

包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)

A/DC

模数转换器(Analog/Digital Converter)

作用

将模拟量转换为数字量的过程称为模式(A/D)转换,完成这一转换的期间成为模数转换器(简称ADC)

作用

将数字量转换为模拟量的过程为数模(D/A)转换,完成这一转换的器件称为数模转换器(简称DAC)