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.

I2C Interface for ONET1141L

Other Parts Discussed in Thread: ONET1141L

I am looking at the ONET1141L as a driver for my DML device. I see that it uses the I2C bus to configure the device.

Question 1, Can more than one ONET1141L be used on the same bus? I see in the documentation where it talks about the address of the device. Is this hard coded or can I set different devices to different addresses?

Question 2, If the answer to '1' is hard coded, can I still tie all of the devices on the bus if I want the same information to be passed to all of the devices? I am new to using I2C. I was not sure if there is an acknowlege sent back by the slave when data is transferred.

Any help with this will be greatly appreciated.

Thank you,

Mike Nycz

 

  • Hello Mike,

    The default I2C address for the ONET1141L is 0001000 however it can be changed using the ADR0 and ADR1 pins. Pulling the ADR0 pin to VCC changes the address to 0001001. Pulling the ADR1 pin to VCC changes the address to 0001010. Pulling both these pins to VCC changes the address to 001011. Therefore, you can have 4 parts on the same bus.

    Having multiple parts with the same address on the I2C bus may work but we do not guarantee the operation in this case.

    Regards,

    Alex.

  • Alex,
    Thanks for the information. One additional question... When you send I2C data to the ONET1141L from the master, does the ONET1141L send back a response to the datastream? I guess more generally, in the case of the ONET1141L is the data flow all in one direction or does some bidirectional communication occur?

    Thanks,
    Mike Nycz
  • Mike,

    The ONET1141L is a slave device only so it cannot initiate a data transfer. The standard I2C protocol is used so the 1141L will send an acknowledge or not acknowledge after a data transfer. Please refer to the 2-Wire Interface and Control Section of the datasheet.

    Regards,

    Alex.

  • Hi Alex,

    I have one more question about the I2C address on the ONET1141L and one observation....

    In the datasheet and your post it mentions pulling the address pins to VCC to change them. If I wanted to keep the address as 0001000, is it ok to tie the address pins to GND? I am just concerned about leaving the pins untied.

    Also, on page 9 of the datasheet, there is a statement that contradicts what the datasheet says earlier (and what you stated as well). It says....

    1. START command
    2. 7 bit slave address (0001000) followed by an eighth bit (value = 0) which is the data write bit (W).
    3. 8 bit register address
    4. 8 bit register data word
    5. STOP command
    The first 2 bits of the slave address can be changed to 1 by grounding the ADR0 and ADR1 pins.     <------ opposite of what it said on page 3.
    Copyright © 2012, Texas Instruments Incorporated Submit Documentation Feedback 9

    I am assuming that tie to VCC is the correct action. But the datasheet is contradictory. Also, let me know if tying the address pins to GND is ok or whether they need to be left open to produce a zero?

    Thank you,

    Mike Nycz

  • Hello Mike,

    The statement about grounding the ADR0 and ADR1 pins to change the address is incorrect. The pins need to be pulled to VCC.

    There is no issue with leaving the pins floating, the address will only change if you pull them to VCC. However, you can also ground them if you want.

    Regards,

    Alex.