38度发烧友--38Hot Volt-Nuts

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1105|回复: 0

HP34401A原理分析

[复制链接]
发表于 2012-3-6 20:20:32 | 显示全部楼层 |阅读模式
一、            HP34401A相关参数
1.输入信号每隔200mS(200mS加入,200ms为零信号)加入一次,即每隔一段时间加入零信号,在零信号输入期间主要是算出由于开关造成的电荷注入偏置,在信号输入时测量的结果要减去此偏置值,周期性的定时计算偏置,是因为由于温度的影响,开关的注入电荷量不同,所以要实时计算偏置。
2. 一秒钟采样6次(5)。
3.时钟频率:Fc=12MHz
4.时钟周期:Tc=1/Fc ≈0.0833 us
5.6位半时单次采样最小周期为:Ti_min=1000000 ×Tc=83333.3 us ≈ 83.333 ms
6.6位半时单次采样最大周期为:Ti_max=12000000×Tc=100 mS
7. ASIC计数得到最终转换原码的高位,由测量剩余电压得到最终转化原码的低位。
8.ADC每32个时钟周期(2.66us)比较一次,并根据比较结果选择接入的基准电压极性。
控制逻辑控制着积分器输入端的模拟开关,使积分器的最高输出电压在2.5V左右。若输入电压V[sub]ADIN[/sub]的范围为±15V,则积分器(FLASH脚)的电压范围为0~5V;如果输入电压大于+15V,则积分器将饱和,其输出电压为-18V(负电源电压);如果输入电压小于-15V,则则积分器亦将饱和,其输出电压为-18V(负电源电压)。剩余电压测量输入脚(FLASH)的电压范围由2电阻限制在0~5V,以保护后面的ADC芯片。积分运放AD711前端运放OP27用来提高积分运放的输入偏置特性,R10、R11用来减少开环增益,以提高积分电路的稳定性。3.电压档标定电压:100mV,1V,10V,-10V,100V,1000V;参考设备:Flucke 5700A/5725A

一、            HP34401A方案的实测与分析(针对市电50Hz)

1.     实测:输入电压(在放大电路之前)每200mS接入一次,然后切换到地,如图1所示。作用是实时修正偏置误差,如温漂、时漂等
 楼主| 发表于 2012-3-6 20:25:15 | 显示全部楼层

继续

P1.JPG

分析:据HP34401A维修手册介绍,在6位半精度快速采样(10 PLCs)时,采样率为4Hz或6Hz,即当前一秒内采样6次,下一秒内则采样4次,平均采样率为5.5Hz;对比图2-1可以分析出在输入信号接入的200mS内进行了2次采样。
2.实测:HP34401A维修手册原理图中SYNC信号的波形如图2-2所示。此信号由ASIC芯片发出,用来同步单片机80c196进行ADC(80c196片内10bit逐次积分ADC)测量,此信号作为采样保持触发信号,实测SYNC信号频率为50Hz,高电平脉冲持续时间约为22us。
P2.JPG
分析:图2-2中的蓝色线为2次采样的分界点。积分型ADC的特点是可以利用对输入信号进行积分的特性,将输入信号中的交流干扰信号进行平均,可以大大减少干扰信号对测量精度的影响。干扰信号中市电的干扰最为明显,为去除此类信号,积分时间一般为市电周期的整倍数,对于50Hz市电系统,HP34401A一次采样的时间(积分时间)为5倍的市电周期(5 PLCs),即100ms。对于60Hz市电系统,应该是6倍的市电周期,亦即100ms,这样既不减少积分时间又能消除市电干扰信号对测量精度的影响,见图2-3所示。
P3.JPG

