跳至主要內容

嵌入式

LincZero大约 6 分钟

嵌入式

入门

参考:收藏向!零基础10分钟入门嵌入式!open in new window

嵌入式处理器

MCU (Micro-Controller Unit,小控制单元,单片机)

  • 定义:处理器、内存、输入输出接口等的单一芯片
  • 特点:资源有限、逻辑简单、特定任务
  • 场景:控制汽车、智能家电、物联网设备
  • 常见设备
    • 经典MCU:89C51、STM32、ESP32,他们有各自配套的开发工具
    • 入门MCU
      • Arduino (开源嵌入式硬件平台):语言简单、硬件开源库丰富是它的最大特点
      • 树莓派 Raspberry Pi:可称为微型电脑,芯片中包含了arm架构的处理器核心,相较一般单片机,具有更高的计算能力和更大的存储容量,支持运行复杂的操作系统和应用程序

DSP (Digital Signal Processor,数字信号处理器)

  • 定义:由德州仪器公司专门设计,用于处理数字信号的处理器
  • 特点:机器指令对数字信号中的卷积傅列变换、乘法除法等运算非常快速
  • 场景:无线通信、音视频处理、雷达系统等。涉及数字信号处理的场景

FPGA (Field-Programmable Gate Array,可编程门阵列)

  • 定义:它是一种可在实际使用前,由用户编程的集成电路,利用 可编程互联 (verilog/VHDL)可编程逻辑块(大量零散的与、或、非门电路块) 按特定功能相连,形成复杂的组合逻辑或时序逻辑
  • 特点:较为复杂。灵活性、可重构性高、实时性
  • 场景:原型设计、加速计算、仪器测控 包括最近火爆的FPS硬件外挂,就是使用FPGA作为内存的DMA桥梁实现的

硬件、软件、固件

硬件

硬件是嵌入式系统中的物理组件。包括:

  • 处理器:相当于人的大脑,负责思考和支配身体
  • 传感器:帮助人获取知觉
  • 执行器:执行大脑指定的动作
  • 存储器:负责记忆知识

是嵌入式系统的物理基础。开发者需要设计和布局硬件电路 选择适当的处理器和外围设备 以满足系统需求

软件

软件是在嵌入式系统上运行的 可执行代码和数据的结合,包括:

  • 应用程序
  • 驱动程序
  • 算法
  • 等软件

就像人的思维进入数据时 人已知的知识 可执行代码是人的行为 逻辑操作系统就像人的神经系统 既具备物质基础 又调控思维

是嵌入式系统的核心。开发者根据系统的计算和控制任务 开发相应的操作系统与程序

固件

把以上两者联系起来的是固件,它是介于硬件和软件之间的一类软件,是存储在非易失性存储器中的代码和数据,用于控制硬件设备的操作和功能

是嵌入式系统的桥梁。用于初始化硬件、加载操作系统或直接执行控制功能

典型MCU结构与功能

处理器

  • CPU:运算、控制、寄存

  • 时钟 -> 定时器 -> 中断 -> 看门狗

一些概念解释

  • 时钟:当定时器达到预先设定的时间后,触发中断流水线得到命令,进行新的生产周而复始
  • 看门狗:名字也很形象,一只负责监视工厂安全的狗,如果你不按时喂给它食物,它就会判断系统出现了问题,需要复位重启

存储器

  • 片上存储

一些概念解释

  • 存储:流水线能正常工作,供给其生产的仓库也要足够给力。经验证明,分级存储是一个高效的存储方案
    • ROM (只读存储器):只读,出厂前写定内容,无法修改。用于程序启动和内核功能调用
    • SRAM (静态随机存储器):读写快,但断电数据会丢失,存储运行时临时性数据
    • Flash (闪存):读写速度适中,断电后数据不会丢失。用于存储程序代码、数据、烧录的固件

I/O

  • 外设接口
  • 无线通信
模拟量与数字量
  • 模拟量:
    • 连续变化的信号,计算机不能直接处理
    • 它可以在一定范围内取任何数值 且可以无限细分 现实中绝大多数的概念也都是模拟的。
    • 例如:语音信号、温度速度、电压变化
  • 数字量
    • 离散的信号,这是计算机所能处理的数据
    • 它在一系列离散的数值中取值与模拟量不同 数字量只能取有限的特定的数值 通常使用二进制来表示。
    • 例如:电灯的开关、数字图像、时钟等
  • 模拟量->数字量:采用一段时间取一个值的方式 将其转化为数字量再进行处理 这就是所谓的采样、量化
  • 数字量->模拟量:当单片机处理完这些数字量后 再通过平滑转化为模拟量进行输出 这就是所谓的滤波、逆量化
【交互】单片机 -- 外部 (4)
  • GPIO (通用输入/输出):输入数字输出数字
    • 是连接外设与传感器的通用接口
  • PWM (脉冲宽度调制):产生模拟信号。它通过输出快速切换的数字量,高低电平会被电机平均为比较平滑的模拟信号
    • 如控制电机速度 调光led等
  • ADC (模/数转换器):输入模拟输出数字。将模拟量转化为数字量,用于从传感器中读取模拟数据
    • 比如获取外界温度
  • DAC (数/模转换器):输入数字输出模拟
    • 用于向执行器生成模拟输出,比如播放音频
【交互】芯片 -- 芯片 (3)
  • UART (通用异步收发器):异步、全双工、20Kbps-10Mbps
    • 通常应用于与计算机连接 烧录调试程序
  • SPI:同步、全双工、<=10Mbps
    • SPI通常用于存储器 屏幕等要求较快传输速度的设备相
  • I2CI2C总线I^2C-I^2C总线:同步、半双工、100Kbps-3.4Mbps
    • 由于其接线简单 常用于各种传感器连接单片机
  • 区别:
    • 第一种是向两个部门之间发邮件 扁平化管理 假部门表达 我希望你们快点弄出一个策划案 而乙部门可以抱怨时间不够 人手不足 各说各的不必同时
    • 后两种则向公司年会 大家统一坐在礼堂 CEO向各个分部门领导传达新一年的规划
    • 两者的差异在于 IPHONEC总线通过更复杂的协议 省去了两条线 代价是更慢的速度和领导发言时不能插嘴
【交互】单片机 -- 单片机
  • 就像工厂与上下游企业有合作 布料厂的成品要售给制衣厂,目前的嵌入式设备上使用较多的协议是:

    • 通信范围功耗要求数据速率设备密度
      WIFI受限10Mbps-1Gbps
      Zigbee受限<=250Kbps
      NB-IoT广<=250Kbps
      Bluetooth受限<=100Mbps
      LoRa广100bps-10Kbps