Forum Discussion
Altera_Forum
Honored Contributor
12 years agoYou cannot do what you want. You have to put intelligence inside the chip.
Think of what you are trying to do in terms of buffers. A '245 is the classic bidirectional buffer. The buffer output-enable and direction control needs to be controlled to drive the bus correctly. What if you want to connect to this bus, and you don't want direction control? You use a BusSwitch. The internal architecture of a buffer and a bus switch is different. If you look on the Linear Technology web site, you'll see lots of I2C repeaters and re-drivers. These parts are essentially intelligent devices that look at the logic levels. To create an FPGA I2C bridge, you'll basically have to do the same thing. If a signal is low on one side, then drive low on the other ... but remember which side the low first started from ... it seems like an 'easy' problem, but it gets tricky :) Cheers, Dave