R/2R 阶梯 DAC 是传统二进制加权(R/2ⁿR)转换器的流行替代方案,仅用两种电阻值即可实现相同二进制加权,简化元件选型。 R/2R 与 R/2ⁿR DAC 对比 传统二进制加权设计每位需要唯一电阻值——8 位转换器常需八种不同电阻。这增加 BOM 复杂度和装配工作量。 虽可串联相同电阻模拟所需值,但仅将复杂度从“种类”转移到“数量”,使电路更笨重、更难管理。 什么是 R/2R 阶梯 DAC? 仅用 R 和 2R 两种电阻按阶梯排列,即可实现相同二进制加权,同时保持元件数量可控。下图展示该阶梯网络: 虽然数学分析比简单加权电阻复杂,但可用戴维南等效或 SPICE 仿真分析。下表列出各
什么是 R/2ⁿR DAC 电路? R/2ⁿR DAC——常称二进制加权输入 DAC——是反相求和放大器的一种特殊形式。它将一组二进制输入电压转换为单一模拟电压,其幅度与所代表的二进制数成正比。 标准反相求和运放中所有输入电阻相等,各输入贡献相同。R/2ⁿR 设计故意分配遵循 2 的幂次序列的电阻(R, 2R, 4R, …),使每个后续位的影响减半。 这种加权与二进制数字位权一致,使电路输出模拟电压能线性、忠实地反映数字输入。 示例演示 以三位 DAC 为例,输入电阻设为 R、2R、4R,如图所示: 用逻辑电平(0 V 或电源电压)驱动各输入,输出电压序列如下: -------------
当传感器本身为数字型——如开关、继电器、编码器——其信号本质为二进制开/关,与数字电路直接对接非常简单。 模拟器件介入时,接口变得复杂得多。必须引入电子元件将连续模拟信号转换为离散数字值,反之亦然。模数转换器(ADC)完成前者,数模转换器(DAC)完成后者。 ADC 对模拟电信号(通常为电压或电流)采样量化,生成可供数字系统处理的二进制数。ADC 方框图如下: 反之,DAC 接受二进制输入,合成对应的模拟电压或电流。DAC 方框图如下: ADC 与 DAC 共同为必须与模拟传感器和执行器交互的数字系统提供完整接口。典型应用如汽车发动机控制单元:传感器读数转为数字数据处理,控制指令再转为模拟
环形计数器是一种特殊的移位寄存器,其最后一级输出反馈到第一级。施加时钟脉冲时,数据模式将无限循环。 例如,四级环形计数器每四个时钟脉冲重复一次模式,但寄存器必须先加载数据字。加载单个“1”(如 1000)最常见,且模式易于观察。 加载 1000 后,除一个时钟周期延迟外,各级波形相同,如下图所示。 此配置相当于 4 分频计数器;将时钟输入与任意输出比较可见 4:1 频率比。 任意分频因子 实现 10 分频计数器需十级。单个“1”每十个时钟脉冲循环一次。 初始化要求 环形计数器上电时必须初始化,因为各触发器初始状态未定。初始化后模式应持续;但噪声可能随时间破坏状态,打破序列。 常规同步二进
并行输入/并行输出移位寄存器能并行接收数据、移位后并行输出结果,如下图所示。 通用移位寄存器在此基础上增加了并行加载、串行移位、方向控制和保持模式等功能。 上图中,四位数据施加到并行输入 DA DB DC DD。模式控制信号决定是并行加载数据,还是每个时钟脉冲移位一位。 许多器件允许同一控制线选择移位方向。每个时钟沿移动数据一位;移位后的输出出现在 QA QB QC QD 上。“数据输入”和“数据输出”引脚便于多个寄存器级联。 图中仅展示右移级联,左移级联可通过增加一组面向左侧的“数据输入/输出”引脚实现。 右移并行输入/并行输出移位寄存器的内部结构如下图所示。三
串行输入、并行输出(SIPO)移位寄存器与串行输入、串行输出(SISO)移位寄存器共享相同的数据移位核心,但它将每个内部级的输出单独引出为独立的输出引脚。这使其成为将单根串行数据线转换为多路并行输出的理想方案。 工作原理 当四位数据依次串行送入器件时,每个时钟脉冲将数据移位一级。经过第四个脉冲后,四位数据会同时出现在输出引脚 Q_A 至 Q_D 上: 这一简单机制常被形象地描述为:在串行输入、串行输出移位寄存器的每一级上引出抽头点。 SIPO 与 SISO 的对比 厂商通常提供最高 8 位宽的 SIPO 器件,因为更宽的并行输出会需要不切实际的大量引脚。相比之下,串行输入、串行输出移位寄存器
并入串出 (PISO) 移位寄存器扩展串入/串出 (SISO) 功能,允许所有级同时加载数据。此能力对将并行数据——每位单独导线——转为串行流以实现高效通信至关重要。 PISO 寄存器存储一个数据字,随后每时钟周期移出一位,总延迟等于级数乘时钟周期。因数据可在移位前并行加载,该寄存器适合高速数据采集与通信接口。 下面详细看三级 PISO 移位寄存器,核心组件: D 型触发器存储数据。 与-或选择器在并行加载与串行移位间选择。 实际器件典型 4、8、16 级。下图演示三级示例。 当 SHIFT/LD’ 信号为低,顶部与非门使能并行加载路径。D_A、D_B、D_C 输入数据传给对应 D 触发
串行输入、串行输出移位寄存器是数字逻辑设计基石。它们每级延迟一位一个时钟周期,实现精确数据缓冲、串行通信与时钟域跨越。 每级存储单比特,故单级寄存器存 1 位。级联多级可增长寄存器长度——标准器件达 64 位,多器件串联可更长。 下图为单级移位寄存器,驱动数据尚未同步到系统时钟。D 触发器 (D-FF) 数据线 (引脚 D) 保持值直到时钟边沿,之后值出现在输出引脚 Q。 关键点——与下图不同——是 D 引脚数据在时钟上升沿精确传送到 Q。因输入在边沿前后稳定,触发器捕获正确值。 对正边沿触发触发器,输出在时钟跃变后立即跟随输入,如向上箭头所示。 多级移位寄存器中
移位寄存器是时序逻辑电路基石,功能类似计数器但侧重数据流而非计数。 不同于仅响应当前输入的组合逻辑,时序逻辑保留过去事件记忆。此记忆能力使移位寄存器能产生数字信号或波形的精确、离散延迟。 当波形同步于时钟——规则方波——移位寄存器将数据延迟 “n” 个时钟周期,其中 “n” 为寄存器级数。例如,四级寄存器使输入数据延迟四个时钟后出现在输出。 每级通常为 D 型或 JK 型触发器作为延迟元件。历史上极长移位寄存器(数百级)曾用作数字存储器,现为现代 RAM 取代。此传承呼应早期计算机曾用的声学汞延迟线。 移位寄存器在串行数据传输中也扮关键角色。从米到千米距离,它们将并行数据转为串行流,用单根高速
迄今我们聚焦组合逻辑,其输出仅依赖当前输入。许多实际应用中,电路必须保留过去输入记忆并据此调整输出。此类电路称为时序电路。 本文演示设计时序电路的端到端流程,以实用示例说明:数字问答游戏,每次用户按按钮需产生单时钟周期高脉冲。 步骤 1 — 定义需求 用自然语言阐述期望行为: “我们需要一个辅助电路,当按钮被按下时发射单个时钟周期的高脉冲,并忽略后续按下,直到按钮释放再按下。” 步骤 2 — 绘制状态图 状态图可视化机器操作。每个圆圈代表状态,箭头指示每时钟周期由输入触发的跃迁。下图为 Moore 有限状态机,输出仅依赖当前状态。 状态描述: 待机 — 初始等待状态。 激活脉冲 — 产生高
计数器模数优化算法概述 计数器模数(Counter Modulus)是数字电路和计算机系统中用于控制计数器周期性重置的关键参数。在现代高性能系统中,优化模数运算算法可显著提升时序控制、频率分频及状态机设计的效率。 核心优化策略 查表法加速:预计算常用模数值,通过查表替代实时除法运算,降低延迟。 位运算替代:针对2的幂次模数,使用位掩码(AND操作)实现零周期模数计算。 流水线并行:将模数运算拆解为多级流水线阶段,配合分支预测提高吞吐率。 自适应模数调整:运行时根据负载动态调整计数器模数,平衡精度与资源占用。 典型应用场景 高速通信接口的波特率发生器、FPGA中的精确时序发生器、实时操作系统
什么是同步计数器? 同步计数器区别于异步(毛刺)计数器,所有输出位同时变化。将每个触发器时钟输入接同一时钟脉冲,避免毛刺计数器特有的延迟。 用 J-K 触发器时,时钟输入接在一起,使每个器件在同一时刻收到完全相同时钟边沿: 挑战在于设置 J 和 K 输入。为维持产生二进制计数的二分频时序,每个触发器必须工作在翻转模式,要求 J=K=1 在适当时刻。简单将所有 J、K 接 Vcc 会导致每个触发器每个时钟脉冲都翻转,破坏二进制序列: 相反,我们利用二进制序列可预测模式:某位翻转前,所有低位均为高。此模式允许以先前输出状态为条件控制各触发器翻转。 同步加计数器 同步加计数器中,每个 J-K
前文考察了配置为两位二进制逆序计数 (11 → 10 → 01 → 00) 的单个 J-K 触发器。要构建正向递增计数器,必须分析正向计数模式并确定如何互连多个触发器。 二进制计数器依赖二分频。设为翻转模式的 J-K 触发器是理想选择。级联多个此类触发器可生成四位二进制输出。关键挑战是连接时钟输入,使每个触发器仅在前一位从 1 变 0 时翻转。 下面是四位加计数器二进制序列。注意某位仅在低位从高翻低时才翻转。 小箭头指示位翻转时刻,标示前一位 1→0 跃变。 用四个设为始终翻转的 J-K 触发器,可将每个时钟输入连到前级触发器 Q 输出。用负边沿触发(气泡符号),前级 Q 下降沿在正确时刻
审视四位二进制计数序列——从 0000 到 1111——可清晰看到每位在 0 与 1 间振荡的规律。 最低有效位 (LSB) 每计数步翻转一次,而每高一阶位翻频率为前一位的一半。因此,最高有效位 (MSB) 仅在 7 (0111) 到 8 (1000) 跃变时翻转一次。 设计产生此序列的数字计数器很简单:串联分频电路,每个将输入方波频率减半。J-K 触发器为此角色理想,因当 J 和 K 均高 (1) 且有时钟脉冲到来时能翻转输出。 典型实现中,信号 A 和 B 代表二进制数两位,A 为 LSB,B 为 MSB。计数器将产生序列 11 → 10 → 01 → 00 → 11——虽为逆向遍历
我们已在实践中遇到单稳态多谐振荡器:触发器内部的脉冲检测器,在时钟边沿瞬间给锁存器供电。 脉冲检测器归类为单稳态多谐振荡器,因其仅有一个稳定输出状态。在此状态下器件无需外部干预即能无限期保持输出。 相反,锁存器或触发器等双稳态器件可任意长时间保持“置位”或“复位”状态。一旦置位或复位,将保持该状态直到外部信号强制改变。 单稳态器件仅能无限期维持一种特定状态;另一状态只能在外部触发时短暂保持。 常见机械类比:按下即回弹的瞬动按钮,力释放后弹回正常位置。普通墙壁拨动开关则是双稳态,因其锁定在开或关位置。 所有单稳态多谐振荡器都是定时器件。其不稳定输出状态持续预定最短持续时间,后电路自动回稳定状态。
数字设计中,触发器主要数据输入——无论 D、SR 或 JK——称为同步,因其对输出 (Q 和 ΔQ) 的影响仅在时钟边沿体现。 相对地,我们称额外输入为异步——预置 (PRE) 和清除 (CLR)——可无视时钟或任何同步输入,强制触发器进入已知状态。 当预置输入有效,触发器立即置位 (Q=1, ΔQ=0),绕过时钟与其他数据输入。反之,清除有效则复位器件 (Q=0, ΔQ=1)。两操作瞬间发生,提供快速初始化或恢复电路途径。 若同时激活预置与清除,触发器进入 Q 与 ΔQ 冲突的未定义状态。这镜像经典 SR 锁存器条件,可靠设计中应避免。 这些异步控制在多触发器须同步驱动时极其宝贵——例如用
J-K 触发器是改良的双稳态多谐振荡器,解决了经典 S-R 锁存器的无效状态。通过在置位 (S) 和复位 (R) 输入引入反馈,保证每种输入组合都有有效输出。 下图中,传统双输入与门升级为三输入与门。第三输入从 Q 和 ¬Q 输出反馈,确保 J 和 K 信号永不同时激活。 J 与 K 输入 原 S、R 输入现标 J、K。三输入与门利用 Q 和 ¬Q 反馈,根据当前状态选择性抑制两输入之一: 若电路处置位态 (Q=1, ¬Q=0),J 输入被 ¬Q 上的 0 封锁。 若电路处复位态 (Q=0, ¬Q=1),K 输入被 Q 上的 0 封锁。 当 J 和 K 均高时
前文考察的 S-R 与 D 锁存器仅在使能 (E) 信号有效期间响应数据输入。许多数字设计中,将锁存器响应性限制在极短间隔而非使能线保持高电平的整个持续期更有利。 边沿触发通过允许数据输入仅在使能信号从一电平跃变到另一电平的瞬间影响锁存器来实现。这个短暂窗口由脉冲检测器产生,每当使能线改变状态就产生短脉冲。 下面对比常规 D 锁存器与边沿触发 D 锁存器时序图: 第一图中,输出跟随输入 D 只要使能 (E) 保持高。E 回低后,电路保持最后状态。第二图中,输出仅在 E 从低到高跃变的短暂瞬间变化——这是正边沿触发。 负边沿触发类似但响应使能信号下降
在门控 S-R 锁存器中,使能引脚允许 Q 和 Q̅ 输出保持锁存,无论 S 或 R 信号。去掉其中一个输入,可得到消除任何非法状态的多谐振荡器锁存器。 这种电路称为 D 锁存器,其内部逻辑如下: 此处原 R 输入被前 S 输入的反相替代,S 线现称 D。当使能 (E) 为低时,锁存器忽略 D 变化并保持上次值。E 为高时,输出 Q 直接跟随 D。 因 R 输入被消除,D 锁存器永不进入无效状态;Q 和 Q̅ 始终互补。 若上图仍感困惑,下图应使概念更清晰: 像 S-R 与门控 S-R 锁存器一样,D 锁存器电路也可作为预封装电路,带
数字逻辑设计中,门控 S-R 锁存器是一种通用存储元件,仅当专用使能输入允许时才更新状态。此特性对防止意外状态变更、在复杂电路中增加控制层极其宝贵。 使能引脚常标 E 或 EN,充当总开关。当其为低 (0) 时,内部与门强制输出为零,无论置位 (S) 或复位 (R) 信号如何。因此锁存器保持先前状态,有效“锁定”输出直到使能被断言。 门控 S-R 锁存器真值表 仅当 E = 1 时,锁存器响应 S 和 R 输入,行为完全同标准 S-R 锁存器。这种条件行为在电机控制等应用中关键,主锁定输入可暂时禁用启停按钮。 门控 S-R 锁存器梯形逻辑 商用半导体封装提供预设计门控 S-R 锁存器,典型
工业技术