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.

PCA9517: The difference between two methods to pass a low from B-side to A-side

Part Number: PCA9517


hello everyone

in the topic 

someone asked there are two methods to pass a low from B-side to A-side: one is to identify 0.3VCCB and the other is to identify VILC around 0.4V. Can you let me know why two methods are required? Why not to keep only one method that just to identify 0.4V VILC?

and there was no reply.

can anyone answer this questain。

and explain the inner struncture of pca9517

thanks verymuch

  • Hello user5769069,

    We have an application note that describes how buffers work and why you need a static voltage offset, "Why, When, and How to use I2C Buffers".  Basically if you don't have a way of detecting which side of the buffer is generating the low then the bus can get stuck.  

      

    Let me know if you still have questions after this. 

    -Francis Houde

  • hi Francis Houde
    this doc not explain the picture below
    e2e.ti.com/.../static_2D00_offset_2D00_voltage.png

    what i cannot andstand is why “When B signal goes below 0.3*Vcc (VIL) then the device relays a logic zero to the A side”.
    NOT"When B signal goes below 0.4V then the device relays a logic zero to the A side".

    thanks verymuch
  • Hello user5769069,

    "When B signal goes below 0.3*Vcc (VIL) then the device relays a logic zero to the A side"

    -B side has a comparator which looks at B side and compares the value to 30% of VccB. If this value is lower than 30%VccB then a low is passed to A side.

    "When B signal goes below 0.4V then the device relays a logic zero to the A side"

    -B side's comparator value will switch from 0.3*Vcc to ViLc if A side is driving.

    This is referring to the event where A side drove the low first. When A side drives the low, B side needs to pull below ViLc inorder for A side to immediately pull low. If B side does not get below ViLc then when A side releases A side will rise up and will not go low until it has released B side's pull down FET (remember A side was driving). 

    This is important because B side outputs ~0.5V when A side is driving which is above ViLc. This prevents the device from driving itself low on both sides and locking up the I2C bus low.

    The picture you referenced looks like it does not matter if B side is below ViLc because A side did not drive the low, B side did so the comparator value used was 30% VccB not ViLc.

    If you are still confused about this, let me know.

    Thanks,

    -Bobby