Embedded systemen en firmware
Bij UART kan een klein verschil in baudrate tussen zender en ontvanger tekenfouten veroorzaken. Waarom is de toelaatbare afwijking beperkt tot ongeveer enkele procenten?
- ADe ontvanger synchroniseert op het startbit en leest daarna met zijn eigen klok elk bit in het midden, dus de afwijking stapelt zich binnen één teken op en veroorzaakt een fout als ze bij het laatste bit meer dan een half bit bedraagt
- BAls de baudrate afwijkt, daalt de spanning van de zender
- CUART corrigeert de afwijking automatisch, dus in werkelijkheid is er geen toelaatbaar bereik
Antwoord en toelichting tonen
Antwoord: A. De ontvanger synchroniseert op het startbit en leest daarna met zijn eigen klok elk bit in het midden, dus de afwijking stapelt zich binnen één teken op en veroorzaakt een fout als ze bij het laatste bit meer dan een half bit bedraagt
De ontvanger synchroniseert op het begin van het startbit, telt daarna met zijn eigen baudrate en leest de waarde in het midden van elk bit. Bij een snelheidsverschil stapelt de afwijking van het leesmoment zich bit voor bit op, en als bij het stopbit na circa 10 bits meer dan een half bit afwijking is bereikt, wordt het naburige bit gelezen. De gecombineerde fout van beide zijden moet daarom binnen enkele procenten blijven, en voorzichtigheid is geboden bij interne oscillatoren met een lage klokprecisie.