小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
yaohua he:
下面是AD初始化的内容:
void Init_Adc(void){ int i1=0; AdcRegs.ADCTRL1.bit.RESET=1; //复位AD模块 for(i1=0;i1<9;i1++) {;} //复位ADC需要等待2个时钟循环 AdcRegs.ADCTRL1.bit.RESET=0; //写0扌А? AdcRegs.ADCTRL1.bit.SUSMOD=0;//忽略仿真挂起 AdcRegs.ADCTRL1.bit.ACQ_PS=1; ///设定采集窗口大小,即决定保持多长时间,可理解为相邻采样之间时间差,即SOC的宽度为ADCTRL1[11:8]+1个ADCCLK AdcRegs.ADCTRL1.bit.CPS=1; //ADCCLK=HSPCLK/(CPS+1)=12.5MHz AdcRegs.ADCTRL1.bit.CONT_RUN=0; //工作在启停模? AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;//带隙和参考电路上电 for(i1=0;i1<10000;i1++) {;} //adc上电顺序 AdcRegs.ADCTRL3.bit.ADCPWDN=1; for(i1=0;i1<5000;i1++) {;} AdcRegs.ADCTRL3.bit.ADCCLKPS=0;///将HSPCLK,分频产生核心时钟ADCCLK=12.5Mhz //此处HSPCLK不分频了,12.5MHz是ADC的转换时间为80ns //注意ACQ_PS=15时,保持时间为(15+1)/12.5M=1.3us,感觉太长了;可以使ACQ_PS=1,则具有0.16us的保持时间 //具体参数需要权衡!} void ConfigAdc(void){ AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//级联模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0;//0-顺序采样,1-同步采样 AdcRegs.ADCMAXCONV.all=0x000F;//SEQ1与SEQ2均转换8个通道 AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x7; //电网电压UG AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x5; //入网电流IL2 AdcRegs.ADCCHSELSEQ1.bit.CONV02=0xB0; //1/2直流电压 AdcRegs.ADCCHSELSEQ1.bit.CONV03=0xA0; //直流输入总电压 AdcRegs.ADCCHSELSEQ2.bit.CONV04=0x7; AdcRegs.ADCCHSELSEQ2.bit.CONV05=0x5; AdcRegs.ADCCHSELSEQ2.bit.CONV06=0xB0; AdcRegs.ADCCHSELSEQ2.bit.CONV07=0xA0; AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x7; AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x5; AdcRegs.ADCCHSELSEQ3.bit.CONV10=0xB0; AdcRegs.ADCCHSELSEQ3.bit.CONV11=0xA0; AdcRegs.ADCCHSELSEQ4.bit.CONV12=0x7; AdcRegs.ADCCHSELSEQ4.bit.CONV13=0x5; AdcRegs.ADCCHSELSEQ4.bit.CONV14=0xB0; AdcRegs.ADCCHSELSEQ4.bit.CONV15=0xA0; AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;//清除SEQ1的中断标志位 AdcRegs.ADCST.bit.INT_SEQ2_CLR=1;//清除SEQ2的中断标志位 AdcRegs.ADCTRL2.bit.EPWM_SOCB_SEQ=0;// AdcRegs.ADCTRL2.bit.RST_SEQ1=1; AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=0;//禁止INT_ENA_SEQ1中断请求 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;// AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1=1;//允许EPWM启动 AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0;//禁止I/O口启动 AdcRegs.ADCTRL2.bit.RST_SEQ2=1; AdcRegs.ADCTRL2.bit.SOC_SEQ2=0; AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0; AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2=0; AdcRegs.ADCTRL2.bit.EPWM_SOCB_SEQ2=1;}
下图是 采样电路原理图
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
Eason Wang:
回复 yaohua he:
Move to C2000 multi-core DSP forum
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
囧:
回复 yaohua he:
如果使用另外一个PWM的时基,提高一倍的采样频率会有改善吗?
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
yaohua he:
回复 囧:
基本没有,这次用了EPWM3的下益中断,30K(以前是EPWM1-15K)峰峰值误差还有80左右
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
囧:
回复 yaohua he:
检查一下你的ADC输入频率,28335的ADC频率最高只是25MHZ,参考F28335 ADC userguide的26页设置你的ADC输入时钟,如果超出会使ADC结果偏差很大
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
yaohua he:
回复 yaohua he:
将ICETEK-5100USB V2.0A 换成了 LT-XDS100
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
囧:
回复 yaohua he:
XDS100的速度回慢于XDS510,所以在CCS的GRAPH界面看上去噪声会小。如果断开仿真器,下载程序至FLASH,效果应该是一样的。
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
囧:
回复 yaohua he:
你可以用controlsuite中的lib-apps_lib -> motor中的PWMDAC模块将ADC采样值打到PWM的占空比上用示波器对比真正的采样结果和原始波形的差距。
小弟最近在调试DSP8335的 AD发现采样回来的数字量毛刺太大,峰峰值能达到96(移位后模拟量1.65V-数字量2048左右),DSP上电运行时测量AD口的电压(电网电压)还是比较好的,但是转换成数字量之后,却不尽人意。
使用EPWM中断触发AD 采样,采样频率15K。换成别人的dsp开发板依然会出现这个问题,把我自己的dsp开发板插到别人的控制板上,数字量波动基本都在20左右。 说明不是DSP开发板的问题,AD部分初始化程序和别人的是一样的,他采样时是没有问题的。
图1 展示了AD口的模拟电压,及采样后的数字量的对比(图2),说明数字量化后毛刺较多。而仅采样1.65V偏置电压时,可以清晰的看到毛刺现象(图3-数字处理过程中已减去直流偏置),数字量采样时 采样了4次,去掉最大和最小值,在进行平均的;如果仅采样一次,那毛刺更大。
一开始怀疑是3.3V电压源的问题(产生直流偏置,和对AD口进行限幅),今天换了一块TPS7333Q 芯片,发现问题依然存在。 加大AD 口的滤波电容(由101 变成471),没有效果。下面附AD初始化程序: 希望大侠们提提意见,万分感谢!
(图1)
图(2)
Bowen Liu1:
请问楼主的图(2)怎么用ccs5.3观看呢,我用ccs5.3看不了AD采样的数据啊?