复习总结最终版:单片机

一、嵌入式基本概念

(一)嵌入式定义:以应用为中心,计算机技术为基础,软硬件可裁剪的专用计算机系统。

(二)计算机五大组成:运算器、控制器、存储器、输入设备、输出设备

(三)软件:编程语言(C/C++)、操作系统(Linux文件、多任务、网络)、数据结构、数据库等

(四)硬件:51单片机、STM52、ARM

(五)软硬件可裁剪:加入需要的硬件/软件,将不要的硬件/软件裁剪掉(低功耗、低成本)

(六)计算机分类

1.通用计算机:PC、手机、平板

2.专用计算机:无人机、完成某项特定任务的计算机

(七)名词解释

1.CPU(中央处理器):数据运算、指令处理,CPU性能越高,完成指令处理和数据运算的速度越快。

2.MCU(微控制器):集成度比较高,将所有功能集成到芯片中,控制简单,低成本

3.MPU(微处理器):集成度低,只有一块单独的CPU,需要接外设,存储模块,复杂领域,成本高

4.GPU(图形处理器):图像处理,图形渲染,GPU性能越好,图形显示越好

5.NPU(神经网络处理器):AI推理,硬件加速,神经网络处理(卷积运算)

6.FPU(浮点数运算单元):完成浮点数运算和处理,大部分集中在CPU内部

7.DSP(数字信号处理器):为了进行高强度数学运算的专用芯片

8.SOC(片上系统):集成度高,将多个芯片(存储芯片、外设芯片)集成到一块芯片

(八)DMA

二、存储理解

(一)外存:主要存放程序、代码、指令,掉点数据不丢失,读写速度慢,低价

1.ROM:只读存储,如ARM内加载U-BOOT的ROM

2.Flash:掉电数据不丢失,电可擦写

①NOR Flash:像内存一样,允许对每个单元随机访问。CPU可以直接从NOR Flash中读取并执行代码,无需先复制到RAM中。

②NAND Flash:像硬盘一样工作。以"页"为单位进行读写,以"块"为单位进行擦除

(二)内存(DRAM):主要存放程序运行过程临时变量,掉电数据丢失,读写速度快,高价

(三)Cache(缓存、存储CPU频繁使用的一些东西):书桌(CPU)旁边的小车(Cache)里面放常用数据,避免一直远距离去书架(RAM)拿

三、三大总线

(一)地址总线(数据线数量确定可寻址范围):地址总线是单向的,专门用于CPU向内存或I/O设备发送地址信息

1.bank是什么:内存芯片内部为了高效管理这个巨大空间而采用的一种结构

2.地址总线发送的信息一般为:Bank选择、行地址、列地址

3.隐藏延迟:行激活,要访问一个存储单元,必须先选中其所在的行,将整行数据读取到Bank的行缓冲器中。 这个过程,速度较慢。

4.Bank结构的优点:当一个Bank因行激活而无法访问时,内存控制器可以调度去访问其他已经就绪的Bank,

从而节省了CPU的等待时间。从宏观上看,延迟被有效隐藏,所以整体数据吞吐率得到显著提高。

(二)数据总线(一般称总线):双向传输,可以由外部设备-->CPU,也可以由CPU-->外部设备

(三)控制总线:单向(一份部分是CPU输出命令,另一部分是外部设备输入给CPU的(如状态查询)),所以整体来看是双向。

(四)三者如何协同工作?(CPU从内存读取数据)

1.CPU通过地址总线发出地址,同时CPU通过控制总线发出(读)信号和内存访问信号

2.内存响应指令:内存芯片识别到自己地址,并收到读命令,查找对应地址的数据

3.数据传输:内存将对应数据通过数据总线发送给CPU,同时通过控制总线发送一个就绪信号

4.CPU接收数据:检测到控制总线的就绪信号,然后读取数据

四、GPIO(是一个系统)

(一)GPIO概念:通用输入/输出(输入模式和输出模式)

(二)物理引脚(硬件接口)

(三)内部寄存器(控制核心):在每个 GPIO 引脚的背后,都对应着一组内存映射的寄存器

1.模式寄存器:决定这个引脚是输入、输出,还是复用为其他功能(如串口、I2C等)

2.数据寄存器:写入数据来控制输出电平,读取数据来获取输入电平

3.上下拉电阻寄存器:控制是否启用上拉或下拉电阻

(四)相关控制电路

1.驱动电路(输出缓冲器)

2.检测电路(输入缓冲器)

3.保护电路(防止过压、静电等)

五、中断

(一)概念

1.中断解释:CPU在执行一个任务时,被外界一个紧急任务打断,然后去处理这个紧急任务,处理完后回到原来任务继续工作。

2.中断源:打断CPU当前任务的事件/源头

