当前位置: 首页 > news >正文

【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(上)

文章目录

  • 1. 数字电路基础
    • 1.1 信号特性与信号转换
    • 1.2 组合逻辑电路和时序逻辑电路
      • 1.2.1 组合逻辑电路
        • ①基本门电路
        • ②译码器(解码器,Decoder,DEC)
        • ③多路选择器(MUX,Multiplexer)
        • ④数据分配器(DMUX,Demultiplexer)
      • 1.2.2 时序逻辑电路
        • ①时钟信号
        • ②触发器(Flip-Flop)
        • ④寄存器
        • ⑤计数器
    • 1.3 可编程逻辑器件
  • 2. 嵌入式微处理器基础
    • 2.1 嵌入式微处理器的结构和类型
      • 2.1.1 常用处理器的体系结构特点
      • 2.1.2 DSP处理器的体系结构特点
      • 2.1.3 同构多核与异构多核处理器
    • 2.2 嵌入式微处理器的异常与中断
      • 2.2.1 异常
      • 2.2.2 中断

1. 数字电路基础

1.1 信号特性与信号转换

在嵌入式系统中,信号特性与转换是硬件设计的基础。数字信号与模拟信号的主要区别在于其离散性连续性。数字信号只有高电平(通常代表逻辑"1")和低电平(通常代表逻辑"0")两种状态,而模拟信号则是连续变化的电压或电流值。总结如下:

  • 数字信号:离散的、有限状态(典型为2态)
  • 模拟信号:连续的、无限状态

现代数字电子元件仅工作在两种明确的状态,基本物理实现方式如下:

表示形式逻辑1逻辑0
电压高电平(如3.3V)低电平(如0V)
光信号
磁存储N极S极
机械开关闭合断开

数字电路的逻辑体制标准有两种:

  • 正逻辑体制(默认采用):
    高电平 = 逻辑1
    低电平 = 逻辑0
    
  • 负逻辑体制(特定场合使用):
    低电平 = 逻辑1
    高电平 = 逻辑0
    

注:同一电路采用不同逻辑体制时,其逻辑功能会发生变化(如正逻辑的与门在负逻辑下表现为或门)

信号特性的其他关键知识点如下:

  • 信号转换:ADC(模数转换器)将模拟信号转换为数字信号,DAC(数模转换器)执行相反过程;
  • 采样定理:奈奎斯特采样定理指出采样频率必须至少是信号最高频率的两倍;
  • 信号完整性:包括上升/下降时间、过冲、振铃等特性对电路设计至关重要;

1.2 组合逻辑电路和时序逻辑电路

在开启本章的学习前,非常建议先在steam上玩一下Turing Complete这个游戏,对学习逻辑电路非常有帮助(因为很多正经的教程要把很简单的东西写的很复杂,不当人😠)。本章节的大部分图示也来自这个游戏😄
在这里插入图片描述

组合逻辑电路(Combinational Logic Circuit)

  • 无记忆功能
  • 输出仅取决于当前输
  • 典型代表:译码器、多路选择器等

时序逻辑电路(Sequential Logic Circuit)

  • 具有存储功能
  • 输出取决于当前输入和电路状态
  • 典型代表:寄存器、计数器、状态机等

1.2.1 组合逻辑电路

①基本门电路

基本的与、或、非、与非、或非门,没啥好说的了

在这里插入图片描述
在数字逻辑设计中,"与非门"和"或非门"被称为通用逻辑门(Universal Logic Gates),因为它们可以单独组合实现所有基本逻辑功能(与、或、非)。

②译码器(解码器,Decoder,DEC)

译码器会根据输入激活一路输出,下面是一个3位译码器的原理图:
在这里插入图片描述
例如输入001,其激活第1路输出,即0000 0010

在这里插入图片描述

③多路选择器(MUX,Multiplexer)

多路选择器(Multiplexer, MUX)是数字电路中最重要的组合逻辑模块之一,其功能类似于数据开关,能够从多个输入信号中选择一个传送到输出端。

在这里插入图片描述
工作示例如下:

在这里插入图片描述
当“选通”置为0时,“输入1”接到“输出”。当“选通”置为1时,“输入2”接到“输出”

④数据分配器(DMUX,Demultiplexer)

数据分配器(Demultiplexer, DMUX)是多路选择器的逆向器件,常被称为"解复用器"。它将单个输入信号分配到多个输出线中的一条。

简单来说:多路选择器就是从多个输入中选择一个输出,数据分配器就是把一个输入分配给不同的输出。

1.2.2 时序逻辑电路

①时钟信号

时钟信号是数字电路中用来同步不同部分操作的一种周期性脉冲信号。它为电路中的各个组件提供了一个统一的时间基准,确保了数据能够在正确的时间点被读取或写入。时钟信号通常是一个方波信号,具有固定的频率和占空比。

  • 作用:同步电路中的事件发生时间,保证数据传输的一致性和可靠性。
  • 应用:广泛应用于微处理器、存储器、通信设备等需要精确时序控制的场合。
    在这里插入图片描述
