Note
本章建立数字系统的全景框架:现实世界信号通常是连续的,数字电路则以离散电平、时钟和 0/1 代码处理信息。学习时请同时关注“是什么、为什么、如果不用会怎样”,并养成先画波形、再做计算、最后测量验证的习惯。
本章导航
数字量与模拟量
模拟量在连续范围内取值,例如温度、压力、时间、距离和声音;数字量只取离散值,最基本的是 0 和 1。自然界的被测对象大多是模拟量:温度不会从 70 ℃瞬间跳到 71 ℃,而是经过中间所有值。对温度每小时采一次样,只得到离散采样点;只有再把每个采样值量化并编码为 0/1,才完成数字化。

图 1-1:模拟量(温度随时间变化)的曲线图

图 1-2:对图 1-1 中模拟量的采样值表示(量化),每个采样点可数字化为 1/0 代码
数字表示为什么有优势?数字数据更容易处理、复制、传输和存储,噪声只要没有把电平推过判决门限,接收端仍可恢复原来的 0 或 1;模拟信号会把噪声连续地叠加并放大。CD 播放器体现了混合系统:光学系统读取数字码,DAC 转成模拟音频,放大后驱动扬声器。机电一体化把传感器、数字控制器和机械执行器结合起来,洗衣机、汽车和机器人都属于这一类。

图 1-3:基本音频扩音(公共广播)系统

图 1-4:CD 播放器的基本框图(仅画出一个声道)



图 1-5:机电一体化系统及其应用:(a) 系统框图;(b) 机械臂;(c) 汽车装配线
Success
判断一个产品的信号链:从“传感器→处理→执行器”逐块追踪,问它是否连续、是否经过 ADC/DAC、是否由 MCU/FPGA 按离散状态决策,比只看产品名称更可靠。
二进制位、逻辑电平与数字波形
二进制系统只有两个数字 0 和 1,一个二进制数字叫 bit(位)。本章采用正逻辑:HIGH=1、LOW=0;负逻辑则相反。真实芯片并不是用两个理想电压,而是规定 HIGH 与 LOW 的合法范围,中间还有禁止区。例如某 CMOS 输入可能把 2~3.3 V 判为 HIGH、0~0.8 V 判为 LOW,0.8~2 V 属于不可靠区。

图 1-6:数字电路的逻辑电平电压范围
脉冲由幅度、上升时间、下降时间和脉宽描述。上升时间 通常按幅度 10%→90% 测量,下降时间 按 90%→10% 测量,脉宽 常取两条边 50% 点之间的时间。周期波形满足:


图 1-7:理想脉冲:(a) 正脉冲;(b) 负脉冲

图 1-8:非理想脉冲的特性(含过冲、振铃、下垂及上升/下降时间、脉宽定义)

图 1-9:数字波形示例:(a) 周期性(方波);(b) 非周期性
例 1-1:周期、频率和占空比
已知:,。
公式:;。
代入:;。
结果:频率 100 Hz,占空比 10%。

图 1-10:例 1-1 的周期波形(T = 10 ms,t_W = 1 ms)
时钟是数字系统的节拍器,一个周期通常对应一个 bit time;时序图把多个波形对齐到同一时间轴。串行传输每次传 1 bit,只需一条线但速度较慢;并行传输一次传一组 bit,速度快但需要更多线路并可能产生偏斜。

图 1-11:时钟波形与一串比特对应波形同步的示例

图 1-12:时序图示例


图 1-13:二进制数据的串行与并行传输(仅画出数据线):(a) 串行传输 8 bit;(b) 并行传输 8 bit
例 1-2:串行与并行传输
已知:时钟 ,传输 8 bit。
公式:;;。
代入:;;。
结果:串行 8 μs,并行 1 μs。

图 1-14:例 1-2 的时钟与波形 A

图 1-15:例 1-2 中波形 A 表示的位序列
基本逻辑功能
逻辑把真/假转为 HIGH/LOW。三种基本功能是 NOT、AND 和 OR:NOT 输出输入的反值;AND 只有所有输入为 HIGH 才输出 HIGH;OR 只要有一个输入为 HIGH 就输出 HIGH。它们是比较器、加法器、寄存器和处理器的积木。

图:用逻辑门说明命题——AND 门只有全部输入为 HIGH 时输出才为 HIGH

图 1-16:基本逻辑功能及其标准符号

图 1-17:NOT(非)功能



图 1-18:AND(与)功能:只有全部输入为 HIGH 时输出才为 HIGH



