Some ADC channel reading 0 in S32K146

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Some ADC channel reading 0 in S32K146

602件の閲覧回数
deepthi_keshava
Contributor I

Inputs considered are on SE0, SE1 and SE5 on ADC0. Back to back triggering has been enabled. If SE5 is disabled, correct values are obtained on the SE0 and SE1 channels. When SE5 input is enabled, all the values (var1, var & var3) show up as 0.

Any help?

PDB0->MOD = 1200;
PDB0->IDLY =1200;

PDB0->CH[0].C1 = (PDB_C1_BB(0x02)
| PDB_C1_TOS(0x01)
| PDB_C1_EN(0x03));

ADC_DRV_ConfigChan(INST_ADCONV1, ADC_INPUTCHAN_EXT0, &adConv1_ChnConfig0);
ADC_DRV_ConfigChan(INST_ADCONV1, ADC_INPUTCHAN_EXT1, &adConv1_ChnConfig1);

ADC_DRV_ConfigChan(INST_ADCONV1, ADC_INPUTCHAN_EXT5, &adConv1_ChnConfig2);

ADC0->SC1[0] = ADC_SC1_ADCH(0); // SC1A[ADCH]
ADC0->SC1[1] = ADC_SC1_ADCH(1); // SC1B[ADCH]
ADC0->SC1[2] = ADC_SC1_ADCH(5); // SC1F[ADCH]

var1 = ADC0->R[0]; 
var2 = ADC0->R[1];
var3 = ADC0->R[5];

0 件の賞賛
1 返信

525件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

the setting does not look right for 3 channels conversion in back-to-back mode. You should have 

PDB0->CH[0].C1 = (PDB_C1_BB(0x06) | PDB_C1_TOS(0x01) | PDB_C1_EN(0x07)); 

Channel delay 0 register should be configured too, or simply clear TOS if delay of first sample is not needed.

Also you should read result from R0, R1, R2 registers

var3 = ADC0->R[2];

BR, Petr

0 件の賞賛