(嵌入式八股)第6章 通信协议(一)

6.1 单片机的最小系统

单片机的最小系统是保证单片机能够正常运行并执行基本功能所需的最小硬件环境。它包括以下 五个关键部分

1.单片机芯片

  • 作为核心控制器,运行程序并执行相应的控制任务。
  • 通过指令集进行数据处理、I/O 控制、通信等功能。

2.时钟电路

  • 为单片机提供稳定的时钟信号,使其能够按照固定节奏运行程序。
  • 可使用外部晶振(如 8MHz、16MHz)、RC 振荡器或片内振荡器。

3.复位电路

  • 负责在单片机上电或异常情况下,使内部寄存器和状态机复位到初始状态,确保程序从指定位置正常启动。
  • 常见的复位方式包括上电复位(POR)、手动复位(按键)和看门狗复位。

4.系统电源

  • 为整个单片机系统提供稳定的工作电压,如 5V 或 3.3V
  • 可能包含稳压电路(如 LDO、DC-DC)以确保电源的稳定性。

5.调试接口

  • 用于程序下载、在线调试、数据监测等。
  • 典型的调试方式包括 UART 串口、JTAG、SWD 等。

最小系统的作用

  • 确保单片机正常启动并执行程序。
  • 提供稳定的运行环境(时钟、电源、复位)。
  • 便于开发和调试,保证软件代码的正确性。

6.2 存储器类型

1. 内存 (RAM)

特点

  • 速度快,CPU 直接访问。
  • 断电后数据丢失(易失性存储器)。
  • 包括 SRAM(静态 RAM)DRAM(动态 RAM):SRAM(缓存用,速度快但贵)DRAM(主存用,速度较慢但容量大)

应用

  • 计算机运行中的数据存储(如系统运行内存)。
  • 高速缓存(SRAM 用作 CPU Cache)。

2. 只读存储器 (ROM)

特点

  • 只能读取,通常不能修改(或修改次数有限)。
  • 断电后数据仍然存在(非易失性存储器)。
  • 常见类型:MASK ROM(出厂后不可更改)PROM(可编程 ROM)EPROM(紫外线擦除的可编程 ROM)EEPROM(电可擦除可编程 ROM,如 BIOS)

应用

  • 固件存储(如 BIOS、嵌入式设备固件)。
  • 游戏机卡带、电子字典等。

3. 快闪存储器 (Flash Memory)

特点

  • 断电后仍可存储数据(非易失性)。
  • 速度较快,常用于替代传统机械硬盘(HDD)。
  • 两种主要类型:NAND Flash(SSD、U 盘、存储卡)NOR Flash(用于嵌入式设备固件存储)

应用

  • 固态硬盘(SSD)
  • U 盘、TF 卡
  • 智能手机、数码相机存储

4. 磁盘存储器 (Disk Storage)

特点

  • 主要用于长期存储数据。
  • HDD 依赖机械磁盘,SSD 采用闪存颗粒,速度更快。
  • 硬盘 HDD(机械硬盘):机械磁头读写,速度慢但便宜。适用于大容量存储(如服务器、监控存储)。
  • 固态硬盘 SSD(固态硬盘):采用闪存颗粒,无机械部件,速度快、抗震动。适用于高性能存储,如 笔记本、游戏机、数据中心。

应用

  • 电脑系统存储(HDD/SSD)。
  • 服务器、数据库存储(HDD + SSD 混合架构)。

5. Cache 存储器

特点

  • 速度极快,比 RAM 还快,直接位于 CPU 内部存储控制器 旁。
  • 主要用于 减少 CPU 访问内存的延迟
  • CPU Cache 主要有:L1 Cache(最快、最小)L2 Cache(次快、较大)L3 Cache(速度较慢,但比 RAM 快)

应用

  • 加速 CPU 运算(缓存 CPU 频繁访问的数据)。
  • 磁盘缓存(如 HDD 的 64MB/128MB Cache)。

6. 存储介质(长期数据存储)

特点

  • 主要用于 长期存储、备份和归档
  • 访问速度慢,但数据可以长期保存(10-50 年)。
  • 主要类型:磁带存储(如企业数据备份)CD/DVD/蓝光光盘(如音乐、电影、数据归档)

应用

  • 数据备份(如银行、企业服务器数据存档)。
  • 娱乐存储(如音乐 CD、游戏 DVD)。
  • 灾难恢复(如政府长期档案存储)。

存储器类型总结

6.3 GPIO是什么

1. GPIO(通用输入/输出)的定义

GPIO(General Purpose Input/Output,通用输入/输出)是一种 可编程的数字信号接口,用于 MCU(微控制器)或 SoC(系统级芯片)与外部设备进行交互。每个 GPIO 引脚 可以配置为 输入模式输出模式,以 读取控制 外部设备的状态。

2. GPIO 的基本功能

  • 输入模式(Input):读取外部设备的 状态(如按键、传感器)。支持 上拉 或 下拉 电阻,防止浮空状态。
  • 输出模式(Output):控制外部设备(如 LED、蜂鸣器、继电器、马达等)。可以是 推挽输出 或 开漏输出。
  • 复用功能(Alternate Function):某些 GPIO 可以作为 外设接口(如 UART、SPI、I²C、PWM、ADC、DAC)。

