Forum Discussion
3 Replies
- Altera_Forum
Honored Contributor
If the I/O voltages match, you can connect the ATXMega and Cyclone directly.
The presence of bus transceiver and resistors on the dev kit is most likely a protection measure. If you have a dev kit that is being used for any number of things (some may use the buttons, others not), it is sensible to have series resistors in case somebody configures the FPGA pin connected to the transceiver as an output not an input - in essence to protect against damage due to bus contention (e.g. one end drives high, the other drives low). It may be worth adding resistors between in your design as well for the same reason - protect the FPGA just in case something bad happens. - Altera_Forum
Honored Contributor
First - thank you for your reply.
At this moment this is just prototype of student project. I am afraid, that i set pins of both devices (Xmega and Cyclone) as outputs with different logic states. Data bus is bidirectional. I wonder if 120 Ohm resistors (just like on development boards) are enough. With 3V difference it can deliver 40mA into FPGA on single pin, and data bus contains 16 pins. Maybe i should use buffer (like 74hc245)? This 40mA current is the reason, why i didn't use 0,063W resistor ladder while connecting buttons into fpga. - Altera_Forum
Honored Contributor
I suggest you don't over-complicate it with a buffer.
If you're concerned 120 ohms is too low, by all means fit something higher. When it's working as intended, one device will always present a high impedance, much higher than any (sensibly chosen) series resistor. Thus 1kR, or even 10kR should not prevent it working and protect you very adequately from both devices driving opposing logic levels. The only time this may prove to be a problem is if your board traces are long, resulting in a relatively high trace capacitance. Thus, with a larger value you will end up slowing all your edges down. Cheers, Alex