Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

UART errors and comparison with USB

Status
Not open for further replies.
E

expertengr

Guest
I am wondering about the stability of UART by considering errors.

Is UART always has errors even if Baud rate is 9600 set in microcontroller ? How to check UART errors ? On the other hand USB is stable up to 5 M samples per second ?
 

It is not clear if you want to know the tolerance of the baud rate (which can be easily determined by data sheet) or if you are referring to external factors, which would have nothing to do with the UART itself.
 

I mean can we trust that UART is stable if there is no bad external effects ? How about the UART buffer, if we send a 5 digit number from computer and they are not read by the host microcontroller same time. Is it possible if host receive them one by one with a delay of 1 sec ?
 

hello,
with a time interval of 1sec, you must be sure, that the host ( your application program) will have a look on Receive UART register .. is there a data in it ?
so check it in less than 1sec,
maybe by using a timer of 990mS , re armed at each received char?

it is not an usual way to do ..
Normal way is to use RX interrupt .. and manage error flag.
 

I mean can we trust that UART is stable if there is no bad external effects ?

Not clear what you meant by "stable", a UART is nothing more than a peripheral implemented in Hardware, and therefore will work as expected whenever data arrives with correct format/timing. If you are referring to the firmware that handles it, if it were not properly implemented it will have problems, but the question still remains generic and vague, not to say, confusing.
 

Hi,

if we send a 5 digit number from computer and they are not read by the host microcontroller same time.
You need to read the microcontroller datasheet about hardware UART buffer.
But you are free to install a software buffer in your microcontroller.

Decades of years we trusted in UART. And in the industry it is still alive.
MODBUS, Profibus and so on can be implemented with UART.

But UART is just the serializer and deserializer.
* Additionally you have a hardware interface (RS232, RS485, RF, optical...)
* and you have a protocol. Use the correct protocol to detect errors and - if you like - to re transmit the bad block of data.
* and for sure you need to use the correct cables, too.
* .. and the correct baud rate...

Indeed I´d say UART is not the problem. I think it´s rather external EMI error sources, cabling, interface, software...

Klaus
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top