Differential UART with no external hardware
Mr_Nuke
Posts: 47
Hello everybody,
I was wondering if it might be possible to make a high speed differential UART with the SX without using any external hardware. I could use the on-chip comparator for the reciever, which shouldn't be much of a hassle, but the problem comes with the transmitter. I thought of using two IO pins, and flipping them such that one is high, and the other is low. Do you think this can work, or will the 5V voltage swings limit the bandwidth?
Thanks in advance for any help,
Alex.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Fear not that your project does not work, for it will,
Fear not if you see·a long dark path ahead, but follow it,
Fear not if what worked now refuses to,
For the only thing that's perfect is imperfection.
I was wondering if it might be possible to make a high speed differential UART with the SX without using any external hardware. I could use the on-chip comparator for the reciever, which shouldn't be much of a hassle, but the problem comes with the transmitter. I thought of using two IO pins, and flipping them such that one is high, and the other is low. Do you think this can work, or will the 5V voltage swings limit the bandwidth?
Thanks in advance for any help,
Alex.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Fear not that your project does not work, for it will,
Fear not if you see·a long dark path ahead, but follow it,
Fear not if what worked now refuses to,
For the only thing that's perfect is imperfection.
Comments
I think your plan has a good chance of working. I would not expect the use of 5V to limit the bandwidth as much as possibly the noise rejection. Unfortunately, offering my opinion and encouraging you to try it and report back on how it goes is the limit of any help I can offer. It sounds like a plan worth trying to me!
- Sparks
Then write the byte to the port. This implies you must use
two pins on the same port.
Its kinda like RS485, but it lacks the driver capacity of a
true RS485 driver (5V/120ohm=41.7mA). So you can't use
termination resistors and that puts a limit on the bandwidth.
regards peter
I'll try it out, and see how it works.
Thanks for your help,
Alex.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Fear not that your project does not work, for it will,
Fear not if you see·a long dark path ahead, but follow it,
Fear not if what worked now refuses to,
For the only thing that's perfect is imperfection.
What you plan to do will probably work. But you will lose one of the main advantages of dedicated differential transceivers: their large input "common mode" range, which can be as high as -7V to +12V. For short distance transmissions using a common ground, this is not a big deal. But over longer distances, the ground potential between the transmitting and receiving system can be different enough to cause reception errors.
Another advantage of dedicated transceivers is their slew-rate-limted output, which can help to minimize cross-coupling and echoes over long cables.
Using your system, both issues could be ameliorated with resistor networks on both the input and output lines of the SX. But by the time you go to that trouble, you might as well just use a transceiver chip designed for the purpose.
-Phil