8127 views|4 replies

27

Posts

0

Resources
The OP
 

A question about the voltage collection of the ADC module of DSP28335 [Copy link]

Dear experts, I would like to ask two questions. It has troubled me for an afternoon. Thank you very much!!!

Question 1: I use TI's TMS320F28335 to configure 4 ADC channels. I don't have any external voltage but the voltage value is 1V. Is this very strange?

Question 2: I only short-circuited one channel (A0) and the analog ground, why does it affect the voltage value of the (A1) channel? Observing the variable values through the watchwindow, A0 is 0 and A1 is 518.

The ADC module configuration code is as follows. The screenshot of the watchwindow observed variable value is as follows.

#include "DSP2833x_Project.h"

#define ADC_CKPS 0x1
#define ADC_SHCLK 0xf

#define BUFF_SIZE 4
Uint16 SampleTable[BUFF_SIZE];

main()
{
Uint16 i;

InitSysCtrl();
EALLOW;
SysCtrlRegs.HISPCP.all = 0x3; //HSPCLK = SYSCLKOUT/6 = 25.0 MHz
EDIS;
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();

InitAdc(); //Turn on the ADC clock, calibrate, and power on the ADC circuit

AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK;
AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //1 cascade mode

AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 3; //Set the maximum number of channels to n + 1, starting from channel 0, and counting in order
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //Channel (pin) selects ADCINA0
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; //ADCINA1
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x8; //ADCINB0
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x9; //ADCINB1

AdcRegs.ADCTRL1.bit.CONT_RUN = 1; //Continuous operation mode

AdcRegs.ADCTRL2.all = 0x2000; //1 << 13; Start SEQ1. In cascade mode, SEQ2 does not need to be turned on

for(i = 0; i < BUFF_SIZE; i++)
{
SampleTable = 0;
}
for(;;)
{
while (AdcRegs.ADCST.bit.INT_SEQ1 == 0) {} //Wait for the conversion to complete. The cascade does not need to wait for INT_SEQ2
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; //Clear the interrupt flag
SampleTable[0] = AdcRegs.ADCRESULT0>>4;
SampleTable[1] = AdcRegs.ADCRESULT1>>4;
SampleTable[2] = AdcRegs.ADCRESULT2>>4;
SampleTable[3] = AdcRegs.ADCRESULT3>>4;
}
}


This post is from Microcontroller MCU

Latest reply

If the input impedance of the ADC is high, the input terminal cannot be left floating, otherwise it will induce noise in the circuit and produce non-zero pseudo values. At this time, if one of the paths is grounded, the other paths will naturally accumulate less noise charge than the fully floating state due to the switching of the input holding circuit, so a "value change" will appear. If you look carefully at the device manual, you will find the input impedance parameters of the on-chip ADC. The higher the input impedance of the ADC, the more obvious this phenomenon will be.   Details Published on 2019-7-21 13:29
 

6548

Posts

0

Resources
2
 

27

Posts

0

Resources
3
 

Thank you for your reply. But I still can't find the solution according to the link you gave

This post is from Microcontroller MCU
 
 
 

1w

Posts

142

Resources
4
 

If the input impedance of the ADC is high, the input terminal cannot be left floating, otherwise it will induce noise in the circuit and produce non-zero pseudo values. At this time, if one of the paths is grounded, the other paths will naturally accumulate less noise charge than the fully floating state due to the switching of the input holding circuit, so a "value change" will appear.

If you look carefully at the device manual, you will find the input impedance parameters of the on-chip ADC. The higher the input impedance of the ADC, the more obvious this phenomenon will be.

This post is from Microcontroller MCU
 
Personal signature上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang
 
 

27

Posts

0

Resources
5
 
chunyang posted on 2019-7-21 13:29 If the input impedance of the ADC is high, the input terminal cannot be left floating, otherwise it will induce noise in the circuit and produce non-zero pseudo values. At this time, if one of the...

Thank you for your reply. I will read the input impedance parameters of the on-chip ADC carefully later.

This post is from Microcontroller MCU
 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list