图 1-19:OR(或)功能:只要有一个输入为 HIGH 输出即为 HIGH
Warning
不要把“电压高”机械地等同于“逻辑 1”:先确认正逻辑/负逻辑,再确认输入落在芯片规定的合法电平范围内。
组合逻辑与时序逻辑功能
组合逻辑的输出只由当前输入决定;时序逻辑还依赖过去状态,因此必须有存储。比较器判断 、 或 ;加法器输出和与进位;减法器输出差与借位;乘法可看作移位后的多次加法;除法通过比较、移位和连续减法获得商与余数。


图 1-20:比较功能:(a) 基本数值比较器;(b) 示例 A < B(2 < 5)由 HIGH 输出指示

图 1-21:加法功能:(a) 基本加法器;(b) 示例 A + B(3 + 9 = 12)
编码器把按键或十进制输入变成二进制码,译码器把二进制码变成七段显示等可见输出。MUX 从多条输入中选一条送至单线,DEMUX 把一条线分配到多条输出,二者可组成时分复用。触发器保存 1 bit,多个触发器组成寄存器;ROM 内容固定或半固定,RAM 可读写;计数器收到脉冲后更新并记住当前数值。片剂装瓶系统就是这些模块的组合:传感器→计数器→比较器,达到设定数量后关阀、换瓶,并用寄存器与加法器维护累计数量。

图 1-22:编码器把计算器按键编码为二进制码,供存储或运算

图 1-23:译码器把特定二进制码转换为七段十进制显示

图 1-24:基本复用/解复用应用示意

图 1-25:4 位串行移位寄存器的操作示例(每个方框代表一个存储单元/触发器)

图 1-26:4 位并行移位寄存器的操作示例

图 1-27:计数器基本操作示意

图 1-28:药片装瓶系统框图
可编程逻辑简介
固定功能 IC 出厂后功能不能改;PLD 像“空白画布”,可用 VHDL/Verilog、原理图或状态图实现逻辑。主要层次为 SPLD、CPLD 和 FPGA:SPLD 适合小规模逻辑,CPLD 把多个 SPLD 通过可编程互连组合起来,FPGA 由大量逻辑块、可编程互连和 I/O 块组成,适合复杂系统。

图 1-29:可编程逻辑的层次结构

图 1-30:简单可编程逻辑器件(SPLD)的框图

图 1-31:典型 SPLD 封装

图 1-32:CPLD 的一般框图

图 1-33:典型 CPLD 塑料方形扁平封装(PQFP)

图 1-34:FPGA 的基本结构

图 1-35:典型球栅阵列(BGA)封装
设计流程是:设计输入→编译→功能仿真→综合生成网表→实现(布局布线)→时序仿真→下载 bitstream。跳过功能仿真,逻辑错误可能直接进入硬件;跳过时序仿真,高速时的传播延迟可能导致系统失效。MCU 的硬件固定、程序决定动作;PLD 的程序决定硬件逻辑结构。

图 1-36:对 PLD 或 FPGA 编程的基本配置

图 1-37:可编程逻辑设计流程框图
固定功能逻辑器件
集成电路把晶体管、二极管、电阻等集成在一块硅片上。DIP 属于通孔安装,SOIC、SSOP、PLCC、LCC、LQFP、CSP 和 FBGA 属于表面贴装或其变体,后者节省 PCB 空间。DIP/SSOP 的 1 脚由缺口或圆点标记,编号从 1 脚向下、横穿、再向上递增;PLCC/LCC 顶视图按逆时针递增。

图 1-38:固定功能 IC 封装(双列直插封装)的剖视图,显示芯片安装在封装内并与输入/输出引脚相连


图 1-39:通孔安装与表面贴装器件示例:(a) 双列直插封装(DIP);(b) 小外形 IC(SOIC)






图 1-40:SMT 封装配置示例:(a) SSOP;(b) PLCC;(c) LCC;(d) LQFP;(e) CSP(底视);(f) FBGA(底视)


图 1-41:两类标准 IC 封装的引脚编号(顶视图):(a) DIP/SSOP;(b) PLCC/LCC
按等效门数,SSI≤10,MSI 为 10~100,LSI 为 >100~10,000,VLSI 为 >10,000~100,000,ULSI>100,000。常见技术有 CMOS、双极型 TTL 和 BiCMOS;大规模芯片常用 CMOS,因为面积和功耗更低。
测试与测量仪器
示波器显示电压随时间变化,可测幅度、周期、频率、脉宽、占空比和边沿参数。volts/div 决定每格电压,sec/div 决定每格时间,触发使重复波形稳定。DC 耦合保留直流分量,AC 耦合隔掉直流;测量前应做好探头补偿。

图 1-42:带电压探头的典型数字示波器

图 1-43:数字示波器的框图

