STM32内部是怎么工作的

STM32是怎么工作的

1 从孩子他妈说起

现在的电子信息系统绝大部分都是智能电子信息系统,所谓智能,是指系统的硬件设计当中,有CPU(central processing unit),以CPU为核心设计控制器,控制系统的运行。

同时,对于电子信息系统而言,其需要感知外部物理环境。

可以"感知外部环境"的装备,名曰:传感器,即sensor。

让我们学究一点,朋友们,去查查sensor的定义:

光照强度、温度、压力、速度、角速度,等等,都属于物理量,

传感器就是这个"系统"的眼睛,

"系统"的大脑是计算机,大脑的核心是"CPU",也就也是中央处理单元。

然而,对于CPU而言,它只能识别高低电平,我们将低电平记作0,高电平记作1。

因此,传感器需要将物理量转换为电量:

但是,传感器输出的电量通常是毫伏(mV)级 的,我们需要将其通过放大器放大到伏特(V)级 。之后,我们要将放大后的信号,经过一定的滤波电路进行滤波。这个滤波电路可以是有源滤波,可以是无源滤波,这些都是模拟电子电路的知识点,同学们可以去自行复习。

我们将放大和滤波电路,称之为 "前端调理电路"

注意:上图中,我们在调理电路的输出端,加了测试点,这里的意思是,在画PCB印制电路板时,在调理电路的输出端,要留出一定的空间,方便测试,也就是能够放下示波器的夹子。

由于调理电路出来的是模拟连续信号,而CPU只能处理数字信号,因此,需要设计一个模块,将模拟信号转换为数字信号,也就是 Conversion of analog signals to digital signals ,我们可以简记为AD转换。A就是analog,D就是digital。

AD转换模块,有两个重要指标:转换时间、转换精度 。要根据设计需要进行选择合适AD转换模块。

AD转换模块输出的数字量,可以送到CPU,如下:

根据实际需要,前端调理电路AD转换电路 ,必须要受CPU的控制,CPU要告诉AD转换电路 什么时候开始转换数据,同时要调整前端调理电路 的放大倍数等关键参数。

因此,框架图进一步晚上如下:

AD 转换电路,将数据输送给CPU后,CPU经过处理,输出的控制信号也是数字信号,因此需要将数字信号转换为模拟连续信号,即 Convert digital signals into analog continuous signals,记作,DA转换电路。

DA转换电路 输出的信号,还要再进行放大,放大后的信号,还要滤波,这个部分,我们称之为后端调理电路

大部分时候,CPU输出的数据,要显示出来,如下:

上图,就是电子信息系统的基本原理。

2 早期计算机的组成

2.1 五大元件

那CPU里面是什么呢?

要把这件事说清楚,还是从电子元器件讲起......

(1)第一个出场的是电容元件

时间可以追溯到1745年,清乾隆十年,英国 or 德国,说法不一,具体可以看看这个文章,谁发明了电容

(2)第二个出场的是二极管

谁发明的?同学们去看这篇文章,WHO INVENTED THE DIODE 谁发明了二极管。大家记住,时间+地点即可,时间:1873年,英国,那一年是 清朝 同治十二年。到今天大约是150年。

(3)第三个出场的是电阻元件

1885年英国C.布雷德利发明模压碳质实芯电阻器;

(4)第四个出场的是电感

术语"电感"是1886年由奥利弗·赫维赛德命名[1]。通常自感是以字母"L"标记,以纪念物理学家海因里希·冷次[2][3]。互感是以字母"M"标记,是其英文(Mutual Inductance)的第一个字母。采用国际单位制,电感的单位是亨利(Henry),标记为"H",以纪念科学家约瑟·亨利。与其他物理量的关系:一亨利等同一韦伯除以一安培(1 H = 1 Wb/A)。

(5)第五个出场的是三极管

1906年,美国,李·德富雷斯特。三极管简介,发明了第一个电子放大器。到了20世纪60年代,MOS诞生了,详情见MOS的历史

2.2 早期的计算机组成