小结:SYNC信号的上升沿启动S/H(Sample& Hold,采样保持)电路中的采样(sample)功能,在下降沿启动保持(hold)功能,由CPU中的逐次逼近式ADC进行剩余电压的测量。
HP34401A的ADC为多斜积分III型结构,无去积分期,采样和结果的获得均在积分期进行;为获得低位数据,用外置高速ADC测量积分器剩余电压,理论上是在启动一次测量时读取一次剩余电压值,结束该次测量时再读取一次剩余电压值,这二次剩余电压的差值即含有整个测量结果的低位值。需要做的就是将测量的这2个值转换成和高位(主计数值,包括正电压接入计数和负电压接入计数的值)同一权值,这样才能把高、低位合成最终测量结果。
另外,由于正、负电压基准的电压绝对值不可能绝对一致,所以正、负电压基准接入的计数值不能简单的进行相减,即作为测量结果的高位,需要对此2个计数值进行标定。
据实际推算,在快速测量6.5位快速模式下,测量一次,正、负电压基准计数器的计数差值最大约为11030,折算成二进制不到14位,但大于13位;若要是测量结果能达到六位半(6.5 digital,一般标称为22 bits),则必须至少要20位二进制数(2[sup]20[/sup]=1048576),要达到标称的1200000个最大计数,则需要21位有效二进制数(2[sup]21[/sup]=2097152)。 所以剩余电压测量ADC需要至少8位二进制值精度;因此实际设计的方案中最好选择大于或等于10bits的ADC。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-6 20:33:01 | 显示全部楼层

GO ON

三、HP34401A电路分析

HP34401A实际电路见附录1。简化等效电路如图3-1所示。 p4.JPG
p5.JPG

时计数值是C1,当输入电压是Vx+v时计数值是C2,则|C2-C1|的理论值就是1,超过1就说明计数值的权值下降了。这个是确定积分器参数的根据。
积分器输出电压调整电路的目的是通过调整Vcomp(该电压信号送给ASIC芯片,作为正、负电压基准切换的判定信号),使积分器的输出电压不超过后面剩余电压测量ADC的量程范围,但又不能使该电压动态范围过小,从而降低了测量精度。
HP34401A中的Vcomp是接到COMS型可编程逻辑阵列芯片SCX6206的引脚上的,该芯片的最小输入高电平电压V[sub]IH[/sub]为0.7VDD,即3.5V;最大输入低电平电压V[sub]IL[/sub]为0.3VDD,即1.5V;要保证连续2个积分周期内积分电压的斜坡方向不变时,输出的电压不超过剩余电压测量ADC的最大输入电压(5V),则直接用Vint作为比较电压是不行的。因为正常情况下,1个积分内Vint的最大值约为2.67V(请参考Vint的计算公式),那么在VIH为3.5V时,积分器的最大输出电压将会超过6.1V(输入电压为10V或-10V时的情况),超过剩余电压测量ADC的量程。为解决该问题,设计了调整电路;该电路的设计原则,一是不能影响计数值和输入电压的线性关系以及准确度,二是能确保Vint的最大值不超过5V,最小值不低于0V。
Vint出现最大值的情况:当Vcomp=3.5V(0.7VDD)时,Vint以最大斜率上升T(T=2.67μs)时间后,Vint的值必需不大于5V。Vint以最大斜率上升发生在Vx=-10V(理论设计的最大输入电压量程)的时候,积分T时间Vint增加1V;得知,当Vcomp=3.5V、Vx=-10V时,Vint必需小于4V;HP34401A的电路中,Vcomp=3.5V、Vx=-10V时,Vint=3.14V(考虑到裕量),且保证了计数值和输入电压的线性关系,符合要求。
Vint出现最小值的情况:当Vcomp=1.5V(0.3VDD)时,Vint以最大斜率下降T(T=2.67μs)时间后,Vint的值必需不小于0V。Vint以最大斜率下降发生在Vx=10V(理论设计的最大输入电压量程)的时候,积分T时间Vint减少1V;得知,当Vcomp=1.5V、Vx=10V时,Vint必需大于1V;HP34401A的电路中,Vcomp=1.5V、Vx=10V时,Vint=2.27V(考虑到裕量),符合要求。
通过以上分析,可知HP34401A的Vint理论值域为1.27~4.14V。考虑到实际输入的电压值可能大于10V或小于-10V(允许此种情况的存在,以便判断是否切换量程),且考虑到实际的电路参数误差,所以此处Vint留有约1V的裕量。    ADC仿真原理图(TINA)
p6.JPG
p7.JPG
p8.JPG
p9.JPG

回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-6 20:36:42 | 显示全部楼层
p10.JPG
p11.JPG

