DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 889|回复: 0
打印 上一主题 下一主题

[待整理] 电压比较器VIO的开环测试

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-11 13:42:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
输入失调电压(VIO)是电压比较器(以下简称比较器)一个重要的电性能参数,GB/T 6798-1996中,将其定义为“使输出电压为规定值时,两输入端间所加的直流补偿电压”。传统测试设备大都采用“被测器件(DUT,Device Under Test)-辅助运放”的测试模式,测试原理图见图1。


     在辅助运放A的作用下,整个系统构成稳定的闭环网络,从而使VD=0,则 VC = -VS1•R1/R2

  这样,调节外加电源VS1即可控制DUT的输出。当VC等于规定电压时, VIO = VA - VB

  显然        又VB=0 ,
        通过测量辅助运放A的输出电压VE,便可换算出VIO。

  在上述的闭环回路中,DUT工作状态与普通运算放大器无异,这种测试的好处是可以通过外加电源VS1,方便地将DUT的输出钳位在规定值,同时由于VIO多为毫伏级,而将VIO放大至伏特级进行测试,对测试设备的要求不高,但受干扰信号影响较大。

  美国Credence公司研制的IC测试设备ASL-1000,配置为DVI_300二块,ACS、TMU、DOAL、MUX各一块,而比较器与运算放大器在输出特性上的差异以及运放测试回路DOAL(Dual Op Amp Loop)的电路特点,决定了比较器在ASL-1000上的测试,不能象测试运放那样,利用DOAL形成一个闭环网络,来实现DUT的输出嵌位。所以,用两块Force和Measure源dvi_9、dvi_11,辅之以doal_8的部分资源,构成了VIO的开环测试电路,图2为LM311(单比较器)VIO的测试原理图。



        与闭环网络不同,这样的开环测试电路无法将DUT的输出电压Vout钳位于任意的规定值,因此采取了逐次逼近测试法,dvi_9_channel_0和dvi_11_channel_0被用做给DUT提供工作电源,前者同时给上拉电阻R1供电,显然如果不提供R1,DUT的Vout不可能逼近规定的1.4V。dvi_11_channel_1对DUT同向端施加电压,初始值为12mV,由于反向端接地,正常情况下,在DUT输出端测量Vout的dvi_9_channel_1测值应大于1.4V,然后按一定的步进减小同向端电压,一旦Vout从大于1.4V跃变到小于或等于1.4V,即Vout无限接近于1.4V时,便可认定此时施加在同向端的电压为目标测值VIO。极端情况下,Vout的初始测值就不大于1.4V或始终大于1.4V,则可置VIO=999.9999mV,判定该芯片“损坏”。

  以下是在ASL-1000上自行开发的LM311的VIO测试程序Vio_2.cpp。

  #include asl.h
#pragma warning (disable:4244)
#include Vio_2.h
void Vio_2_user_init(test_function&func)
{
Vio_2_params *ours;
ours=(Vio_2_params*)func.params;
}
void Vio_2(test_function&func)
{
Vio_2_params *ours;
ours=(Vio_2_params*)func.params;
float measured_V,Vadj,V,Vio;
int i;
board_hardware_init();
oal_8->open_relay(HV_BUF_CONN);
oal_8->open_relay(LOAD_REF_GND);
oal_8->close_relay(CONNECT_LOADS);
oal_8->close_relay(LOAD_REF_EXT);
oal_8->close_relay(LOAD_600);
dvi_9->set_current(DVI_CHANNEL_0,0.2);
dvi_11->set_current(DVI_CHANNEL_0,0.2);
dvi_9->set_voltage(DVI_CHANNEL_0,15); //VCC
dvi_11->set_voltage(DVI_CHANNEL_0, -15); //GND
delay(1);
oal_8->close_relay(DUT_OUT_OUT);
dvi_9->set_voltage_range(DVI_CHANNEL_1,POSITIVE_V_OUT,VOLT_20_RANGE, FAST_VOLTAGE_MODE); //set measure range
dvi_9->set_current(DVI_CHANNEL_1,1.0e-6);
dvi_9->set_meas_mode(DVI_CHANNEL_1,DVI_MEASURE_VOLTAGE);
func.dlog->Power=POWER_MILLI;
Vadj=0.0;
V=0.0120;
for(i=0; i<40; i++)
{
Vadj=Vadj/3-3.0e-4;
dvi_11->set_voltage(DVI_CHANNEL_1,V);
dvi_11->set_current(DVI_CHANNEL_1,1.0e-3);
delay(1);
measured_V=dvi_9->measure();
if (measured_V>1.4000) V="V"+Vadj;
else i="40";
}
if ((Vio==0.0120)||(measured_V>1.4000)) Vio="0".9999999;
else Vio="V";
do_dlog(func,0,Vio,ours->fail_bin,);
board_hardware_init();
}


  上述电压比较器VIO的开环测试,实现了由间接测试向直接测试的转化,适当减小步进(测试时间延长)可提高测试的分辨率,但却将ASL-1000配置中所有的Force和Measure资源全部用完,因而在测试双比较器和四比较器时,将器件所有输入和输出端接至mux_20,通过ASL-1000的内部继电器矩阵切换,完成了各通道的串行测试。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-2-7 21:05 , 耗时 0.090127 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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