Other Parts Discussed in Thread: TMS320F28235
We are struggling to figure out the why the internal ADC in the TMS320F28235 can not achieve a linear transfer function (0-3.0V) -> (0-65535) . Best case we can get 0.5% (327 dword) , which is well above the specified INL of 2 bits. The graph shows that at around 2.4-3.0V the error skyrockets. The plot already applies the best fit gain/offset compensation. I have also attached our initialization code. ADC sequencing was turned off so that only the channel in question is being measured. Thanks for your input!
// Set Analog as Inputs InitAdc(); AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // disable other channels for testing purposes AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0; AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0; /* Setup conv from ADCINA0 and ADCINB0 */ AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1; /* Setup conv from ADCINA1 and ADCINB1 */ AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 2; /* Setup conv from ADCINA2 and ADCINB2 */ AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 3; /* Setup conv from ADCINA3 and ADCINB3 */ AdcRegs.ADCTRL1.bit.CONT_RUN = 1; AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 1; // Start of conversion trigger for SEQ1 AdcRegs.ADCREFSEL.bit.REF_SEL = 0;




