This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC128D818: How to switch mode

Part Number: ADC128D818

Hi Team,

My customer can read data from IN0~IN6 in MODE 0, and all channels are used in his application then he has to switch device to MODE 1. But it is quite strange that the readout data are all zero from each channel after RD changed the mode by writing address 0x0Bh. He also tried to set device to standby mode(set 0x00[0] to '0' before change mode, then enabling device but it still is not workable. Is there any standard process to change mode?

Thanks very much.

Vincent Chen

  • Hi Vincent,

    After changing modes with the ADC128D818, are you able to read the other registers and verify that they are still configured as desired?
  • Hi Tom,

    Customer applied 2.04V at channel_0, and select 2.56V internal VREF as reference voltage. Supposed, the CH_0 read out value should be 3263 (2.04 / 2.56*4095 = 3263), and he got 3267 at MODE 0. When he modified FW code to set initial mode to MODE 1, he got wrong value(not zero) that is 3826. Customer said all channels' value are not as expected when he set to MODE 1.
    He dump all register setting from both mode as below.
    ===========================================
    Mode 0
    ===========================================
    ADC_REG_Configuration_Register:0x1
    ADC_REG_Interrupt_Status_Register:0xff
    ADC_REG_Interrupt_Mask_Register:0xff
    ADC_REG_Conversion_Rate_Register:0x1
    ADC_REG_Channel_Disable_Register:0x0
    ADC_REG_Deep_Shutdown_Register:0x0
    ADC_REG_Advanced_Configuration_Register:0x0
    ADC_REG_Busy_Status_Register:0x1
    ADC_REG_Limit_Registers:0x0
    ADC_REG_Manufacturer_ID_Register:0x1
    ADC_REG_Revision_ID_Register:0x9

    ADC Channel0 12bits value: 3267
    ==========================================

    ===========================================
    Mode 1
    ===========================================
    Mode 1
    ADC_REG_Configuration_Register:0x1
    ADC_REG_Interrupt_Status_Register:0x8f
    ADC_REG_Interrupt_Mask_Register:0xff
    ADC_REG_Conversion_Rate_Register:0x1
    ADC_REG_Channel_Disable_Register:0x0
    ADC_REG_Deep_Shutdown_Register:0x0
    ADC_REG_Advanced_Configuration_Register:0x4
    ADC_REG_Busy_Status_Register:0x1
    ADC_REG_Limit_Registers:0x0
    ADC_REG_Manufacturer_ID_Register:0x1
    ADC_REG_Revision_ID_Register:0x9

    ADC Channel0 12bits value:3826
    ==========================================

    Could you please help to check is there any improperly register setting?

    Thanks a lot.
    Vincent
  • Hi Tom,

    Customer said he got wrong value at MODE 1 but I found the register of "ADC_REG_Advanced_Configuration_Register" is set to 0x04 and that mean he set ADC to MODE 2 that is pseudo-differential inputs mode. I will ask RD to correct the setting and try it again, then will give you a result update.

    Thanks a lot.
    Vincent
  • Hi Tom,

    Customer already modified his code to set correct mode, this issue is solved now.
    Thanks a lot for your support.

    Vincent