微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
本节目录
一、D/A转换器原理
二、D/A分辨率
三、D/A转换时间
四、D/A转换速率
五、D/A转换的毛刺脉冲
本节内容
一、D/A转换器原理
数模转换的核心部分是一组电流开关及其位权电流的控制。它的输出信号实际上就是宽度为转换速率倒数的矩阵脉冲串,其时域和频域表达式如下:
其中fs为D/A转换器的转换速率,f为D/A转换器重建信号的输出频率。
二、D/A分辨率
D/A转换器的分辨率指标:如果D/A转化器的最大输出电压范围为A,转换位数为n,D/A的分辨率为:
∆A=A/(2^n)
当然,D/A转换器的精度主要取决于转换位数的多少,但与外围电路有关。通常影响D/A转换器精度的主要因数有零点误差、增益误差、非线性误差等。
零点误差是指输入为全零码,模拟输出值与理想输出之间的偏差。对于单极性信号,模拟输出的理想值为0V,对双极性信号,模拟输出的理想值为负域的满量程值。
一定温度下的零点误差,可以通过外部措施来补偿。D/A转换器的输出与输出传递曲线的斜率称为转换增益,实际转换的增益与理想增益之间的偏差为增益误差。
三、D/A转换时间
D/A转换时间是指从数字量输入开始,直到DAC输出建立在某个确定的误差范围内,所需要的这段时间。D/A转换器的电阻网络、模拟开关,以及驱动电路的延迟特性,均会影响转换速率。当然,实际建立时间不仅与转换器的转换速率有关,还与数字量变化的大小有关。通俗讲,就是输入数据从全0变成全1所需要的时间最长,称为满量程变化的建立时间。输入数据从011……1变换到100……0所需要的时间称为半量程建立时间。
四、D/A转换速率
转换速率又称为刷新速率,通常定义为建立时间和传输延迟的倒数。如果没有足够时间来保证建立时间小于±1/2LSB,过快地刷新D/A转换器,其输出就会引起误差。建立时间ts是指,从初值上下两边各留±1/2LSB误差开始计算,直到终值两边各留±1/2LSB误差范围为止的这段时间。
D/A转换器的最大转换速率为:
fmax=1/ts
其中ts表示相对于±1/2LSB误差的建立时间。
五、D/A转换的毛刺脉冲
毛刺脉冲时输入码发送变化时刻产生的瞬时误差。其主要是由于开关在状态切换过程中,“导通”和“截至”的延迟时间不同造成的。毛刺脉冲通常在D/A的半量程转换时最大,主要原因是D/A转换器的所有数据位在该点进行转换。
以一个半量程转换的例子来看,输入码由011……1变换到100……0时,只增加了1LSB,在转换的过程中出现了000……0的状态,模拟输出猛降,造成一个很大的毛刺脉冲。