Dzisiejszy wpis będzie bardzo krótki i zwięzły. Kawałek historii na skrzyżowaniu elektroniki i programowania.
Nigdy się specjalnie nie zastanawiałem nad prędkościami interfejsu UART… aż do wczoraj. Po przeprowadzeniu małego śledztwa odpowiedź, jaką znalazłem wyjaśniała, że chodzi o wielokrotności liczby 300 (np. 9600/300 = 32).
No dobrze, a dlaczego akurat 300?
Jak to często bywa, powodem są zaszłości historyczne. Linie telefoniczne, które potem stały się pierwszymi nośnikami internetu, miały prędkość 300 baud. To była największa wartość, jaką dało się osiągnąć z elektroniką tamtych czasów i modulacją FSK. Technika poszła do przodu, obwody analogowe zamieniły się w cyfrowe i osiągane baud’y mogły się zwiększyć. Gdy połączymy wartość 300 z potęgami dwójki i małymi liczbami naturalnymi (łatwe do implementacji w układach), dostaniemy obecne dzisiaj wartości.
9600 = 300*32
115200 = 300*128*3
c.n.d. – co należało udowodnić 🙂
Źródła
https://www.reddit.com/r/embedded/comments/1atn1zl/why_baudrates_like_115200_and_9600_chosen
Dodaj komentarz