编辑
2025-01-06
电路
0
请注意,本文编写于 103 天前,最后修改于 103 天前,其中某些信息可能已经过时。

目录

权电阻网络D/A转换器
倒T形电阻网络D/A转换器
权电流D/A转换器
电阻串联分压式D/A转换器
双极性D/A转换器
D/A转换器的技术指标

将数字信号转换为模拟信号的电路称为数模转换器

权电阻网络D/A转换器

鉴于二进制数都能写为

(Dn1Dn2D1D0)2=Dn12n1++D121+D020(D_{n-1}D_{n-2}\cdots D_1D_0)_2=D_{n-1} 2^{n-1}+\cdots+D_12^1+D_02^0

那么只需要将每一位二进制位都转换为模拟量,再把它们相加就好了

image.png

运放工作在线性区,有

vO=Rf(i0+i1+i2+i3)v_O=-R_f(i_0+i_1+i_2+i_3)

那么代入各个电流值,得到

vO=VREF24i=03(Di2i)v_O=-\dfrac{V_{REF}}{2^4}\sum_{i=0}^3(D_i\cdot 2^i)

不过这样精确的电阻很难实现

倒T形电阻网络D/A转换器

倒T形电阻网络中的电阻只有RRR/2R/2,网络呈倒T形

image.png

运放是一个反向放大电路(见神里绫华的狗),因此vN=0v_N=0,所以不论电阻上的开关接到什么地方,支路上的电流都不变。那么就能得到等效电路

image.png

如果递归地来看,不论是第几层,都等效于两个2R2R电阻的并联。因而总电流就是

I=VREFRI=\dfrac{V_{REF}}{R}

在每一个节点处,电路被分为相等的两份。由此就可以通过控制电阻上的开关得到不同的电压输出。nn位倒T形电阻网络的输出模拟量与数字量的关系为

vO=VREF2nRfR(i=0n1Di2i)v_O=-\dfrac{V_{REF}}{2^n}\cdot\dfrac{R_f}{R}\left(\sum_{i=0}^{n-1}D_i\cdot 2^i\right)

权电流D/A转换器

为了进一步提高精度,可以使用恒流源代替电阻网络,就像这样

image.png

实际中使用运放和BJT结合电阻网络实现权电流源

image.png

nn位的权电流D/A转换器的输出电压为

vO=VREF2nRfR1(i=0n1Di2i)v_O=\dfrac{V_{REF}}{2^n}\cdot\dfrac{R_f}{R_1}\left(\sum_{i=0}^{n-1}D_i\cdot 2^i\right)

适用于分辨率高且带宽高的应用

电阻串联分压式D/A转换器

将阻值相等的电阻串联,各个节点的电压就是总电压的等分点,结合译码器就可以实现数模转换

image.png

缓冲器是运放构成的电压跟随器,输出阻抗高,几乎没有电流,从而保证精度

双极性D/A转换器

双极性D/A转换器能输出正负电压,而单极性只能输出正的。双极性D/A转换器需要用到偏移码。对于正负nn位二进制数的范围

2n2n1-2^n\sim 2^n-1

而言,以2n-2^n为全0,依次+1将得到一组n+1n+1位编码,就像这样

image.png

它实际上就是补码将首位的符号位取反。那么以偏移码作为单极性D/A转换器的输入,再将输出减去最高位对应的电流,就能得到实际的电压,就像这样

image.png

在运放端引入的偏移电流IBI_B为总电流的一半

IB=12II_B=\dfrac12I

也可以使用反相加法器,如图

image.png

扣除一半的电压就能得到预期的电压

D/A转换器的技术指标

  • 分辨率:定义为最小输出电压和最大输出电压的比值,n位D/A转换器的分辨率表示为
    12n1\dfrac1{2^n-1}
  • 转换精度:记LSB为最低有效位为1其他都为0时的输出电压/电流,FSR为输入全为1时的输出电压/电流。误差可以分为失调误差和增益误差,以及级差非线性误差
    • 失调误差是输入为0时的零点误差,应该小于LSB的一半
    • 增益误差是电压曲线斜率与理想不一样,误差来自于基准电压和运放闭环增益
    • 级差非线性误差是D/A转换器输出步长的偏差。当数字量由k-1变为k时,模拟量增加了Δk\Delta_k,定义
      DNLk=ΔkLSB1DNL_k=\dfrac{\Delta_k}{LSB}-1
      定义DNL是DNLk|DNL_k|的最大值,要求在LSB的一半以内

本文作者:GBwater

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!