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.

Compiler/ADS7830: ADS7830: ADS7830 I2C reading wrong information

Part Number: ADS7830

Tool/software: TI C/C++ Compiler

Hi Sir,

We use ADS7830 as HW monitor to monitor Baseboard power rail status.
And we access this chip via I2C . When we access the channel which we used ,we can get the right value . but if we first access the ADS7830 when we set the command to 0x00 , then we access the channel which we used ,the value which we get is wrong ,And if we access the ADS7830 again ,we can get the right value.  as follows:

 (twi_scan is tool which we used to access i2c device.)


Could you tell us the reason please?

I also attached the schematic as below for reference,

Thanks!!!

  • Hi sir 

         I am sorry , the operation of the example has been gone .

    as follows:

    0x00000000:005e>twi_rd 
    invalid_args
    TWI Device Read
    Cmd Usage: twi_rd <port_id> <device_addr> <offset> <offset_width> <num of 8 bit words>
               <port_id>      - Port Id to read
               <device_addr>  - Device Address
               <offset>       - Data Offset
               <offset_width> - Offset width
               <num of 8 bit words> -  Number of bytes to read
    0x00000000:0000>twi_rd 3 0x90 0x0 1 1
    Read Data:
    03
    0x00000000:0000>twi_rd 3 0x90 0xdc 1 1  
    Read Data:
    df
    0x00000000:0000>twi_rd 3 0x90 0xdc 1 1
    Read Data:
    b9
    0x00000000:0000>twi_rd 3 0x90 0xdc 1 1
    Read Data:
    b9
    0x00000000:0000>twi_rd 3 0x90 0x2 1 1
    Read Data:
    03
    0x00000000:0000>twi_rd 3 0x90 0xdc 1 1
    Read Data:
    dd
    0x00000000:0000>twi_rd 3 0x90 0xdc 1 1
    Read Data:
    b9
    0x00000000:0048>twi_rd 3 0x90 0xdc 1 1

    Read Data:
    b9

  • Hello,

    To read from the device, the first frame to the device should have the Address Byte populated based on how A0,A1 is connected, with Read as the LSB. The frame after that should be the data out from the device.

    The command byte you are using 0x00h, is setting the device in power down mode. the device stays in power down between conversions.

    The timing diagram below shows typical read sequence.

    Regards