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.

ADS1000: ADS1000 not (slave) acknowledge

Part Number: ADS1000

Hi All

I working in PIC Micro controller , write 0x93 address (slave) ADS1000 not acknowledging . Please give coding routine and circuit diagram interfacing ADS1000 . Different controller I tried.

 

Regards,

Murali

  • Murali,

    I don't have any specific code for the ADS1000. It should be a rather simple I2C transaction with whatever master you are using. The connections to the device are also simple. The device doesn't require any more connections than shown on Figure 9 of the datasheet:

    Make sure that the pull-up resistors are installed. They are required for I2C communications.

    Which version of the ADS1000 are you using? There are two versions with two different addresses. The ADS1000A0 uses an address of 48h while the ADS1000A1 uses an address of 49h. Verify the version of the device and use the appropriate address.

    After that, you should be able to establish communications. Here is an example of reading from the ADS1000A0 that I happened to run last week:

    The first byte is 91h with the device ACK bit after. Then there are 3 bytes of read from the device.

    Joseph Wu

  • Thank you sir,

      i am using ADS1000-Q1(www.ti.com/.../ADS1000-Q1)  BYMQ -  Slave Address 1001001. circuit diagram same  as you given.

     Master send 0x93H address will not getting  acknowledgement . if maser send (General Call data bytes) 0x04H Or 0x06H  will ADS1000-Q1  return acknowledge . I don't how to proceed further coding.

    PLEASE send the coding steps or Pseudocode of accessing  ADS1000-Q1

    Regards,

     Murali

  • Murali,


    I use an Total Phase Aardvark as an I2C emulator, and the only line that I need to read the device (A0 device) in batch mode is this:

    <i2c_read addr="0x48" count="3" nostop="0" ten_bit_addr="0" combined_fmt="0" radix="16"/>

    This reads 3 bytes from the device without any setup. For your device, I would use 0x49 as the address instead. If I were to send a pseudocode of this, I would say "I2C read address 0x49, three bytes".

    There are two things that I would suggest to debug your device read. First, post your code here. I'm generally not good with code, but whatever problem you're having it is probably some minor syntax issue. Second, use an oscilloscope and capture your read with the SCL and SCK lines. Post the scope photo here. It's likely we'd be able to figure out what's wrong. In debugging any communication, I feel this is very important. This will show exactly what waveforms are reaching the device, if they are at all.


    Joseph Wu