以上2个图主要用来分析控制电压基准接入的模拟开关(CD4053)前面接入一个D触发器(74AC74)的目的。同步信号SYNC是由CPU发出的,当积分周期开始和结束时,一是控制CPU内部的逐次积分ADC进行采样、保持并读数;二是控制ASIC内部计数器的开始和停止。
SYNC和模拟开关的控制信号不是严格同步的。为避免SYNC的触发信号和计数器的开始或停止信号同时出现而有可能造成的±1个计数误差,从而采用D触发器进行延迟。
SYNC的上升沿启动CPU内部ADC进行采样,而ASIC内部计数器是由375kHz的时钟来驱动的,对于正负电压基准计数的判断是根据375kHz时钟到来前的COMP信号电平来确定的,而SYNC信号无外乎是在clk12的上升沿或下降沿触发,所以不影响当前电压基准接入的计数。
相同时间内积分器输出电压的差值是相同的,所以图3.2中虽然ADSW1和XADSW1的切换时间对于375k的时钟信号而言有延迟(固定的延迟),但任意2个375k上升沿间的正、负基准接入的时间是相同的,所以在375k的上升沿来触发剩余电压ADC的测量,和经过固定的延迟后触发剩余电压ADC的测量的结果是一致的。这样做的目的是避开在切换基准电压时触发剩余电压ADC的测量,避开切换时的不稳定电压值。也就是剩余电压ADC从采样转换到保持并开始进行测量时,积分器的输出电压一定是处在上升或下降的过程中的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-6 20:40:36 | 显示全部楼层

End

以上是在下的拙见,只是个人分析,错误难免,希望抛砖引玉,期望大家共享分析心得,不要保密;否则大家就不能共同发展。
回复 支持 反对

使用道具 举报

发表于 2012-3-6 20:42:03 | 显示全部楼层
看来是发完了 坐下来看一看
回复 支持 反对

使用道具 举报

发表于 2012-3-6 20:52:18 | 显示全部楼层
好文章,学习了!
回复 支持 反对

使用道具 举报

发表于 2012-3-6 20:59:58 | 显示全部楼层

回 zhaossy 的帖子

zhaossy:以上是在下的拙见,只是个人分析,错误难免,希望抛砖引玉,期望大家共享分析心得,不要保密;否则大家就不能共同发展。 (2012-03-06  20:40) 
不是砖,是玉!
回复 支持 反对

使用道具 举报

发表于 2012-3-6 21:30:13 | 显示全部楼层
技术贴,顶一个
回复 支持 反对

使用道具 举报

发表于 2012-3-6 21:55:01 | 显示全部楼层
优秀文章,支持!n神马都是浮云
回复 支持 反对

使用道具 举报

发表于 2012-3-6 23:18:53 | 显示全部楼层
2楼仿真的波形是错误的。
回复 支持 反对

使用道具 举报

发表于 2012-3-6 23:54:53 | 显示全部楼层
优秀文章,支持!n神马都是浮云
回复 支持 反对

使用道具 举报

发表于 2012-3-7 08:15:48 | 显示全部楼层
80C196内部用于斜坡计数的counter位数是16bit,加上剩余电压检测用逐次逼近ADC的10bit ,34401A的ADC是不是26bit了(不考虑“权”)?
回复 支持 反对

使用道具 举报

发表于 2012-3-7 08:28:17 | 显示全部楼层

回 youngliu 的帖子

youngliu:80C196内部用于斜坡计数的counter位数是16bit,加上剩余电压检测用逐次逼近ADC的10bit ,34401A的ADC是不是26bit了(不考虑“权”)? (2012-03-07  08:15) 
不是的,不是这种算法,楼主的算法是应该是对的。
连续积分型AD只要有足够长时间的积分,理论分辨率就可以无限大。
计数器的位数是小问题,16bit溢出后还是可以继续重新计数的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-7 09:05:49 | 显示全部楼层

回 youngliu 的帖子

斜坡计数是ASIC芯片(内部8位)和CPU定时计数器(通过SYNC信号,16位计数器位数)一起计数的;ASIC的计数器用于计低8位,CPU计数高16位,光计数器是24位长度;用于测量剩余电压的ADC(80C196内部ADC模块)是10位。计数器位数多,是为了满足更多积分时间的需要,比如34401A的最长积分时间是100PLCs,即2秒,需要18位计数器长度;此外34401A有频率测量功能,也会用到该计数器。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-7 09:09:34 | 显示全部楼层

回复10楼

2楼的波形是正确的,你可以用示波器实地测一下,就是这个波形。
回复 支持 反对

使用道具 举报

发表于 2012-3-7 09:37:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2012-3-7 12:50:11 | 显示全部楼层

回 zhaossy 的帖子

