[原创]AD1861的毛刺脉冲及其解决方法
0赞AD1861是一款ADI公司推出的16倍FS脉冲编码调制音频的数/模转换器,基本特性如下:
1) 输出电压为±3V;
2) 操作电压为±5V;
3) 信噪比为llOdB;
4) 2s补码,串行输入;
5) 可选择的调整允许超线性特性;
6) 引脚兼容AD1856和AD1860音频数/模转换器;
7) 16引脚DIP和SOIC封装;
8) 快速锁定允许16倍重复采样。(翻译自官网)
购买价格为20多rmb,最近在使用这款电路芯片时出现了点小意外,查了很多资料,现在把这个过程给大家汇报一下:
DAC突波的产生原因是数字输入逻辑偏斜和DAC开关的传输延迟不一致,毛刺通常在中量程转换时最大,因为此时DAC中的所有位都要改变。011...1到100...0转换所产生的毛刺通常与100...0到011...1转换所产生的毛刺不同,因此必须单独分析每种情况。毛刺脉冲面积就是特定毛刺的面积,通常以pV-s为单位来表示;因此,为使不同DAC之间的比较有意义,必须知道DAC的满量程输出电压。使用“毛刺能量”这一术语是不正确的,因为单位pV-s并不是能量的度量标准。从图47可以看出,有6个可能的毛刺脉冲面积需要处理。每次转换有两个相关的毛刺脉冲,将其面积分别称为1、2、3、4。此外,考虑与各次转换相关的“净毛刺脉冲”也很有用。净毛刺脉冲面积分别为AREA1-AREA2和AREA3-AREA4。因此,当查看DAC数据手册上的毛刺脉冲面积特性时,如果制造商说明得不够清楚,则很可能会造成混淆。无论滤波与否,毛刺脉冲面积保持不变。快速建立时间并不总是意味着毛刺脉冲面积小。比较理想的状况是,对于每次转换,DAC的净毛刺脉冲面积为0,即AREA1-AREA2=AR-EA3-AREA4=0。当然,在理想状况下,所有四个面积均为0,具体如下图所示:
我查阅了很多资料,目前多这种毛刺解决的方案主要有如下几种:
1利用冗余项法
利用冗余项消除毛刺有2种方法:代数法和卡诺图法,两者都是通过增加冗余项来消除险象,只是前者针对于函数表达式而后者针对于真值表。以卡诺图为例,若两个卡诺圆相切,其对应的电路就可能产生险象。因此,修改卡诺图,在卡诺图的两圆相切处增加一个圆,以增加多余项来消除逻辑冒险。但该法对于计数器型产生的毛刺是无法消除的。
2采样法
由于冒险多出现在信号发生电平跳变的时刻,即在输出信号的建立时间内会产生毛刺,而在保持时间内不会出现,因此,在输出信号的保持时间内对其进行采样,就可以消除毛刺信号的影响,常用的采样方法有2种:一种使用一定宽度的高电平脉冲与输出相与,从而避开了毛刺信号,取得输出信号的电平值。这种方法必须保证采样信号在合适的时间产生,并且只适用于对输出信号时序和脉冲宽度要求不严的情况。另一种更常见的方法叫锁存法,是利用D触发器的输入端D对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号。由于在时钟的上升沿时刻,输出端Q=D,当输入的信号有毛刺时,只要不发生在时钟的上升沿时刻,输出就不会有毛刺。这种方法类似于将异步电路转化为同步电路,实现简单,但同样会涉及到时序问题。
3吸收法
由于产生的毛刺实际上是高频窄脉冲,故增加输出滤波,在输出端接上小电容C就可以滤除毛刺。但输出波形的前后沿将变坏,在对波形要求较严格时,应再加整形电路,该方法不宜在中间级使用。
4延迟法
因为毛刺最终是由于延迟造成的,所以可以找出产生延迟的支路。对于相对延迟小的支路,加上毛刺宽度的延迟可以消除毛刺。但有时随着负载增加,毛刺会继续出现,而且,当温度变化,所加的电压变化或要增加逻辑门时,所加的延迟是不同的,必须重新设计延迟线,因而这种方法也是有局限性的。而且采用延迟线的方法产生延迟会由于环境温度的变化而使系统可靠性变差。
这四种方法都试过了,效果不是很理想,最终的杀手锏就是用SHA方法,其实很简单,就在要将新数据锁存至DAC之前,将SHA置于保持模式,从而将DAC开关突波与输出隔离。SHA所产生的开关瞬变与码无关,并且以更新频率出现,因此很容易予以滤除。
非常棒,其实解决一个问题的过程就是进步的过程,如果有志同道合的朋友,可以一起交流,AD1861具有强大地生命力,体验中。。。。。。