②触发器(Flip-Flop)

触发器是一种最基本的时序逻辑电路,能够存储一位二进制信息(0或1)。触发器根据输入信号在特定时刻(通常是时钟信号的上升沿或下降沿)更新其输出状态,并保持该状态直到下一个更新信号到来。

  • 类型:包括RS触发器、JK触发器、D触发器和T触发器等。
  • 应用:用于构建更复杂的时序逻辑电路,如计数器、分频器、寄存器等。

下面介绍一个触发器的实例:
在这里插入图片描述

  1. 触发方式

    • 边沿触发:仅在时钟(CLK)上升沿(或下降沿)瞬间采样输入D的值。
  2. 输出规则

    • Q端:直接输出采样到的D
    • Q’端:始终输出Q的反相值(Q' = ~Q
  3. 保持特性

    • 无时钟边沿时,QQ'保持之前状态不变(记忆功能)。

示例:

  • CLK↑D=1Q=1Q'=0(直到下一个时钟边沿)
  • CLK↑D=0Q=0Q'=1

其原理电路不做详细介绍,可以单写一篇文章了

④寄存器

寄存器是一组触发器的集合,用来暂时存储一组数据(位宽可变)。寄存器可以在时钟信号的作用下加载(写入)新的数据或将当前的数据读取输出。

在这里插入图片描述

  • 功能:存储临时数据、地址或其他信息。
  • 应用:广泛应用于CPU内部(如指令寄存器、程序计数器)、内存接口和其他需要数据暂存的场合。
⑤计数器

计数器是一种特殊的时序逻辑电路,它的主要功能是对时钟信号的脉冲进行计数。计数器可以根据设计要求向上计数、向下计数或者双向计数,并且可以在达到预定值时产生溢出信号。

  • 分类:异步计数器和同步计数器。
  • 应用:定时器、频率分配、脉冲计数等场合。

这些组件是数字电路设计的基础,它们共同工作以实现各种复杂的逻辑功能和计算任务。

1.3 可编程逻辑器件

可编程逻辑器件(PLD)为数字系统设计提供了灵活性,主要类型包括以下:

特性/类型SPLD (简单可编程逻辑器件)CPLD (复杂可编程逻辑器件)FPGA (现场可编程门阵列)
基本构成如PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等基础结构包含多个SPLD单元的集成,更复杂的架构基于查找表(LUT)和可编程互连点的结构
灵活性较低,适合简单的逻辑功能实现中等,支持较复杂的逻辑设计高,适用于高度定制化的设计和大规模逻辑功能的实现
集成度低到中等,提供有限数量的逻辑门和输入输出引脚中等到高,集成度高于SPLD,支持更多I/O和逻辑资源非常高,提供大量的逻辑单元、存储器、DSP模块等,满足复杂应用需求
编程方式一次性编程(如PAL),或可重复编程(如GAL)多数支持可重复编程支持可重复编程,方便设计迭代
应用场景适合用于相对简单的组合逻辑和时序逻辑电路更适合需要一定规模的逻辑操作和复杂性的项目理想用于原型开发、模拟、复杂算法实现、硬件加速等多种高级应用
性能特点速度较快,但扩展性和灵活性受限提供较好的性能和较低的延迟,适用于高速数据处理可根据具体设计调整性能,支持并行处理,适应高性能计算需求

通过上述对比可以看出,从SPLD到FPGA,随着技术的发展,设备的集成度、灵活性以及适用范围都有显著提升。SPLD更适合解决较为简单直接的逻辑问题;CPLD则在保持较高性能的同时增加了设计的复杂度和灵活性;而FPGA以其极高的灵活性和强大的功能成为现代电子系统设计中不可或缺的一部分,尤其适用于需要频繁修改和优化的设计阶段。

2. 嵌入式微处理器基础

2.1 嵌入式微处理器的结构和类型

2.1.1 常用处理器的体系结构特点

  • 8位处理器

    • 典型代表:8051、AVR、PIC
    • 特点:低功耗、低成本、简单指令集
    • 应用:家电控制、简单传感器节点
  • 16位处理器

    • 典型代表:MSP430、80286
    • 特点:性能与功耗平衡
    • 应用:工业控制、医疗设备
  • 32位处理器

    • 典型代表:ARM Cortex-M系列
    • 特点:高性能、丰富外设、多种工作模式
    • 应用:智能手机、网络设备
  • 64位处理器

    • 典型代表:ARM Cortex-A系列
    • 特点:大内存寻址、高性能计算
    • 应用:服务器、高性能嵌入式系统

2.1.2 DSP处理器的体系结构特点

在这里插入图片描述

DSP(数字信号处理器,Digital Signal Processor) 是专门设计用于高效执行数字信号处理任务的微处理器。与通用微处理器相比,DSP处理器针对快速执行数学运算进行了优化,特别是那些涉及大量乘加运算(MAC, Multiply-Accumulate)的任务,这在音频、视频、通信和控制系统等领域的信号处理中非常常见。

主要特点:

  • 高效的计算能力:DSP处理器通常包含专用硬件来加速常见的信号处理操作,如乘法累加单元(MAC)、硬件循环支持等。
  • 哈佛架构:大多数DSP采用哈佛架构,这种架构允许同时读取指令和数据,从而提高数据吞吐量。
  • 快速的数据传输:通过直接存储器访问(DMA)和其他技术实现高速数据传输,减轻CPU负担,使得CPU可以专注于处理数据。
  • 特殊的指令集:为了更好地支持数字信号处理算法,DSP拥有专门为信号处理设计的指令集,例如饱和算术运算、零开销循环等。

应用领域:

  • 音频处理:包括语音识别、音乐合成、声音增强等。
  • 图像和视频处理:如压缩、解压缩、图像增强、视频分析等。
  • 通信系统:调制解调、信道编码解码、错误检测纠正等。
  • 控制系统:电机控制、传感器数据处理等。

DSP技术的进步极大地推动了多媒体、无线通信、自动化以及其他需要实时处理大量数据的行业的发展。随着嵌入式系统的普及,越来越多的应用场景开始集成DSP功能,以提供更加强大和灵活的信号处理能力。

2.1.3 同构多核与异构多核处理器

同构多核

  • 多个相同类型的核心
  • 对称多处理(SMP)
  • 负载均衡容易
  • 典型应用:通用计算、服务器

异构多核

  • 不同类型核心的组合(如CPU+GPU+DSP)
  • 非对称多处理(AMP)
  • 各核心专长不同任务
  • 典型应用:智能手机(如big.LITTLE架构)、汽车电子

2.2 嵌入式微处理器的异常与中断

2.2.1 异常

异常是处理器执行指令时检测到的特殊情况,分为三类:

  1. 陷阱(Trap)

    • 有意引发的异常
    • 执行后返回到下一条指令
    • 例如:系统调用、断点
  2. 故障(Fault)

    • 可能修正的异常
    • 修正后重新执行当前指令
    • 例如:页错误、除零异常
  3. 终止(Abort)

    • 严重错误,无法恢复
    • 通常导致系统崩溃
    • 例如:硬件错误、奇偶校验错

2.2.2 中断

中断是外部事件引发的处理器响应机制:
在这里插入图片描述

  • 类型

    • 硬中断:由硬件信号线触发
    • 软中断:由软件指令触发(如ARM的SWI)
  • 可屏蔽性

    • 可屏蔽中断:可通过状态寄存器屏蔽
    • 不可屏蔽中断(NMI):必须立即响应,如看门狗超时
  • 优先级

    • 固定优先级:每个中断源有预设优先级
    • 动态优先级:运行时可调整
    • 优先级决定多个中断同时发生时的响应顺序
  • 中断嵌套

    • 高优先级中断可打断低优先级中断服务程序
    • 需要堆栈支持
    • 可能增加系统复杂性

中断处理流程

完成当前指令
保存上下文
跳转到中断服务程序ISR
执行中断服务程序ISR
恢复上下文
返回原程序

相关文章:

  • 玩转Docker | 使用Docker部署nullboard任务管理工具
  • 基于Python的图片/签名转CAD小工具开发方案
  • 数字IC后端PR阶段Innovus,ICC,ICC2修复short万能脚本分享
  • Sunscreen的TFHE 与Parasol编译器新愿景
  • 前端配置代理解决发送cookie问题
  • 算法 | 鲸鱼优化算法(WOA)与强化学习的结合研究
  • Google独立站和阿里国际站不是一回事
  • 【踩坑tip】解决两个一样的USB设备插入后第二个识别失败的问题
  • Ubuntu20.04安装Pangolin遇到的几种报错的解决方案
  • 记录seatunnel排查重复数据的案例分析
  • 第33周JavaSpringCloud微服务 实现电商项目
  • uni-app 开发企业级小程序课程
  • AI音乐解决方案:1分钟可切换suno、udio、luno、kuka等多种模型,suno风控秒切换 | AI Music API
  • LVGL学习(一)(IMX6ULL运行LVGL,lv_obj_t,lv_obj,size,position,border-box,styles,events)
  • Lateral 查询详解:概念、适用场景与普通 JOIN 的区别
  • JWT算法详解
  • iframe下系统访问跨域问题解决办法
  • 统计图表ECharts
  • vue vite开发时保留console.log打包完后依然想保留某个文件夹下的console.log方便以后的观察
  • Linux的基础的操作指令
  • 35部国产佳片入选 ,北影节·第32届大学生电影节启动
  • “何以中国·闽山闽水物华新”网络主题宣传活动在福建武夷山启动
  • 普京呼吁乌方响应和平倡议,称将分析民用设施停火提议
  • 庆祝中国印尼建交75周年招待会暨万隆会议70周年纪念活动在京举行
  • 从沙漠到都市:贝亲世界地球日特别行动,以桃叶冰爽力开启地球降温之旅
  • 商务部:中国加快推进服务业扩大开放综合试点为世界注入更多确定性