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.
Hello,
PCA9306 is usually used for 100-400 kHz open drain I2C interfaces, but the datasheet mentions in section 9.2.2.1 and 9.2.2.3 that it can be suitable for higher frequencies and push-pull interfaces, assuming that the frequency is < 1/5 of the PCA9306 bandwidth, and the push-pull is unidirectional.
Do you think PCA9306 would be suitable for Ethernet MDIO applications, and/or have you seen this successfully implemented?
MDIO has two lines; a push-pull MDC (2.5 MHz clock) from the host, and an open-drain, bidirectional MDIO bus. The spec doesn't appear to include required rise/fall times, so assuming the bus capacitance is low enough and the pull-up strength adequate, I don't see this being a problem. The push-pull signal is unidirectional, so it should be okay with a pull-up on the downstream device side.
Thanks,
Jonathan
Hi Jonathan,
Many thanks for the detailed reply - it helps me understand the part better in addition to the end result (PCA9306 = OK in this situation).
Two quick follow-up questions:
Thanks,
Jonathan
Hi Jonathan,
1. Yes, I think if you scaled the clock speed to 10MHz you would be OK based upon the published information. I haven't personally tried to run it that fast so I can't speak with 100% certainty. But from the bandwidth curve, it should be feasible. There will be other factors you would need to consider such as the total bus capacitance and loading along with the pullup resistor strength, etc. for your actual bus. Some other parameters might dictate the maximum speed you could achieve so it might be worth a quick evaluation to be sure.
2. No, the LSF0102 and PCA9306 are very comparable devices and either one should work equally well in your application. And regarding my comment about the reflections causing erroneous direction changes, either the PCA9306 or LSF0102 are probably less susceptible to problems than some of the other level shifters with different architectures. For example, the TXS0108 devices uses edge rate accelerators (one shots) to improve the overall data rate. . These can be problematic with reflections. However, the PCA9306 and LSF0102 have a simpler architecture and should recover quickly once the voltage crosses above the threshold value again.
Also, for clarification on my previous description of how the level shifting happens, there is no dedicated source or drain side of the FET. The design is such that if either side is pulled below the threshold voltage the FET is disabled. When the MDC data is push/pull, the data is uni-directional and it can be assumed the source side will be from the controller side. However, when the data is bi-directional with pullups on both side, a voltage shift on either side of the device will cause the FET to respond as if that side was the "source" side.
Regards,
Jonathan