06-10-2014 05:46 AM
I would like to use several of the LVTTL DIO in a bidirectional manner. For the sake of explanation, lets say I want to use 8 lines to interface with an external device that can read/write from/to those lines.
I'm concerned about the case when both the FPGA and the external device try to drive the lines at the same time. How would one go about setting up this system? What electrical, timing and software considerations should be taken into account?
I would like to do this reading and writing consecutively as fast as possible. I guess the code should look something like this, is that right?
On the other hand, what would happen in this other case?
06-13-2014 03:39 PM
Regarding bi-directional I/O, there a few choices here. One approach is to make both devices open collector with a pull up resistor to 3.3 V. This is how I2C works. Another approach is to coordinate the directionality of each device either in software or hardware to avoid the double drive. Yet another option is to insert some protective impedance in series with the signal.