Other Parts Discussed in Thread: TM4C129DNCPDT, , AMC1301, INA333
Tool/software:
Grretings for the day,
We are using TM4C129DNCPDT microcontroller to read ADS7924 converted data using I2C protocol. But we are not getting proper data.
We have verified I2C communication by reading Device Id and mode settings. They are reading properly.
When have connected Constant 3Vpp Input voltage using Function generator to ADC channel CH0, we are getting different values everytime we read 0x02 and 0x03 registers. We have combined both register readings to get 12 bit digital data and converted to voltage format using below formula. Voltage output is varieng between 0.5V to 3V continously.
Volt = (12_bit_data/ 4095) * 3.3; //AVDD connected to 3.3V
But when we remove input at CH0, we are getting constant 0x61 from 0x02 register and variable value from 0x03 register. After implementing the formula the voltage is coming between (1.269v to 1.272v).
We are following the below steps to configure ADC.
1. Write 0xAA to 0x16 register to reset ADC.
2. Write 0x80 to 0x00 register to keep ADC in awake mode.
3. Write 0xC0 to 0x00 register to Select ADC CH0 Manual Single mode.
4. Now to read CH0 converted data, In I2C write mode we are sending 0x82 to ADC and changing the mode to burst read mode and reading twice so that we will get 0x02 and 0x03 register data respectively.
5. Now we are continously repeating step 3 and 4 to read ADC converted data continously but we are getting different data everytime(Input Voltage is constatnt 3Vpp).
Are we following the steps properly? or Is there anything we are missing? If so please correct us.
Our Schematics screenshot:
Thank You.
Regards,
Balaji TS