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,翻译为总线。

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

相关推荐
Mortal_hhh26 分钟前
VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
ide·vscode·stm32·编辑器
深圳市青牛科技实业有限公司39 分钟前
【青牛科技】应用方案|D2587A高压大电流DC-DC
人工智能·科技·单片机·嵌入式硬件·机器人·安防监控
Mr.谢尔比2 小时前
电赛入门之软件stm32keil+cubemx
stm32·单片机·嵌入式硬件·mcu·信息与通信·信号处理
LightningJie2 小时前
STM32中ARR(自动重装寄存器)为什么要减1
stm32·单片机·嵌入式硬件
鹿屿二向箔2 小时前
STM32外设之SPI的介绍
stm32
西瓜籽@2 小时前
STM32——毕设基于单片机的多功能节能窗控制系统
stm32·单片机·课程设计
远翔调光芯片^138287988725 小时前
远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家居(调光)市场、太阳能、车灯、洗墙灯、舞台灯必看!
科技·单片机·智能家居·能源
极客小张6 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
m0_739312878 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
嵌入式小章9 小时前
基于STM32的实时时钟(RTC)教学
stm32·嵌入式硬件·实时音视频