zhaossy:2楼的波形是正确的,你可以用示波器实地测一下,就是这个波形。 (2012-03-07  09:09) 
每个小的积分周期都应该是相同的,这是34401A的ADC的特点,它需要依靠这一特点解决很多问题。
回复 支持 反对

使用道具 举报

发表于 2012-3-7 13:08:38 | 显示全部楼层

回 zhaossy 的帖子

zhaossy:斜坡计数是ASIC芯片(内部8位)和CPU定时计数器(通过SYNC信号,16位计数器位数)一起计数的;ASIC的计数器用于计低8位,CPU计数高16位,光计数器是24位长度;用于测量剩余电压的ADC(80C196内部ADC模块)是10位。计数器位数多,是为了满足更多积分时间的需要,比如34401A的最长积分 .. (2012-03-07  09:05)
2s,时钟周期2.6666us,最大计数值是750000,需要20bit了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-7 14:48:03 | 显示全部楼层

回复17楼

17楼的兄弟钻牛角尖了。小的积分周期是定的啊,2.667uS,但正、负电压基准不是挨个交替接入的,也就是有可能正的电压基准连续接入2个2.667us。
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2012-3-7 14:54:04 | 显示全部楼层

回复18楼

积分时间为2秒,时钟周期为2.667us,有750000个时钟,但计数器不是对时钟计数啊,而是对正的电压基准接入次数或负的电压基准接入次数进行计数;最大计数差值约为250000左右,18位计数器就足够了。
回复 支持 反对

使用道具 举报

发表于 2012-3-7 21:00:57 | 显示全部楼层
坐下来看一看
回复 支持 反对

使用道具 举报

发表于 2012-3-7 23:29:45 | 显示全部楼层
哎呀,整了一天了,按照34401A积分电路搭出来的电路,出来的波形老是会出现几个大的三角波,而且个数随着输入电压的大小变化,单纯用D触发器我是没辙了
回复 支持 反对

使用道具 举报

发表于 2012-3-7 23:54:27 | 显示全部楼层
优秀文章,支持!n神马都是浮云
回复 支持 反对

使用道具 举报

发表于 2012-3-8 05:27:14 | 显示全部楼层
鼓励原创。
回复 支持 反对

使用道具 举报

发表于 2012-3-8 08:34:57 | 显示全部楼层

回 zhaossy 的帖子

zhaossy:17楼的兄弟钻牛角尖了。小的积分周期是定的啊,2.667uS,但正、负电压基准不是挨个交替接入的,也就是有可能正的电压基准连续接入2个2.667us。 (2012-03-07  14:48) 
正、负电压基准必须是挨个交替接入,
而且当输入电压在正负10V范围内时,它们接入积分的时间是不会少于0.8us也不会多余1.6us的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-8 09:13:41 | 显示全部楼层

回25楼

“正、负电压基准必须是挨个交替接入,而且当输入电压在正负10V范围内时,它们接入积分的时间是不会少于0.8us也不会多余1.6us的。”;不知从何说起啊,是什么原因让你对这个错误的认识这么确定?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-8 09:20:17 | 显示全部楼层

go on

如果正、负电压基准必须是挨个交替接入,就不用计数了,因为积分时间一定的话,计数值也就定了;正、负电压基准的接入周期必需是2.66us的整数倍,没有0.8us和1.6us之说;相同的电压基准连续接入的次数一般不超过2次。
回复 支持 反对

使用道具 举报

发表于 2012-3-8 12:15:26 | 显示全部楼层

回 zhaossy 的帖子

zhaossy:“正、负电压基准必须是挨个交替接入,而且当输入电压在正负10V范围内时,它们接入积分的时间是不会少于0.8us也不会多余1.6us的。”;不知从何说起啊,是什么原因让你对这个错误的认识这么确定? (2012-03-08  09:13) 
因为已经实现了这个AD,
在10V档在100PLC积分时间的噪声为0.36uVrms(相对10V的标准差为0.036ppm),10PLC为1.23uVrms。,1PLC为4.9uVrms。
100mV档,100PLC积分时间的噪声为0.27ppm(27nV),10PLC为0.91ppm,1PLC为2.86ppm。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-8 13:05:58 | 显示全部楼层

Re:楼上

但测量灵敏度问题分析和正负电压基准接入分析没有关系啊。积分波形及控制时序都是实测HP34401A。我也实现了这个ADC,楼上大侠是否可以共享一下战果啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表