微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 电压比较器VIO的开环测试

电压比较器VIO的开环测试

时间:01-31 来源:电子设计技术 点击:

out不可能逼近规定的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的内部继电器矩阵切换,完成了各通道的串行测试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top