《ACSM单板及编程.ppt》由会员分享,可在线阅读,更多相关《ACSM单板及编程.ppt(41页珍藏版)》请在三一办公上搜索。
1、Make Testing More Valuable,AccoTEST硬件单板及编程-ACSM_PLUS,ACSM_PLUS,特性,ACS:每模块四通道输出(共享同一交直流信号产生单元)可输出交流信号:正弦波、方波、三角波和锯齿波正弦波输出THD可达-80dB(Vpp=10V,Freq=1.0KHz)ACM:每模块四路交流表(共享同一路AD)高阻抗差分输入低速测试模式200 KHz 16 Bits高速测试模式10 MHz 12 Bits可测量DC、RMS、THD、SNR、SINAD等参数THD测量可达-85dB(正弦波Vpp=10V,Freq=1.0KHz)工作模式支持4工位并行测试支持乒乓(
2、Station A/Station B)测试,技术指标,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(BYTE channel),ACSM_PLUS(),ExampleACSM_PLUS acsm0(0);/Logical
3、channel 0StsSetModuleToSite(MD_ACSMPLUS,SITE_1,0,-1);/set channel 0 to SITE1StsSetModuleToSite(MD_ACSMPLUS,SITE_2,1,-1);/set channel 1 to SITE2StsSetModuleToSite(MD_ACSMPLUS,SITE_3,2,-1);/set channel 2 to SITE3StsSetModuleToSite(MD_ACSMPLUS,SITE_4,3,-1);/set channel 3 to SITE4,ParameterschannelACSM_
4、PLUS逻辑通道号。范围03。,Remarks定义一路ACSM_PLUS通道,并指定使用的逻辑通道号。,void Init(),Init(),Exampleacsm0.Init();/初始化ACSM_PLUS模块,Remarks初始化ACSM_PLUS模块。所有输入输出继电器断开,ACS部分的RAM和ACM部分的RAM内部数据保持不变,不做清零处理。DDS部分复位;参考电压归零,FPGA内部模块控制数据复位。,void ACSDutConnect(void),ACSDutConnect(),Exampleacsm0.ACSDutConnect();/闭合ACS部分输出继电器,Remarks闭合
5、ACS部分输出至用户DUT板的继电器。,ACS,void ACSDutDisConnect),ACSDutDisConnect(),Exampleacsm0.ACSDutDisConnect();/断开ACS部分输出继电器,Remarks断开ACS部分输出至用户DUT板的继电器。,void EnableACS(void),EnableACS(),Exampleacsm0.EnableACS();/启动ACS部分的信号输出,Remarks启动ACS部分的信号输出。,ACS,void DisableACS),DisableACS(),Exampleacsm0.DisableACS();/停止ACS
6、部分的信号输出,Remarks停止ACS部分的信号输出。,int ACSConfig(int wavetype,double wavefreq,double wavevpp,double waveoffsetv,int wavefilter),ACSConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSConfig(SINE_WAVE,10,8.0,2.0,ACS_FILTER_OFF);acsm0.EnableACS();,Remarks配置ACS部分输出正弦波、方波、三角波或直流电平。注意:当输出波形选择DC_WAVE直流电
7、平输出时,只有偏置电压waveoffsetv有效,即输出直流电平值。,ACS,ParameterswavetypeSINE_WAVE正弦波(缺省)SQUARE_WAVE方波TRI_WAVE三角波DC_WAVE直流电平Wavefreq输出波形频率,单位:KHz,范围:0.05 KHz 200 KHzWavevpp输出波形峰峰值,单位:V,范围:0.0 V+20.0 Vwaveoffsetv输出波形偏置电压,单位:V,范围:-10.0 V+10.0 VWavefilterACS_FILTER_OFF不选择低通滤波器ACS_FILTER_100K选择100KHz低通滤波器ACS_FILTER_200
8、K选择200KHz低通滤波器ACS_FILTER_10M选择10MHz低通滤波器,int ACSSineConfig(double wavefreq,double wavevpp,double waveoffsetv,int wavefilter),ACSSineConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSSineConfig(10.0,8.0,2.0,ACS_FILTER_OFF);acsm0.EnableACS();,Remarks配置ACS部分输出正弦波。,ACS,Parameterswavefreq输出正弦波频
9、率,单位:KHz,范围:0.05 KHz 200 KHzwavevpp输出正弦波峰峰值,单位:V,范围:0.0 V+20.0 Vwaveoffsetv输出正弦波偏置电压,单位:V,范围:-10.0 V+10.0 VWavefilterACS_FILTER_OFF 不选择低通滤波器ACS_FILTER_100K 选择100KHz低通滤波器ACS_FILTER_200K 选择200KHz低通滤波器ACS_FILTER_10M 选择10MHz低通滤波器,int ACSTriangleConfig(double wavefreq,double wavevpp,double waveoffsetv,in
10、t tritype),ACSTriangleConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSTriangleConfig(10.0,8.0,2.0,NORMAL_TRI);acsm0.EnableACS();,Remarks配置ACS部分输出三角波。,ACS,Parameterswavefreq输出三角波频率,单位:KHz,范围:0.05 KHz 200 KHzwavevpp输出三角波峰峰值,单位:V,范围:0.0 V+20.0 Vwaveoffsetv输出三角波偏置电压,单位:V,范围:-10.0 V+10.0 Vtri
11、type输出三角波类型选择:NORMAL_TRI标准三角波UP_TRI正向锯齿波DOWN_TRI负向锯齿波,int ACSSquareConfig(double wavefreq,double wavevpp,double waveoffsetv,double waveduty);,ACSSquareConfig(),Exampleacsm0.ACSDutConnect();/接通acsm0输出继电器acsm0.ACSSquareConfig(10.0,4.0,2.0,0.5);acsm0.EnableACS();,Remarks配置ACS部分输出方波。,ACS,ParametersWavef
12、req输出方波频率,单位:KHz,范围:0.05 KHz 200 KHzwavevpp输出方波峰峰值,单位:V,范围:0.0 V+20.0 Vwaveoffsetv输出方波偏置电压,单位:V,范围:-10.0 V+10.0 Vwaveduty输出方波占空比,范围:0.0 1.0(0.0%100%),int ACMLMeaDutDC(int testvrange,double*buf),ACMLMeaDutDC(),Exampledouble adresult4=0.0;acsm0.ACMLMeaDutDC(LADC_VR_5V,adresult);,RemarksACM低速LADC测量模式下,
13、测量用户DUT板直流信号,测量结果为直流电平。低速LADC测量是利用16位 200 KHz的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。,int ACMLMeaDutAC(int testvrange,int testcouple,int samplenum,double*
14、buf),ACMLMeaDutAC(),Exampledouble adresult4=0.0;acsm0.ACMLMeaDutAC(LADC_VR_5V,DC_COUPLE,2048,adresult);RMS-SetTestResult(0,0,adresult0);,RemarksACM低速LADC测量模式下,测量用户DUT板的交流信号,测量结果为有效值。低速LADC测量是利用16位 200 KHz的ADC芯片进行采样。最好采样被测信号的整周期。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_
15、1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:10 60000。*bufACM低速LADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,int ACMLMeaDutData(int testvrange,int testcouple,int samplenum,double*buf),ACMLMeaDutData(),ACM_LADC,ParametersTestvran
16、geLADC_VR_10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100V TestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:10 60000。*bufACM低速LADC测量模式下,存放数据结果的数组,由用户定义,如:double result2048=0.0;注意:1.Buf数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,RemarksA
17、CM低速LADC测量模式下,测量用户DUT板信号,返回所有测量的时域数据。低速LADC测量是利用16位 200 KHz的ADC芯片进行采样。,ACMLMeaDutData(),Exampledouble result2048=0.0;acsm0.ACMLMeaDutData(LADC_VR_5V,DC_COUPLE,2048,result);,注意:由于返回的是所有测量数据,因此根据采样点数,数组buf的空间应足够大,四工位的数据都将置于buf数组中。例如,采样点数为1000,四工位测试,则buf定义buf4000。单工位测试,采样数据置于buf0 buf999,其他无效。双工位测试,第一工位
18、采样数据置于buf0 buf999,第二工位采样数据置于buf1000 buf1999,其他无效。四工位测试,第一工位采样数据置于buf0 buf999,第二工位采样数据置于buf1000 buf1999,第三工位采样数据置于buf2000 buf2999,第四工位采样数据置于buf3000 buf3999,其他无效。,ACM_LADC,int ACMLMeaDutTHD(int testvrange,int testcouple,int samplenum,int harmnum,int harmtype,double*buf),ACMLMeaDutTHD(),Exampledouble a
19、dresult4=0.0;acsm0.ACMLMeaDutTHD(LADC_VR_5V,DC_COUPLE,2048,20,TOTAL_HARM,adresult);/low speed mode,sample=2048,20 harmonic,read THDTHD-SetTestResult(0,0,adresult0);,RemarksACM低速LADC测量模式下,测量用户DUT板正弦波交流信号总谐波失真度。低速LADC测量是利用16位 200 KHz的ADC芯片进行采样。,ACM_LADC,ParametersTestvrangeLADC_VR_10V,LADC_VR_5V,LADC_
20、VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合SamplenumACM低速LADC测量模式下,测量采样点数,范围:10 60000harmnumACM低速LADC测量模式下,测量谐波次数,范围:2 50HarmtypeTOTAL_HARM:总谐波(缺省)ODD_HARM:奇次谐波EVEN_HARM:偶次谐波*bufACM低速LADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,intACMGetFFTResul
21、t(intTestVRange,intTestCouple,intSampleNum,double*buf);,ACMGetFFTResult(),RemarksACM低速LADC测量模式下,测量用户DUT板交流信号,测量结果为FFT变换值。低速LADC测量是利用16位 200 KHz的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:选择
22、直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:10 60000*bufACM低速LADC测量模式下,存放FFT变换结果的数组,由用户定义,如:double fft_result2048=0.0;注意:1.Buf数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,Note:因ACM的四个通道共享一路AD,因此当多工位测试时,所有工位的测试数据都将保存到buf数组中。因此buf数组的空间应该大于等于“工位数*采样点数”。例如,采样点数为1024,四工位测试,则buf需定义为bu
23、f4096。其中:Site1的采样数据置于buf0 buf1023;Site2的采样数据置于buf1024 buf2047;Site3的采样数据置于buf2048 buf3071;Site4的采样数据置于buf3072 buf4095;,ACM_LADC,ACMGetFFTResult(),Exampledouble fft_result2048=0.0;acsm0.ACMGetFFTResult(LADC_VR_5V,DC_COUPLE,2048,fft_result);,intACMGetFFTDataBlackmanHarris(intTestVRange,intTestCouple,i
24、ntSampleNum);,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测量模式下
25、,测量采样点数,范围:10 60000,intACMGetFFTResultBlackmanHarris(intTestVRange,intTestCouple,intSampleNum,double*level10,double*window,double*buf);,ACMGetFFTResultBlackmanHarris(),RemarksACM低速LADC测量模式下,测量用户DUT板交流信号。测量结果为加窗后FFT变换值以及平均值。与函数ACMGetFFTResultBlackmanHarris()配合使用。,ACM_LADC,ParametersTestvrangeLADC_VR_
26、10V,LADC_VR_5V,LADC_VR_2V,LADC_VR_1V,LADC_VR_20V,LADC_VR_50V,LADC_VR_100VTestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合samplenumACM低速LADC测量模式下,测量采样点数,范围:10 60000*level10ACM低速LADC测量模式下,测量信号平均值存放首地址。level10是double类型数组首地址。*windowACM低速LADC测量模式下,由用户输入窗函数数据存放首地址。窗函数需用户定义。如:double bhwin2048=0.0;注意:1.window
27、数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,ACMGetFFTResultBlackmanHarris(),Exampledouble level4=0.0;double bhwin2048=0.0;double result2048=0.0;/用户生成窗函数数据double q;for(int i=0;i2048;i+)q=2*PI*i/2048;bhwini=0.35875-0.48829*cos(1*q)+0.14128*cos(2*q)-0.01168*cos(3*q);acsm0.ACMGetFFTDataBlackmanH
28、arris(LADC_VR_10V,DC_COUPLE,2048);delay_ms(12);/延时需大于(采样点数*采样间隔)acsm0.ACMGetFFTResultBlackmanHarris(LADC_VR_10V,DC_COUPLE,2048,level,bhwin,result);,ACM_LADC,*bufACM低速LADC测量模式下,存放加窗后FFT变换结果的数组,由用户定义,如:double fft_result2048=0.0;注意:1.Buf数组长度需不小于samplenum的值,否则可能会发生不可预期的错误。2.建议把该数组定义成全局变量。,int ACMHMeaDut
29、DC(int testvrange,double*buf),ACMHMeaDutDC(),Exampledouble adresult4=0.0;acsm0.ACMHMeaDutDC(HADC_VR_5V,adresult);,RemarksACM高速HADC测量模式下,测量用户DUT板直流信号,测量结果为直流电平。高速HADC测量是利用12位 10 MHz的ADC芯片进行采样,采样点数固定为2000点。,ACM_HADC,ParametersTestvrangeHADC_VR_10V,HADC_VR_5V,HADC_VR_2V,HADC_VR_1V,HADC_VR_20V,HADC_VR_5
30、0V,HADC_VR_100V*bufACM高速HADC测量模式下,测量结果存放首地址。buf是double类型数组首地址,buf4。,int ACMHMeaDutAC(int testvrange,int testcouple,int samplenum,double*buf),ACMHMeaDutAC(),Exampledouble adresult4=0.0;acsm0.ACMHMeaDutAC(HADC_VR_5V,DC_COUPLE,20000,adresult);RMS-SetTestResult(0,0,adresult0);,RemarksACM高速HADC测量模式下,测量用户
31、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测量模式下,测量采样点数,范围:10 60000*bufACM高速HADC测量模式下,测量结果存放首地址。buf是double
32、类型数组首地址,buf4。,int ACMHMeaDutData(int TestVRange,int TestCouple,int SampleNum,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_100V TestcoupleDC_COUPLE:选择直流耦合(缺省)AC_COUPLE:选择交流耦合SamplenumACM高速HADC测量模式下,测量采样点数,范围:10
33、 60000*bufACM高速HADC测量模式下,测量所有数据存放首地址。buf是double类型数组首地址,定义为全局变量。,RemarksACM高速HADC测量模式下,测量用户DUT板信号,测量返回所有测量数据。高速HADC测量是利用12位 10 MHz的ADC芯片进行采样。,Example:double result20000=0.0;acsm0.ACMHMeaDutData(LADC_VR_5V,DC_COUPLE,20000,result);,ACMHMeaDutData(),ACM_HADC,注意:由于返回的是所有测量数据,因此根据采样点数,数组buf的空间应足够大,四工位的数据都
34、将置于buf数组中。例如,采样点数为10000,四工位测试,则buf定义buf40000。单工位测试,采样数据置于buf0 buf9999,其他无效。双工位测试,第一工位采样数据置于buf0 buf9999,第二工位采样数据置于buf10000 buf19999,其他无效。四工位测试,第一工位采样数据置于buf0 buf9999,第二工位采样数据置于buf10000 buf19999,第三工位采样数据置于buf20000 buf29999,第四工位采样数据置于buf30000 buf39999,其他无效。,Programming Reviews(1)-ACS信号输出,正弦波输出:acsm0.A
35、CSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSSineConfig(10.0,8.0,2.0,ACS_FILTER_OFF);/配置acsm0输出Fosc=10.0 KHz,Vpp=8V,Dcoffset=2V的正弦信号,不使用ACS板内滤波器acsm0.EnableACS();delay_ms(1);,Programming Reviews(1)-ACS信号输出,三角波输出:acsm0.ACSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSTriangleConfig(10.0,8.0,2.0,
36、NORMAL_TRI);/配置acsm0输出Fosc=10.0 KHz,Vpp=8V,Dcoffset=2V的三角波信号acsm0.EnableACS();delay_ms(1);,Programming Reviews(1)-ACS信号输出,方波输出:acsm0.ACSDutConnect();/接通acsm0输出继电器delay_ms(1);acsm0.ACSSquareConfig(10.0,4.0,2.0,0.5);/配置acsm0输出Fosc=10.0 KHz,Vpp=4V,Dcoffset=2V,占空比50%的方波信号acsm0.EnableACS();delay_ms(1);,时
37、域图,正常波形时域图,失真波形时域图,在时域波形上可以对波形的频率、波形峰峰值进行分析,得出准确的测试值。,频域图,正常波形频域图,失真波形频域图,在频域波形上可以对波形的SINAD、SNR、THD进行定量的分析。,RMS,THD,SNR,SINAD定义,RMS:有效值RMS也称为均方根值。正弦量的有效值等于其幅值的 倍。,THD:THD定义为总谐波失真,指谐波信号与有用信号功率之比,通常用dB表示。将1KHz信号作用到输入端,THD是在2KHz、3KHz、4KHz等整数频点的输出与1KHz频点输出能量的比。,SNR:信噪比。即有用信号与噪声信号功率之比,数值越大,效果越好。通常用dB表示。,
38、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
39、下采样,则采样间隔为5us,对于输入信号1KHz(周期1ms)的信号来说,采样一个周期所需点数为1ms/5us=200,对于THD,SNR,SINAD来说,一般需采样几个整周期,且采样点数为2的整数幂。建议采样5个周期(1024点)或者10个周期(2048点)。,Programming Reviews(2)-RMS测试,double adresult4=0.0;int siteID=0;/sinewave output:acsm0.ACSDutConnect();delay_ms(1);acsm0.ACSSineConfig(1,4.0,2.0,ACS_FILTER_OFF);/sinewav
40、e,Fosc=1KHz,Vpp=4V,Dcoffset=2V,NO ACS filteracsm0.EnableACS();delay_ms(2);acsm0.ACMLMeaDutAC(LADC_VR_5V,DC_COUPLE,1000,adresult);/low speed mode,sample=1000(5cycle),read RMSfor(siteID=0;siteIDSetTestResult(siteID,0,adresultsiteID);,Programming Reviews(3)-THD测试,double adresult4=0.0;int siteID=0;/sine
41、wave output:acsm0.ACSDutConnect();delay_ms(1);acsm0.ACSSineConfig(0.9765625,4.0,2.0,ACS_FILTER_OFF);/sinewave,Fosc=0.9765625KHz,Vpp=4V,Dcoffset=2V,NO ACS filteracsm0.EnableACS();delay_ms(2);acsm0.ACMLMeaDutTHD(LADC_VR_5V,DC_COUPLE,2048,20,TOTAL_HARM,adresult);/low speed mode,sample=2048,20 harmonic,
42、read THDfor(siteID=0;siteIDSetTestResult(siteID,0,adresultsiteID);,Programming Reviews(4)-加窗THD的测试,int siteID=0;int j=0;int k=0;int sample=2048;double level4=0.0;double bhwin2048=0.0;double fft_result9000=0.0;double P14=0;double P34=0;/sinewave output:acsm0.ACSDutConnect();delay_ms(1);acsm0.ACSSineC
43、onfig(1,4.0,2.0,ACS_FILTER_OFF);/sinewave,Fosc=1KHz,Vpp=4V,Dcoffset=2V,NO ACS filteracsm0.EnableACS();delay_ms(2);/generate BlackmanHarris datadouble q=0;for(k=0;ksample;k+)q=2*PI*k/sample;/#define PI 3.1415926 bhwink=0.35875-0.48829*cos(1*q)+0.14128*cos(2*q)-0.01168*cos(3*q);/bhwink=1;,Programming
44、Reviews(4)-加窗THD的测试,acsm0.ACMGetFFTDataBlackmanHarris(LADC_VR_10V,DC_COUPLE,sample);delay_ms(12);/delay must be more than(sample*interval time)acsm0.ACMGetFFTResultBlackmanHarris(LADC_VR_10V,DC_COUPLE,sample,level,bhwin,fft_result);for(siteID=0;siteIDSetTestResult(siteID,0,P3siteID);/dB,Programming
45、Reviews(5)-SNR,SINAD测试,int sample=2048;double fft_result9000=0;int siteID=0;int j=0;double P14=0;double P24=0;double P34=0;double P44=0;double thd4=0;double snr4=0;double sinad4=0;/sinewave output:acsm0.ACSDutConnect();delay_ms(1);acsm0.ACSSineConfig(0.9765625,4.0,2.0,ACS_FILTER_OFF);/sinewave,Fosc=
46、0.9765625KHz,Vpp=4V,Dcoffset=2V,NO ACS filteracsm0.EnableACS();delay_ms(2);acsm0.ACMGetFFTResult(LADC_VR_5V,DC_COUPLE,sample,fft_result);for(siteID=0;siteIDSITENUM;siteID+)/effective signal P1siteID=fft_result10+siteID*sample*fft_result10+siteID*sample;,/noise signal+harmonic signal for(j=1;jSetTestResult(siteID,0,thdsiteID);/dB SNR-SetTestResult(siteID,0,snrsiteID);/dB SINAD-SetTestResult(siteID,0,sinadsiteID);/dB,Make Testing More Valuable,