朋友们,想象一下,时空穿越,我们回到了上世纪中叶。我们手里的东西就是上面说的电子元器件,现在让你来制造一个计算机,或者电脑,你会怎么办?

首先,这个"电脑"能思维,具体来说,就是运算。预算包括什么呢?加减乘除算数运算,也就是 arithmetic operation。还要会什么呢?与、或、非、异或等逻辑运算,也就是 Logical operation。因此,我们首先要设计既能算数运算,又能逻辑运算的算术逻辑单元 arithmetic Logical Unit, ALU 。(话说,1945年数学家冯诺伊曼在一篇介绍被称为EDVAC的一种新型电脑的基础构成的报告中提出ALU的概念。)

如何设计ALU,这基本是数电的知识。

同学们,其实,ALU的作用就是一个算盘,那么问题来了,算盘听谁指挥呢? --控制器

我们需要再设计一部分控制ALU的电路,这部分电路就叫控制器

由控制器去控制ALU何时去运算,以及如何运算。

自然,我们就会想到,ALU对哪些数据做运算呢?或者说,运算的数据从哪来呢?

需要运算的数据在一个地方存着,这个地方就叫存储器 。 由控制器,控制存储器,将数据输送到ALU。

ALU运算后的数据,也可以存在存储器,所以:

同时,也有可能,ALU要处理 的数据来自由外部,由外部的输入设备输送数据给ALU,同时,输入设备也可以将数据传送到存储器。

输入是input,输出是output,我们将输入输出设备统一称为I/O设备。也就是说对于输入设备,称之为 I/O设备,对于输出设备,也称之为 I/O设备,而不是再去说 I 设备或 O 设备。

让我们再加上输出设备到框架图,不过多解释了。

好了,到这里,计算机早期的基本架构已经构建完成了。五大部分:ALU、控制器、存储器、输入设备和输出设备。

在之初,要设计这样的计算机,是很麻烦的。有的部件用电子管设计,有的用晶体管设计,而对于存储器,需要自己去绕磁芯。

经过这样设计的计算机,体积非常庞大的。

2.3 走入集成电路时期

到了60年代末70年代初,半导体技术噗噗噗 地发展,这时候,半导体公司开始将计算机中的两个核心部件:ALU和控制器,集成到 silicon chip 中去,

也就是所谓的"芯片",芯片中的控制器就是中央指挥机关,是大脑中的大脑。

因此,故弄玄虚的半导体公司将芯片称之为中央处理器, center processing unit,即CPU,问世了!!!

CPU芯片的体积非常小,因此也称为"微处理器"。

这里多说一句,计算机各部分之间交互信息是通过导线,而且不是一根导线,而是由一组导线,这一组一组的导线,我们就叫它bus,翻译为总线。

还没仔细梳理,有点乱大家看个热闹,会继续梳理出完。。。。。。。。。。。。晚安

相关推荐
wenchm1 小时前
细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
stm32·单片机·嵌入式硬件
委员1 小时前
基于NodeMCU的物联网电灯控制系统设计
单片机·物联网·嵌入式·nodemcu··lu_asr01·gy-302
北国无红豆1 小时前
【CAN总线】STM32的CAN外设
c语言·stm32·嵌入式硬件
单片机学习之路2 小时前
【C语言】结构
c语言·开发语言·stm32·单片机·51单片机
m0_748254093 小时前
STM32--超声波模块(HC—SR04)(标准库+HAL库)
stm32·单片机·嵌入式硬件
南城花随雪。3 小时前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
逝灮4 小时前
【蓝桥杯——物联网设计与开发】基础模块8 - RTC
stm32·单片机·嵌入式硬件·mcu·物联网·蓝桥杯·rtc
LXL_244 小时前
模拟——郑益慧_笔记1_绪论
嵌入式硬件
weixin_4526006910 小时前
串行时钟保持芯片D1380/D1381,低功耗工作方式自带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节
科技·单片机·嵌入式硬件·时钟·白色家电电源·微机串行时钟
森旺电子13 小时前
51单片机仿真摇号抽奖机源程序 12864液晶显示
单片机·嵌入式硬件·51单片机