3.中断源((51单片机中5个中断源)分类:外部中断0与1,定时器中断0与1,UART(串口)

4.外部中断:单片机的引脚电平变化引发中断(INT0(P3-2),INT1(P3-3))

5.中断优先级:CPU处理中断任务时,会比较优先级,优先处理优先级高的任务(可配置优先级)

6.中断嵌套:处理一个中断时,里面再嵌套一个中断,51单片机只允许嵌套两层

(二)中断处理流程

1.中断源发出中断请求

2.检查CPU是否响应中断及该中断源是否被屏蔽

3.比较中断优先级

4.保护现场

5.执行中断服务函数(回调函数)

6.恢复现场

(三)中断向量表:一组指向函数的函数指针(中断处理函数的后面必须加上对应的中断向量)

六、定时器(独立模块,计数器本身为16位。与三大总线(数据8,地址16)没有关系)

(一)作用:都够产生一个精准的定时

(二)51单片机内有两个定时器,Timer0,Timer1,自增型定时器

(三)51单片机机器周期:CPU需要花费12个时钟周期才能完成一个最基本的操作,所以要12分频

(四)指令周期:计数器,执行自加所以一个指令周期即为一个机器周期

(五)8位自动重装载:虽然16位计数范围大,但是每次溢出后需要CPU重新赋值。8位自动重装载可以判断溢出次数实现大数据定时。

七、晶振

(一)51单片机

1.CPU工作主频:12MHZ(11.0592MHZ),外部晶振频率

2.时钟周期:CPU 的最小时间单位,由外部晶振或内部振荡器提供。CPU主频分之一。

3.机器周期:CPU完成一个基本操作(如取指、译码、执行)所需的时间,通常由多个时钟周期组成。12 时钟周期 = 1 机器周期(51单片机内)

4.指令周期:CPU完整执行一条指令所需的时间(一般1~4个机器周期)

(二)ARM(imx6ull开发板晶振为24MZ)

1.CPU工作主频:通过PLL(锁相环电路)倍频得到具体主频

2.定时器工作频率由配置得到

3.机器周期与指令周期概念淡化

八、蜂鸣器

(一)有源蜂鸣器:存在震荡源,通电后蜂鸣器会持续发出持续频率的声音

(二)不存在震荡源,通电后蜂鸣器不会持续发出持续频率的声音,通过电平周期性变化产生声音。

九、PWM(脉冲宽度调制)

(一)理解(开关灯):通过快速开关电源,来控制输送给设备(如灯、电机)的平均功率。

(二)三个关键参数

1.占空比:一个周期内,开的时间占整个周期的百分比。

2.频率:频率需要足够快,快到你控制的设备(如LED灯、电机)无法跟上这个开关速度,从而产生一个"平均"效果。

3.电压/振幅:开的时候,电压是多少?通常是系统的逻辑电平(如5V, 3.3V)

(三)PWM利用

1.PWM的魅力在于,它用数字信号(只有开和关)轻松地实现了模拟信号(连续变化)的效果。

这带来了巨大优势:效率极高(开关时晶体管损耗很小)、控制简单、成本低。

2.led调光、直流电机调速等

十、通信分类

(一)按有线和无线分类

(二)按数据传输格式分类(串行和并行)

(三)有线通信区分

1.电气电平标准:定义了逻辑0和逻辑1用什么电压表示

①UART(TTL电平):逻辑1 = 3.3V或5V,逻辑0 = 0V。传输距离短,通常在电路板内部或模块之间使用。

②RS-232:逻辑1 = -3V ~ -15V,逻辑0 = +3V ~ +15V。使用负逻辑和高电压,抗干扰能力强,传输距离较远(几米)

③RS-485:采用差分信号(用两根线A和B的电压差来表示0和1)。抗共模干扰能力极强,传输距离可达千米以上,支持多点通信(一个总线可挂多个设备)。工业领域广泛应用。

④CAN总线:也是一种差分信号,以其极高的可靠性和多主结构著称,是汽车和工业控制的基石。

2.通信拓扑结构(设备如何连接?)

①点对点:如UART、RS-232,只能在两个设备间通信。

②总线式:如RS-485、CAN,多个设备可以挂在一根总线上。

3.同步和异步

4.软件协议

①Modbus

②USB协议簇

(四)串口通信是什么?

1."串口"是一个广义概念,它描述了数据传输的方式(串行),但并未规定具体的电气电平。我们通常所说的"串口"特指基于UART协议的异步串行通信。

2.串口通信时序(TTL)

①空闲状态位高电平

②发送一个低电平表示起始位

③发送第一个bit(LSB),8个位结束

④发送校验位(奇校验、偶校验、无校验)

奇校验:1与数据位相加的和为奇数

偶校验:0与数据位相加的和为偶数

累加和校验

CRC校验

⑤停止位

3.波特率:每秒传输bit的数量,9600,115200

十一、通信方式

(一)单工:接收方和发送方固定,数据传输通过一很线,数据传输方式单一

(二)半双工:同一时刻数据只能单向传输,一根数据线

(三)全双工:两根数据线,所以同一时刻即可以收又可以发

十二、数据传输方式

(一)串行:一根数据线,bit按顺序逐个发送

(二)并行:多根数据线,同一时刻可发多个bit

十三、同步和异步

(一)异步:没有时钟线,通信双方通过约定发送速率发送和接收数据,如UART通信中的波特率

(二)同步:有时钟线,发送方使时钟线产生边沿发送数据,接收方检测边沿接收数据。

十四、上拉电阻(4.7~10k欧姆):因为在输入模式引脚正常状态下高阻态(悬空)的,所以要加上拉或者下拉电阻,消除这种不确定性。

相关推荐
驱动探索者3 小时前
贝尔实验室发展史:20世纪科技圣殿的辉煌与沉浮
linux
何朴尧3 小时前
centos/cuos如何开启软件源
linux·运维·centos
YouEmbedded3 小时前
解码Linux文件IO之标准IO
linux·文件io·系统io
xiaofei5580084 小时前
CAN 波特率的几个参数说明和计算方式(以STM32为例)
单片机·嵌入式硬件·汽车
应用市场4 小时前
STM32运行原理深度解析:从软件到硬件的神奇之旅
stm32·单片机·嵌入式硬件
撬动未来的支点4 小时前
【Linux内核】Linux内核裁剪完全指南:从理论到实战的系统优化
linux
sealaugh324 小时前
AI(学习笔记第十二课) 使用langsmith的agents
人工智能·笔记·学习
QZ_orz_freedom4 小时前
学习笔记--事务管理
笔记·学习
csdn_Hzx4 小时前
Linux添加一个系统服务
linux·运维·服务器