图 1-44:典型数字示波器的前面板


图 1-45:示波器上未触发与已触发波形的比较:(a) 未触发;(b) 已触发


图 1-46:含直流分量的同一波形的两种显示:(a) DC 耦合;(b) AC 耦合



图 1-47:探头补偿的三种状态:正确补偿、欠补偿、过补偿
例 1-3:示波器刻度测量
已知:垂直 1 V/div,波形高 3 div;水平 10 μs/div,一个周期跨 4 div。
公式:幅度=格数×V/div;横向格数×sec/div;。
代入:幅度=;;。
结果:幅度 3 V,周期 40 μs,频率 25 kHz。

图 1-48:例 1-3 的示波器屏幕波形
示波器带宽要覆盖信号及其高次谐波,采样率通常至少为带宽 5 倍;记录长度决定采集时间:


图 1-49:波形采样示例:(a) 低采样率;(b) 较高采样率(红点为采样点)
逻辑分析仪适合同时观察大量数字线的状态与时序;示波器适合少量信号的模拟细节。DMM 用于电压、电流、电阻、通断和频率;测电流必须串联,通断和电阻测量必须断电。直流电源提供稳压直流,逻辑探头快速判断 HIGH/LOW,逻辑脉冲器用于注入测试脉冲。

图 1-50:典型逻辑分析仪

图 1-51:逻辑分析仪的简化框图


图 1-52:逻辑分析仪的两种显示模式:(a) 波形显示;(b) 列表显示

图 1-53:典型多通道逻辑分析仪探头


图 1-54:典型信号发生器:(a) 任意波形发生器;(b) 函数发生器


图 1-55:典型数字万用表:(a) 台式;(b) 手持式

图 1-56:典型台式直流稳压电源
故障排查入门
排障步骤是:收集信息→识别症状与可能故障→隔离故障点→用正确仪器确认→修复并复测。先检查电源、保险丝、连接器、断线、开关、板卡插接、焊锡短路和接地。二分法在输入与输出中点测信号,有则故障在后半段,无则在前半段,再继续二分;信号追踪则逐点从输入到输出或反向寻找信号丢失边界。

图:“动手实践”(Hands-On Tip)栏目标识

图:用示波器等仪器对电路板进行测量

图 1-57:二分法示意(蓝色箭头为测试点)

图 1-58:信号追踪法示意(从输入到输出,从输出反向追踪同理)
Warning
万用表电流档近似低阻通路,误把它并联到电源可能造成短路;测电阻或通断前必须断电。示波器探头地夹必须接被测电路的已知地。
Success
每次测量前写下预期波形(电平、周期、边沿和允许范围)。有了基准,仪器读数才有意义,也能避免盲目换板把外部故障带到新板。
本章小结与自测
本章要点:模拟量连续、数字量离散;bit 用 0/1 表示;波形用幅度、周期、频率、占空比和边沿描述;NOT/AND/OR 是基本逻辑;组合逻辑看当前输入,时序逻辑依赖存储;SPLD/CPLD/FPGA 可编程实现逻辑;IC 有封装、引脚和规模分类;示波器、逻辑分析仪和万用表负责观测;二分法与信号追踪法负责定位故障。

图 1-59:基本逻辑运算 NOT、AND、OR 的标准符号
自测题
1. 模拟量和数字量的根本差异是什么?
模拟量连续取值,数字量取离散值,数字系统通常用二进制码表示离散状态。
2. 已知周期 ,频率是多少?
。
3. AND 门何时输出 HIGH?OR 门何时输出 LOW?
AND 只有全部输入 HIGH 才 HIGH;OR 只有全部输入 LOW 才 LOW。
4. 为什么串行线少但传输同样位数更慢?
串行一次只传 1 bit,并行可在一个时间间隔传多个 bit。
5. 示波器和逻辑分析仪如何分工?
示波器看少量信号的模拟细节和时间参数;逻辑分析仪看大量数字通道的状态及相互时序。
以下为原书习题(Problems)配图,供对照练习使用。

图 1-60:习题 7 的脉冲波形(图解上升时间、下降时间、脉宽与幅度)

图 1-61:习题 8~11 的波形(判断是否为脉冲串、周期性,并求频率与占空比)

图 1-62:习题 12~14 的波形(bit time 为 1 ms,求位序列与串/并行传输时间)

图:二进制 0/1 位流(原书习题部分插图)




图 1-63:习题 19 的逻辑功能方框图:(a)、(b)、(c)、(d)(根据输入输出判断逻辑功能)


图 1-64:习题 28 的 IC 封装顶视图:(a)、(b)(标注引脚号)