STM32单片机架构
单片机的大脑 —— CPU中央处理器Cortex-M3
首先问一个问题,“1+1等于几?”
很明显,你一定能知道这个答案——2
那么现在,我们来思考这个答案作为你这个人类来说是怎么处理的?
-
第一是看到这个问题(眼睛)
-
第二信号传输到大脑进行存储记录(你总不能看一眼就忘了吧)(大脑)
-
第三大脑进行运算处理(再简单你也得算吧)(大脑)
-
第四说出答案“2”(嘴巴)
很简单吧,好现在我告诉你,单片机也是这么处理的!
-
输入设备
-
存储器
-
运算器,控制器
-
输出设备
其中运算器和控制器一起构成了CPU,也就是单片机的内核;存储器就像是你大脑的记忆宫殿,你看到的问题先记录存储在那后,才能调用出来进入CPU中的寄存器(寄存器就是CPU大哥手下的能人,专门搞逻辑运算)再进行解决;你最常听到的I/O口(input/output)就是输入输出设备
所谓单片机就是微型计算机处理器,而上述部分就可以构成计算机结构了,因为这就是著名的冯诺依曼计算机架构
正如信号从眼睛到大脑再到嘴完成一系列的动作得经过神经网络传输一样,信号从输入设备到存储器到CPU再到输出设备也是需要通道的,这些通道就被称为总线、桥梁,它们有不同的名称(比如Icode、Dcode、AHB、APB、DMA等)
我们可以再把这个过程比作从一个城市出发(输入设备)到另一个城市(输出设备),那么这些总线就是城市之间的公路,那么名称不同就是公路不同,比如一级公路、二级公路、高速公路等,自然传输速度也会不同
CRC是什么
先来看定义:
**循环冗余校验技术(CRC)**主要应用于核实数据传输或者数据存储的正确性和完整性。
所以很明显,CRC就是用来检验,保证一条公路上的车辆(数据)都是没有问题,不存在超载等违规行为的,这就像是对每辆在公路上的车进行查验一样
数据从传输线上下来进入寄存器,CRC对它进行检验,完了之后再放回线上
PWR(电源控制)的故事
单片机电源有三类:
主电源(VDD)
备用电源(VBAT)
AD/DA 供电电源
两类复位:
上电复位
掉电复位
三种工作模式
睡眠模式:内核停止,外设(时钟)仍在工作
停止模式:所有时钟停止工作
待机模式:1.8V电源关闭(以STM32工作电源为例)
BKP备份寄存器的故事
当VDD电源被切断,他们仍然由VBAT维持供电
BKP的两种功能:
侵入检测
RTC校准
通过控制寄存器达到对应工作状态
单片机的心脏 —— “时钟”
三大复位
系统复位
电源复位
备份区域复位
时钟
系统时钟(SYSCLK)的时钟源
-
HSE高速外部时钟
-
HSI高速内部时钟
-
PLL时钟(起倍频作用)
三种时钟源被用来驱动时钟
备份时钟源(RTCCLK)
- LSE低速外部时钟
- LSI低俗内部时钟
- HSE时钟
三种时钟源被用来驱动时钟
时钟寄存器(RCC)
- RCC_CR 时钟控制寄存器
- RCC_CFGR 时钟配置寄存器
- RCC_CIR 时钟中断寄存器
- RCC_APB2/APB1RSTR APB外设复位寄存器
- RCC_AHBRSTR AHB外设复位寄存器
- RCC_AHBENR AHB外设时钟使能寄存器
- RCC_APB1/APB2ENR APB外设时钟使能寄存器
- RCC_BDCR 备份控制寄存器
- RCC_CSR 控制/状态寄存器(控制复位)
寄存器的主要类型
- 配置寄存器
- 数据寄存器
- 置位/复位寄存器
- 锁定寄存器