测试头资源板卡介绍-WSMX编程(SmarTest7 C++)

本节简要讲述模拟板卡WSMX在SmarTest7软件上编程方式。(WSMX只支持SmarTest7.10及以上软件版本,SmarTest7仅支持C++编程)。以下是关于WSMX PMU、WSMX DGT 、WSMX AWG在SmarTest7上编程实例。

  • 直流参数测试 Wave Scale MX PMU

LIMIT limit(TM::GT, -1.0, TM::LT, 1.0); //参数上下限设定

PMU_IFVM pmuIfvm("pinString",TM::PPMU);//pinString 器件管脚名  加流测压

ON_FIRST_INVOCATION_BEGIN();

// Setup PMU

pmuIfvm.iForce(100 uA)

       .iRange(190 uA)

       .settling(1 ms)

       .limits(limit)

       .compare("I")

       .vClamp(-1 V, 1 V);

// Connect relay

Routing.pin("pinString").connect(TM::PMU_CONNECT);//物理连接PMU

FLUSH();

// Measure

pmuIfvm.execute(TM::PVAL,16,TRUE); // 执行测试

// Open relay

Routing.pin("pinString").disconnect();//物理断开PMU

FLUSH();

ON_FIRST_INVOCATION_END();

// DC result retrieval   测试结果 加流测压得到电压值

DOUBLE rslt;

rslt = pmuIfvm.getValue("pinString");

  • DAC测试 WSMX DGT
  1. ON_FIRST_INVOCATION_BEGIN();   

// Step1: 配置数字化仪DGT

ANALOG_SEQUENCER Seq_DAC_Ramp_seq("DAC_Ramp_seq");

Seq_DAC_Ramp_seq.add(TM::HALT, TM::POST, 256, 0);

DGT("DAC_DGT")

        .sequencerProgram(Seq_DAC_Ramp_seq)

        .frequency(6.25 MHz)

        .vOffset(0 V)

        .vRange(3.0 V) // peak to peak

        .filter(6.25 MHz)

        .dutImpedance(100 KOhm)

        .waitTrigger("dgtTrig");//等待触发

// Step2: 配置触发 WSMX支持内部触发方法(PATTERN中设置触发指令)

TRIGGER_SET trigSetDAC_DIG("dgtTrig");// 触发指令dgtTrig

trigSetDAC_DIG.sender("@").receiver("pinString").enable();     

// Step3: 配置DGT连接模式(单端或差分)

Routing.pin("pinString").connect(TM::SINGLE);//单端配置

DGT("pinString").enable();   

// Step4: 执行测试

EXECUTE_TEST();     

// Step5: 停用模拟模块,断开继电器,禁用触发器

DGT("pinString").disable() ;

Routing.pin("pinString").disconnect();

trigSetDAC_DIG.disable();

FLUSH();

// Step6: 上传捕获波形信息

ARRAY_D capturedWaveform = DGT("pinString").getWaveform();     

// Step7: 处理结果信息

DOUBLE dmin,dmax;

INT imin,imax;

DSP_MINMAX ( capturedWaveform , &dmin, &dmax, &imin, &imax );     

ON_FIRST_INVOCATION_END();

  • ADC测试 WSMX AWG

// Step1: 配置波形信息

ANALOG_WAVEFORM Wave_ADC_Sine("ADC_Sine");

Wave_ADC_Sine.definition(TM::ASCII,"../waveform/wav_adc_dist_sine_4096_41_100k.txt");//波形名wav_adc_dist_sine_4096_41_100k 

AWG("ADC_AWG")

        .waveform(Wave_ADC_Sine)

        .ac(0.87 V)

        .frequency(10 MHz)

        .vOffset(1.45 V)

        .filter(10 MHz)

        .waitTrigger("awgTrig");    

// Step2: 配置触发设置

TRIGGER_SET trigSetADC_AWG("awgTrig");

trigSetADC_AWG.sender("@").receiver("ADC_AWG").enable();

// Step3: 配置AWG连接模式(单端或差分)

Routing.pin("ADC_AWG").connect(TM::SINGLE);

AWG("ADC_AWG").enable();

 //Step4:执行测试

 DIGITAL_CAPTURE_TEST(0.1);

AWG(Av93000jichengDC_AWG).disable();

 Routing.pin(ADC_AWG).disconnect();

trigSetADC_AWG.disable();

 FLUSH();  

// 数字通道捕获测试数据  

 dgtz_waveformI = VECTOR(cap_label).format("BIN").getVectors();

ON_FIRST_INVOCATION_END();

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值