Hi All,
I am trying to establish connection between two UNO micro controller using UART communication as attached diagram.
In the diagram as you can see I had used a Trans-Receiver Buffer IC CD74HC243 (datasheet attached) for the long distance data transmission.
Form example point I had mentioned the distance from the origin to Point A is 50 mm, From Point A to B is 50 mm and from point B to C is 100 mm.
I had following doubts:
- How long the data can be transferred using UART (Origin to point A; Point A to Point B; Point B to Point C)?
- Is there can chances of data corruption or signal integrity ?
- If yes then what are the precaution taken into consideration ?
- Does it got effected with any kind of power source ?
Waiting for your ideas..!
Thanks,
Harry
Arduino UNO Connection.pdf (105 KB)
Trans-Receiver Buffer cd74hc243.pdf (644 KB)
First question, with distances of 50 and 100mm why yo you need a buffer at all?
Also that buffer does not allow individual control of the channels, so you will be transmitting to all slaves at once (which may or may not be what you want) but even worse all the RX signals will be connected together, that won't work.
Is there can chances of data corruption or signal integrity ?
There is ALWAYS a chance of data corruption.
what are the precaution taken into consideration ?
Write error detection code to handle it.
Hi Graynomad,
Thanks for your quick response.
Enclosed find the new image.
Basically I will enable one buffer at a time till the data get transfer onto the connected UNO.
Once the process is done the next one will be enable and the rest will be disable till the time the transfer is done.
Considering this case what is your ideas about following questions :
- How long the data can be transferred using UART (Origin to point A; Point A to Point B; Point B to Point C)?
- Is there can chances of data corruption or signal integrity ?
- If yes then what are the precaution taken into consideration ?
- Does it got effected with any kind of power source ?
Arduino UNO Connection.pdf (106 KB)
Hi Harry,
You might find this interesting in terms of your distance question. Lengths of serial cables
Regards,
Graham
Hi Graynomad,
I got your point and I am sure in the case of RS 232 it will work but I am not sure how it will work in UART communication as I am not using any shielded cables but using the PCB traces for data transfer.
If you share some ideas.
Thanks,
Harry
I am not graynomad, but I will forgive you....
The point is, you are dealing with such tiny distances, I shouldn't worry about it.... Those bus drivers are designed for far greater distances than a few mm..... that was the point I was making. Ensure your tracks are parallel and the same length and I wouldn't anticipate you having any problems. If it is a custom PCB which I assume it will be, take your ground plane as close as possible to the tracks.
Regards,
Graham
Hi Ghlawrence,
My apology..
Thanks a lot for your advice on PCB trace design.
I am trying to use UART at 3.3VDC as UNO work on the same voltage, but RS-232 works on 5VDC I guess.
Does this make any difference for data transfer ??
Hi Harry,
RS-232 is specified as :- The standard specifies a maximum open-circuit voltage of 25 volts: signal levels of ±5 V, ±10 V, ±12 V, and ±15 V are all commonly seen depending on the voltages available to the line driver circuit. Some RS-232 driver chips have inbuilt circuitry to produce the required voltages from a 3 or 5 volt supply. RS-232 drivers and receivers must be able to withstand indefinite short circuit to ground or to any voltage level up to ±25 volts.
The UNO of course operates between 0V and 5V. I don't personally own an UNO but I do own a MEGA which uses the same voltages, and I can verify that using random bits of wire a foot or more is no problem whatsoever, so a few inch of PCB track should be no problem for you.
Regards,
Graham
Hi Graham,
Thanks for your help.
I will stay tuned till you get some result by using MEGA.
Regards,
Harry
I will stay tuned till you get some result by using MEGA.
Did I miss something? What results are you waiting for?
The bottom line it that at the distances (and assumed speeds) you are talking about you don't have to do anything but run some PCB traces.
As you appear to have a multi-drop setup you may need tri-state buffers, but with some smart coding you don't need them either as each UNO can tri-state it's TX output.
Thanks Rob,
I was a little confused what he was waiting for....
Regards,
Graham
Thanks Rob and Graham,
For providing detailed information.
Regards,
Harry