《ACSM单板及编程》PPT课件.ppt_第1页
《ACSM单板及编程》PPT课件.ppt_第2页
《ACSM单板及编程》PPT课件.ppt_第3页
《ACSM单板及编程》PPT课件.ppt_第4页
《ACSM单板及编程》PPT课件.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MakeTestingMoreValuable,AccoTEST硬件单板及编程-ACSM_PLUS,ACSM_PLUS,特性,ACS:每模块四通道输出(共享同一交直流信号产生单元)可输出交流信号:正弦波、方波、三角波和锯齿波正弦波输出THD可达-80dB(Vpp=10V,Freq=1.0KHz)ACM:每模块四路交流表(共享同一路AD)高阻抗差分输入低速测试模式200KHz16Bits高速测试模式10MHz12Bits可测量DC、RMS、THD、SNR、SINAD等参数THD测量可达-85dB(正弦波Vpp=10V,Freq=1.0KHz)工作模式支持4工位并行测试支持乒乓(StationA/StationB)测试,技术指标,ACSM_PLUS,原理框图,ACSM_PLUS,外观结构及地址开关,ACSM_PLUS,与测试盒连接,ACSM_PLUS,工位绑定,注意:因ACSM_PLUS的四通道输出共享同一交直流信号产生单元,因此:1.单工位配置时:ACS_CH0、ACS_CH1、ACS_CH2、ACS_CH3需串行使用;2.双工位配置时:ACS_CH0、ACS_CH1需串行使用;ACS_CH2、ACS_CH3需串行使用。,ACSM_PLUS(BYTEchannel),ACSM_PLUS(),ExampleACSM_PLUSacsm0(0);/Logicalchannel0StsSetModuleToSite(MD_ACSMPLUS,SITE_1,0,-1);/setchannel0toSITE1StsSetModuleToSite(MD_ACSMPLUS,SITE_2,1,-1);/setchannel1toSITE2StsSetModuleToSite(MD_ACSMPLUS,SITE_3,2,-1);/setchannel2toSITE3StsSetModuleToSite(MD_ACSMPLUS,SITE_4,3,-1);/setchannel3toSITE4,ParameterschannelACSM_PLUS逻辑通道号。范围03。,Remarks定义一路ACSM_PLUS通道,并指定使用的逻辑通道号。,voidInit(),Init(),Exampleacsm0.Init();/初始化ACSM_PLUS模块,Remarks初始化ACSM_PLUS模块。所有输入输出继电器断开,ACS部分的RAM和ACM部分的RAM内部数据保持不变,不做清零处理。DDS部分复位;参考电压归零,FPGA内部模块控制数据复位。,voidACSDutConnect(void),ACSDutConnect(),Exampleacsm0.ACSDutConnect();/闭合ACS部分输出继电器,Remarks闭合ACS部分输出至用户DUT板的继电器。,ACS,voidACSDutDisConnect),ACSDutDisConnect(),Exampleacsm0.ACSDutDisConnect();/断开ACS部分输出继电器,Remarks断开ACS部分输出至用户DUT板的继电器。,voidEnableACS(void),EnableACS(),Exampleacsm0.EnableACS();/启动ACS部分的信号输出,Remarks启动ACS部分的信号输出。,ACS,voidDisableACS),DisableACS(),Exampleacsm0.DisableACS();/停止ACS部分的信号输出,Remarks停止ACS部分的信号输出。,intACSConfig(intwavetype,doublewavefreq,doublewavevpp,doublewaveoffsetv,intwavefilter),ACSConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSConfig(SINE_WAVE,10,8.0,2.0,ACS_FILTER_OFF);acsm0.EnableACS();,Remarks配置ACS部分输出正弦波、方波、三角波或直流电平。注意:当输出波形选择DC_WAVE直流电平输出时,只有偏置电压waveoffsetv有效,即输出直流电平值。,ACS,ParameterswavetypeSINE_WAVE正弦波(缺省)SQUARE_WAVE方波TRI_WAVE三角波DC_WAVE直流电平Wavefreq输出波形频率,单位:KHz,范围:0.05KHz200KHzWavevpp输出波形峰峰值,单位:V,范围:0.0V+20.0Vwaveoffsetv输出波形偏置电压,单位:V,范围:-10.0V+10.0VWavefilterACS_FILTER_OFF不选择低通滤波器ACS_FILTER_100K选择100KHz低通滤波器ACS_FILTER_200K选择200KHz低通滤波器ACS_FILTER_10M选择10MHz低通滤波器,intACSSineConfig(doublewavefreq,doublewavevpp,doublewaveoffsetv,intwavefilter),ACSSineConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSSineConfig(10.0,8.0,2.0,ACS_FILTER_OFF);acsm0.EnableACS();,Remarks配置ACS部分输出正弦波。,ACS,Parameterswavefreq输出正弦波频率,单位:KHz,范围:0.05KHz200KHzwavevpp输出正弦波峰峰值,单位:V,范围:0.0V+20.0Vwaveoffsetv输出正弦波偏置电压,单位:V,范围:-10.0V+10.0VWavefilterACS_FILTER_OFF不选择低通滤波器ACS_FILTER_100K选择100KHz低通滤波器ACS_FILTER_200K选择200KHz低通滤波器ACS_FILTER_10M选择10MHz低通滤波器,intACSTriangleConfig(doublewavefreq,doublewavevpp,doublewaveoffsetv,inttritype),ACSTriangleConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSTriangleConfig(10.0,8.0,2.0,NORMAL_TRI);acsm0.EnableACS();,Remarks配置ACS部分输出三角波。,ACS,Parameterswavefreq输出三角波频率,单位:KHz,范围:0.05KHz200KHzwavevpp输出三角波峰峰值,单位:V,范围:0.0V+20.0Vwaveoffsetv输出三角波偏置电压,单位:V,范围:-10.0V+10.0Vtritype输出三角波类型选择:NORMAL_TRI标准三角波UP_TRI正向锯齿波DOWN_TRI负向锯齿波,intACSSquareConfig(doublewavefreq,doublewavevpp,doublewaveoffsetv,doublewaveduty);,ACSSquareConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSSquareConfig(10.0,4.0,2.0,0.5);acsm0.EnableACS();,Remarks配置ACS部分输出方波。,ACS,ParametersWavefreq输出方波频率,单位:KHz,范围:0.05KHz200KHzwavevpp输出方波峰峰值,单位:V,范围:0.0V+20.0Vwaveoffsetv输出方波偏置电压,单位:V,范围:-10.0V+10.0Vwaveduty输出方波占空比,范围:0.01.0(0.0%100%),intACMLMeaDutDC(inttestvrange,double*buf),ACMLMeaDutDC(),Exampledoubleadresult4=0.0;acsm0.ACMLMeaDutDC(LADC_VR_5V,adresult);,RemarksACM低速LADC测量模式下,测量用户DUT板直流信号,测量结果为直流电平。低速LADC测量是利用16位200KHz的ADC芯片进行采样,采样点数固定为100点。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100V*bufACM低速LADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,intACMLMeaDutAC(inttestvrange,inttestcouple,intsamplenum,double*buf),ACMLMeaDutAC(),Exampledoubleadresult4=0.0;acsm0.ACMLMeaDutAC(LADC_VR_5V,DC_COUPLE,2048,adresult);RMS-SetTestResult(0,0,adresult0);,RemarksACM低速LADC测量模式下,测量用户DUT板的交流信号,测量结果为有效值。低速LADC测量是利用16位200KHz的ADC芯片进行采样。最好采样被测信号的整周期。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:1060000。*bufACM低速LADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,intACMLMeaDutData(inttestvrange,inttestcouple,intsamplenum,double*buf),ACMLMeaDutData(),ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:1060000。*bufACM低速LADC测量模式下,存放数据结果的数组,由用户定义,如:doubleresult2048=0.0;注意:1.Buf数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,RemarksACM低速LADC测量模式下,测量用户DUT板信号,返回所有测量的时域数据。低速LADC测量是利用16位200KHz的ADC芯片进行采样。,ACMLMeaDutData(),Exampledoubleresult2048=0.0;acsm0.ACMLMeaDutData(LADC_VR_5V,DC_COUPLE,2048,result);,注意:由于返回的是所有测量数据,因此根据采样点数,数组buf的空间应足够大,四工位的数据都将置于buf数组中。例如,采样点数为1000,四工位测试,则buf定义buf4000。单工位测试,采样数据置于buf0buf999,其他无效。双工位测试,第一工位采样数据置于buf0buf999,第二工位采样数据置于buf1000buf1999,其他无效。四工位测试,第一工位采样数据置于buf0buf999,第二工位采样数据置于buf1000buf1999,第三工位采样数据置于buf2000buf2999,第四工位采样数据置于buf3000buf3999,其他无效。,ACM_LADC,intACMLMeaDutTHD(inttestvrange,inttestcouple,intsamplenum,intharmnum,intharmtype,double*buf),ACMLMeaDutTHD(),Exampledoubleadresult4=0.0;acsm0.ACMLMeaDutTHD(LADC_VR_5V,DC_COUPLE,2048,20,TOTAL_HARM,adresult);/lowspeedmode,sample=2048,20harmonic,readTHDTHD-SetTestResult(0,0,adresult0);,RemarksACM低速LADC测量模式下,测量用户DUT板正弦波交流信号总谐波失真度。低速LADC测量是利用16位200KHz的ADC芯片进行采样。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合SamplenumACM低速LADC测量模式下,测量采样点数,范围:1060000harmnumACM低速LADC测量模式下,测量谐波次数,范围:250HarmtypeTOTAL_HARM:总谐波(缺省)ODD_HARM:奇次谐波EVEN_HARM:偶次谐波*bufACM低速LADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,intACMGetFFTResult(intTestVRange,intTestCouple,intSampleNum,double*buf);,ACMGetFFTResult(),RemarksACM低速LADC测量模式下,测量用户DUT板交流信号,测量结果为FFT变换值。低速LADC测量是利用16位200KHz的ADC芯片进行采样。最好采样被测信号的整周期。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:1060000*bufACM低速LADC测量模式下,存放FFT变换结果的数组,由用户定义,如:doublefft_result2048=0.0;注意:1.Buf数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,Note:因ACM的四个通道共享一路AD,因此当多工位测试时,所有工位的测试数据都将保存到buf数组中。因此buf数组的空间应该大于等于“工位数*采样点数”。例如,采样点数为1024,四工位测试,则buf需定义为buf4096。其中:Site1的采样数据置于buf0buf1023;Site2的采样数据置于buf1024buf2047;Site3的采样数据置于buf2048buf3071;Site4的采样数据置于buf3072buf4095;,ACM_LADC,ACMGetFFTResult(),Exampledoublefft_result2048=0.0;acsm0.ACMGetFFTResult(LADC_VR_5V,DC_COUPLE,2048,fft_result);,intACMGetFFTDataBlackmanHarris(intTestVRange,intTestCouple,intSampleNum);,ACMGetFFTDataBlackmanHarris(),RemarksACM低速LADC测量模式下,加窗测量用户DUT板交流信号。与函数ACMGetFFTResultBlackmanHarris()配合使用。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:1060000,intACMGetFFTResultBlackmanHarris(intTestVRange,intTestCouple,intSampleNum,double*level10,double*window,double*buf);,ACMGetFFTResultBlackmanHarris(),RemarksACM低速LADC测量模式下,测量用户DUT板交流信号。测量结果为加窗后FFT变换值以及平均值。与函数ACMGetFFTResultBlackmanHarris()配合使用。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:1060000*level10ACM低速LADC测量模式下,测量信号平均值存放首地址。level10是double类型数组首地址。*windowACM低速LADC测量模式下,由用户输入窗函数数据存放首地址。窗函数需用户定义。如:doublebhwin2048=0.0;注意:1.window数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,ACMGetFFTResultBlackmanHarris(),Exampledoublelevel4=0.0;doublebhwin2048=0.0;doubleresult2048=0.0;/用户生成窗函数数据doubleq;for(inti=0;iSetTestResult(0,0,adresult0);,RemarksACM高速HADC测量模式下,测量用户DUT板交流信号,测量结果为有效值。高速HADC测量是利用12位10MHz的ADC芯片进行采样。最好采样被测信号的整周期。,ACM_HADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM高速HADC测量模式下,测量采样点数,范围:1060000*bufACM高速HADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,intACMHMeaDutData(intTestVRange,intTestCouple,intSampleNum,double*buf);,ACMHMeaDutData(),ACM_HADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合SamplenumACM高速HADC测量模式下,测量采样点数,范围:1060000*bufACM高速HADC测量模式下,测量所有数据存放首地址。buf是double类型数组首地址,定义为全局变量。,RemarksACM高速HADC测量模式下,测量用户DUT板信号,测量返回所有测量数据。高速HADC测量是利用12位10MHz的ADC芯片进行采样。,Example:doubleresult20000=0.0;acsm0.ACMHMeaDutData(LADC_VR_5V,DC_COUPLE,20000,result);,ACMHMeaDutData(),ACM_HADC,注意:由于返回的是所有测量数据,因此根据采样点数,数组buf的空间应足够大,四工位的数据都将置于buf数组中。例如,采样点数为10000,四工位测试,则buf定义buf40000。单工位测试,采样数据置于buf0buf9999,其他无效。双工位测试,第一工位采样数据置于buf0buf9999,第二工位采样数据置于buf10000buf19999,其他无效。四工位测试,第一工位采样数据置于buf0buf9999,第二工位采样数据置于buf10000buf19999,第三工位采样数据置于buf20000buf29999,第四工位采样数据置于buf30000buf39999,其他无效。,ProgrammingReviews(1)-ACS信号输出,正弦波输出:acsm0.ACSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSSineConfig(10.0,8.0,2.0,ACS_FILTER_OFF);/配置acsm0输出Fosc=10.0KHz,Vpp=8V,Dcoffset=2V的正弦信号,不使用ACS板内滤波器acsm0.EnableACS();delay_ms(1);,ProgrammingReviews(1)-ACS信号输出,三角波输出:acsm0.ACSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSTriangleConfig(10.0,8.0,2.0,NORMAL_TRI);/配置acsm0输出Fosc=10.0KHz,Vpp=8V,Dcoffset=2V的三角波信号acsm0.EnableACS();delay_ms(1);,ProgrammingReviews(1)-ACS信号输出,方波输出:acsm0.ACSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSSquareConfig(10.0,4.0,2.0,0.5);/配置acsm0输出Fosc=10.0KHz,Vpp=4V,Dcoffset=2V,占空比50%的方波信号acsm0.EnableACS();delay_ms(1);,时域图,正常波形时域图,失真波形时域图,在时域波形上可以对波形的频率、波形峰峰值进行分析,得出准确的测试值。,频域图,正常波形频域图,失真波形频域图,在频域波形上可以对波形的SINAD、SNR、THD进行定量的分析。,RMS,THD,SNR,SINAD定义,RMS:有效值RMS也称为均方根值。正弦量的有效值等于其幅值的倍。,THD:THD定义为总谐波失真,指谐波信号与有用信号功率之比,通常用dB表示。将1KHz信号作用到输入端,THD是在2KHz、3KHz、4KHz等整数频点的输出与1KHz频点输出能量的比。,SNR:信噪比。即有用信号与噪声信号功率之比,数值越大,效果越好。通常用dB表示。,SINAD:总谐波失真+信噪比。即有用信号与(噪声信号+谐波信号)功率之比。通常用dB表示。,注意:1.测量RMS,THD,SNR,SINAD时,最好采样被测信号的整周期。2.为快速傅里叶变换(FFT),采样点数必须是2的整数幂。测量THD,SNR,SINAD时最好采样被测信号的整周期,因此要求输入信号的周期也是2的整数幂。如果条件输入频率f=1KHz,则频率需调整为f=(1000/1024)KHz=0.9765625KHz。如果条件输入频率f=2KHz,则频率需调整为f=(2000/1024)KHz=1.953125KHz。3.测试THD,SNR,SINAD采样点数计算方法:若在200KHz下采样,则采样间隔为5us,对于输入信号1KHz(周期1ms)的信号来说,采样一个周期所需点数为1ms/5us=200,对于THD,SNR,SINAD来说,一般需采样几个整周期,且采样点数为2的整数幂。建议采样5个周期(1024点)或者10个周期(2048点)。,ProgrammingReviews(2)-RMS测试,doubleadresult4=0.0;intsiteID=0;/sinewaveoutput:acsm0.ACSDutConnect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论