Hi,
I wanted to implement an i2c repeater in software. Actually, Not a complete i2c but only one master to one slave repeater. I thought I can use a microcontroller and connect two I/Os to the master and 2 more to the slave in open drain fasion. So I need to reflect the clock from the master to the slave and the data to/from the master from/to the slave, depending on the direction. I thought I would use some kind of buffering (1 bit or 8 bit).
Does anyone did somthing like that? Is it possible? What tricks to use? I know of few problems in the way, such as:
1) If I'll use one bit buffer the master will wait for Akn after the 8th bit while the slave only got the 7th. 2) If I'll use 8 bit buffer, what to do when the last byte of a transaction was corrupted? 3) What is the best way to handle slatting?Thank a lot for any help. Nadav.