工具/软件:Code Composer Studio
我使用TMS320F2.8335万PTPS CA-3CAEPGW G4。
我对此项目有一些问题。
从测试到交付都很好。
在我的客户进行了几次测试后,它会产生一些不稳定的ADC结果。
当不稳定时,ADC结果在峰间移动约20个。
ADC结果在正常情况下在峰间移动约1。
输入为温度传感器值。
此问题并不总是出现。
但在断电20分钟以上后,在开机时间内重复出现。
所以我测试了ADC输入引脚。
但输入信号在ADC输入引脚处始终稳定。
我可以从芯片勘误表(版本k)中找到有关低频时ADC不精确的一些信息。
但我设置ADCCLK的运行时间为1.25兆赫。
这与勘误表中的内容不同。
所以,我有一些问题。
1. ADC在低频下是否可能偶尔出现不精确或因老化而出现?
2.我的问题是否与ADC在低频下不精确的问题相同?
3.如果是,是否可以通过增加ADCCLK频率来解决这个问题?
因为我已经使用了超过1MHz的频率。
4.在设计阶段,我在勘误表中没有看到这个问题。
您何时将低频时的ADC不准确度添加到勘误表中?
5.您能否 提供一份勘误表,说明何时才添加 了低频下的ADC不准确性?
下面是我的设置。
XCLKIN = 30MHz
HSPCP = 1
HSPCLK = 75 MHz
void Init_adc (void)
{
AdcRegs.ADCREFsel.bit.REF_SEL = 0U;
AdcRegs.ADCTRL3.ALL = 0x00E0U;
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x03U;
AdcRegs.ADCTRL3.bit.ADCPWDN = 1U;
AdcRegs.ADCTRL3.bit.ADCCLKPS = 15U;
AdcRegs.ADCTRL1.bit.cps = 1U; // ADCCLK = 1.25Mhz
AdcRegs.ADCTRL1.bit.ACQ_PS = 15U;
AdcRegs.ADCTRL2.bit.ePWM_SOCA_SEQ1 = 1U;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1U;
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0U;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1U;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x5U;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0U;
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1U;
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 2U;
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 8U;
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 9U;
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 10U;
}