3. GPIO 的实际应用

  • 输入模式读取 按键 状态(高/低电平)。读取 传感器 数据(如霍尔传感器)。
  • 输出模式控制 LED(高亮/熄灭)。控制 蜂鸣器(发声/静音)。控制 继电器(开/关)。
  • 复用模式UART(串口通信)SPI(与外设高速通信)I²C(多设备通信)PWM(控制伺服电机或 LED 调光)

4. GPIO 在嵌入式系统中的作用

GPIO 是 单片机(MCU)和嵌入式系统 交互外部设备的最基本方式,常用于:

  • 智能家居(控制灯光、门锁)
  • 物联网(IoT)(传感器数据采集)
  • 工业控制(电机驱动、信号采集)
  • 机器人(控制舵机、传感器读取)

6.4 单片机GPIO输入/输出类型总结

单片机的GPIO(通用输入输出)端口有多种配置方式,不同的工作模式适用于不同的应用场景。常见的输入输出模式包括:

输入模式

1. 上拉输入(Pull-Up Input)

  • 描述:输入引脚连接一个上拉电阻,使其默认保持高电平。
  • 特点:默认情况下,未接信号时,输入引脚为 高电平。外部信号可以主动拉低输入端口(如按钮)。
  • 应用:按键输入、信号检测。

2. 下拉输入(Pull-Down Input)

  • 描述:输入引脚连接一个下拉电阻,使其默认保持低电平。
  • 特点:默认情况下,未接信号时,输入引脚为 低电平。外部信号可以主动拉高输入端口。
  • 应用:按键输入、信号检测。

3. 浮空输入(Floating Input)

  • 描述:输入引脚没有任何上拉或下拉电阻,处于悬空状态。
  • 特点:无信号时可能出现 不稳定状态,容易受到外部干扰。需要外部电路提供稳定的高或低电平。
  • 应用:高速数据输入、ADC模拟输入。

4. 模拟输入(Analog Input)

  • 描述:用于采集 模拟信号,通常连接到ADC(模数转换器)。
  • 特点:无数字逻辑电平约束,可以接收 0V~VCC 之间的任意电压值。不可用于普通数字信号输入。
  • 应用:温度传感器、电压检测、光敏电阻等。

输出模式

5. 推挽输出(Push-Pull Output)

  • 描述:输出端口可以输出 高电平(VCC)或低电平(GND)
  • 特点:可以提供足够的电流驱动LED、蜂鸣器等负载。适用于大多数常见的数字输出需求。
  • 应用:LED控制、电机驱动(通过三极管或MOSFET)。

6. 开漏输出(Open-Drain Output)

  • 描述:输出端口只能拉低(连接GND),不能主动输出高电平。
  • 特点:需要外部上拉电阻来提供高电平。适用于多个设备连接到同一数据总线,如I²C通信。
  • 应用:I²C总线、复位信号、报警信号。

7. 开漏+上拉输出(Open-Drain with Pull-Up)

  • 描述:开漏输出模式下,内部同时连接上拉电阻。
  • 特点:在没有外部上拉电阻的情况下,仍然可以输出高电平(受限于内部上拉电阻的阻值)。适用于简单的信号输出。
  • 应用:I²C通信、信号共享系统。

特殊模式

8. 复用功能(Alternate Function)

  • 描述:GPIO引脚被配置为特定的外设功能,如UART、SPI、I²C等。
  • 特点:端口由外设模块控制,不能当普通IO使用。可用于通信、PWM等功能。
  • 应用:串口通信(UART)、SPI、I²C、PWM输出等。

9. 复用推挽输出(Alternate Push-Pull Output)

  • 描述:用于外设(如UART、SPI)的高速推挽信号输出。
  • 特点:可提供更快的切换速度,适用于高速信号传输。典型应用是 SPI、USART 传输。
  • 应用:UART、SPI、CAN通信。

10. 复用开漏输出(Alternate Open-Drain Output)

  • 描述:用于外设(如I²C)的开漏信号输出。
  • 特点:适用于I²C通信等需要 共享总线 的应用。需要外部上拉电阻来拉高信号。
  • 应用:I²C、SMBus。

总结

6.5 定时器概念、作用与原理

定时器(Timer)的基本概念

定时器是一种常见的外设,它可以通过计数器的计数值和时钟周期来实现定时功能。它的作用

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

作者简介:仅用几个月时间0基础天坑急转嵌入式开发,逆袭成功拿下华为、vivo、小米等15个offer,面试经验100+,收藏20+面经,分享求职历程与学习心得。 专栏内容:这是一份覆盖嵌入式求职过程中99%问题指南,详细讲解了嵌入式开发的学习路径、项目经验分享、简历优化技巧、面试心得及实习经验,从技术面,HR面,AI面,主管面,谈薪一站式服务,助你突破技术瓶颈、打破信息差,争取更多大厂offer。

全部评论

相关推荐

04-08 13:31
已编辑
门头沟学院 前端工程师
D0cC:京东营收1万多亿人民币,阿里9000多亿,虽然他俩利润都没腾讯和字节多,但是很恐怖了啊,负担了多少打工人的薪水
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
8
8
分享

创作者周榜

更多
牛客网
牛客企业服务