一:他人实验,片内集成的ADC效果要差,最近用430F149片内A/D,即便是把AI输入端接地,转化结果仍然有很多毛刺,这完全是器件本身产生的,并非外部干扰。
(个人点评,确实有波动,但是波动很小,只有1BSL,采样时会产生100mV的尖峰干扰,看个人的滤波能力了,我们用的电池供电的设备。)
二:SD16我用得比较多,总体上来说,性价比还是很高的。 只要外部电路合理,信号不是很小,14位有效数字都还是没问题的,甚至更高。(个人点评:外围电路配置好,可以做到16位,就看自己的模电功底了。)
和外置的SD16相比,差距主要体现在:阻抗、抗干扰和稳定性方面。——毕竟成本要低很多了。(个人点评:稳定性相当不错,我用的F437的430,AD12经过过采样达到了16位AD的稳定性,用做仪表的恒温槽做的标定,性能肯定达不到AD16的性能。阻抗匹配很难匹配,我花费了好长时间,为了采集数据的提高稳定性,通道RC滤波选择的值比较大,引起固有偏差相对比较大,可以用软件修正回来。抗干扰能力,只能等我们的产品到现场测试了,我也期待。)
三: 内部外部外部AD简单比较
1、历史原因,内置AD是个新事物,AD用专门的芯片符合传统的思维习惯,就像现在51还在大量使用一样。
2、内部AD的性能,往往确实不如专用的AD芯片好,这是性能和成本之间的一个矛盾。
3、内部AD想用好不是那么容易,不仅硬件上处理起来麻烦,诸多寄存器设置起来也很麻烦,很难发挥出应有的性能。(个人点评:我用的就是12AD过采样达到了16位AD的精度,确是很难调试。)
四: 问: 对于外置或者内置的SD16-ADC模块/芯片应用时,以你过往的经验在硬件上设计时有那些东西特别需要注意的。如电源、模拟输入,前端、滤波器、元件精选、PCB设计等方面你们都是如何处才得到较理想的采集结果呢?
答:对应硬件上的设计,需要注意的地方个人认为最需要注意的地方有:1.输入共模电压、2.输入阻抗、3.端口阻容滤波。
——输入共模电压,SD16是差分输入,但其共模抑制比我发现并不是很高,同样的差模输入,当输入负端接地和垫高一个电位后,测量的结果差别较大;差模输入时,负端垫高电位(0.5V~1.5V)的测量结果(相当于固定的共模电压),和不额外垫起电位的标准差模输入相比(相当于浮动的共模电压),稳定性要高不少。此外,垫起共模电压后,线性要比负端接地时好一些,推测是内部的PGA(可视为运放)的输入动态范围影响的结果。从简化电路的角度看,建议外部差模输入以1.2V基准电压(Vref引脚)作为抬高的共模电位。
如果可能的话,最好在MSP430的AD前端,先用模拟电路进行初步的处理,这样会获得相当不错的效果。
——输入阻抗,SD16和SD16A的一个重要区别就在于输入阻抗,SD16A增加了一个输入缓冲单元,大大提高了输入阻抗。和外置的Sigma-Delta型AD(>1M量级)相比,SD16的输入阻抗小了不少(100K量级)。估算一下,100欧输出阻抗的信号源,因SD16输入阻抗而损失的精度应该有千分之一,这对于阻抗稍高的信号源很不利。fft先生说的前面要加运放,我想应该是出于这方面的考虑。对于SD16A,打开缓冲器以后,这方面性能会有所改善。基本上PGA增益不大于4时,稳定到14位是没问题的,我现在一直在用这样的配置。但内部缓冲器的性能不是很好,我在实验中发现,其抗干扰性比外部的运放电路要差一些。
——靠近差分输入端口的地方,强烈建议加一个大一些的电容,如果是测量直流成分,把0.1u增加大0.47u甚至1u都有益无害。而且,一个差分接法的电容,比两个对地接的电容,效果要明显得多。至于电阻,可以取小一些,个人经验不超过100欧比较好。
五:问- 在你过往的应用中,你用SD16模块所对接的传感器是什么样的传感器较多?这些传感器在与ADC之间链接时你们通常采样什么样的的电路处理,在选择元件时需要注意到那东西。
答:(starmouse)我处理的比较多的是热电偶、热电阻等几十mV量级的小信号,阻抗不小。基本上两个思路,前置运放的,和直接连接到SD16的。前者电路比较复杂,对电源、温漂都是挑战,但实验发现性能要好一些。后者性能略差一些,但电路简单很多,由于软件滤波可以改善前端测量的结果,而且14位的精度已经满足我们的需求,所以在设计中,一直采用了直连的方式,而且一定用的是MSP430F4250等系列中的SD16A。
六:问-在电路成型或测试之初工程师们对电路作出测评时应该需要测量那些参数和如何断定这个设计中是否合格,这一点可能更需要starmouse更细心是为我们分享一下。
答:我们实验其实也不是很严密,TI官方网站上有给出过完整的测试数据,大致的趋势是这样的:4倍增益一下,可以做到15位上有效数字,8倍以上,随着位数的升高可能会下降到13位,除此之外,过采样率、通道切换后等待时间等也都会造成影响。我们认为,SD16能达到14位以上精度,已经算是合格了,如果真的要求16位有效数字,通常要选择更高位数的AD。具体整机测试时,看输出的(1)稳定性(2)整个量程范围内的线性(3)增大或减小到某个特定输入值时输出是否一致,即迟滞性。通常末尾的无效数字会影响稳定性,这时可以用去尾法舍弃这部分。另外,整机往往有数组阻尼环节,测试时,应把阻尼时间设为0.以上是个人的一些经验,很多没有理论依据,可能和别人的实验不一致,欢迎指正
七:问 :SD16的详细问题?
补充一下你上面的第一点最后部分,这RC的滤波器的电容值将会直接影响对信号截止频率值。这点应该可以注册。R的值不能太大,否则也会影响到ADC的输入阻抗问题。对于你最后一个问的精度与稳定性问题,我想还是想追问一下:
如果你SD16转换后得到的16位数据,如果按你的“4倍增益设置”,且你认为只需要用到14位数据就足够使用了,那么此时你们通常的做法是不是将16位数据右移两位的做法来得到14位数据呢?还有手册中所标的最高转换速率是指SD16单次单通道最快的转换速度吗?这个手册的速度参数将会引起较多人所感兴趣。很多书籍上并未作一个较好的解析,算比较模糊概念。如果你SD16转换后得到的16位数据,如果按你的“4倍增益设置”,且你认为只需要用到14位数据就足够使用了,那么此时你们通常的做法是不是将16位数据右移两位的做法来得到14位数据呢?
答:—— 我一般并不是这样处理的,因为测量得到的16位整数总要通过一些换算才能得到需要测量的物理量,在最后物理量输出的时候,我一般只保留到某一位小数(去尾法)。这样以来,末尾AD采样数字的波动也就不会反映在输出中了。其实和去尾本质上并没有区别,仅仅是一个在前面去尾,一个在后面去尾。——
我认为: 有效位数 和 稳定性 是一对矛盾,通常需要兼顾一下,这其实是一种 牺牲部分有效位数来换取稳定性的思路。
2.还有手册中所标的最高转换速率是指SD16单次单通道最快的转换速度吗?这个手册的速度参数将会引起较多人所感兴趣。很多书籍上并未作一个较好的解析,算比较模糊概念。
—— SD16_A是多路单内核的结构,最高速度应该是这样的设置:单通道连续采样模式、最高主频、最低过采样率。
—— SD型AD的速度和精度也是一对矛盾,过采样率低的时候,精度会明显下降,所以本质上不大适合高速(上K)的采样。如果要求速度高,不如使用ADC12模块