logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Obliczanie prędkości transmisji USART w baudach i kB/s

mateusz19955 19 Paź 2019 14:18 2481 10
REKLAMA
  • #1 18227759
    mateusz19955
    Poziom 13  
    Posty: 215
    Pomógł: 2
    Ocena: 2
    Witam, mam jedno małe pytanie.
    Często używam interfejsu USART w mikrokontrolerach i tam prędkość transmisji jest podana w jednostce baud, np: 9600 baud.
    Przeczytałem że to nic innego jak 1bit na sekundę.
    Czyli używając prędkości 115200 baud to ja wysyłam 115200 bit/s.
    Czyli jest to 14,4kB/s i czas w jakim prześle się 1 bajt jest równy 69us?
    Dobrze to zrozumiałem?
  • REKLAMA
  • #2 18227774
    ArturAVS
    Moderator
    Posty: 26206
    Pomógł: 2296
    Ocena: 7767
    Dolicz do tego bajta ( 8 bitów ) bit startu i stopu, ewentualnie kontrola parzystości.
  • REKLAMA
  • #3 18227786
    mateusz19955
    Poziom 13  
    Posty: 215
    Pomógł: 2
    Ocena: 2
    Ok, jak dodam ten bit stopu i startu to czas w jakim wyślę się 1 bajt danych troszkę się wydłuży.
    Ale pomijając już te bity które zaraz sobie uwzględnie w obliczeniach to dobrze to obliczam?
  • #4 18227800
    ArturAVS
    Moderator
    Posty: 26206
    Pomógł: 2296
    Ocena: 7767
    mateusz19955 napisał:
    dobrze to obliczam?

    Liczysz czas transmisji, to z grubsza ok.
  • #5 18227805
    mateusz19955
    Poziom 13  
    Posty: 215
    Pomógł: 2
    Ocena: 2
    Ok, czyli jak obliczyć ile trwa wysłanie 1 bajta danych zakładając że ramka składa się z jednego bity startu, ośmiu bitów danych i jednego bitu stopu?
    Bitów parzystości nie ma.
    Prędkość transmisji to 115200baud.

    Dodano po 18 [minuty]:

    Dobra chyba sobie poradziłem.
    115200 bitów na 1 sekundę czyli wysłanie 1 bitu trwa 8,6us.
    Czyli cała ramka wyśle się w czasie 8,6us × 10 = 86us.
    Czyli daje to prędkość przesyłu około 12kB/s.
    Teraz jest chyba dobrze obliczone?
  • REKLAMA
  • #6 18227841
    osctest1
    Poziom 21  
    Posty: 451
    Pomógł: 36
    Ocena: 74
    Źle bo k to nie 1000 tylko 1024
    115200 / 10 = 11520B/s
    11520 / 1024 = 11.25kB/s

    Oczywiście zakładając brak jakichkolwiek odstępów miedzy bajtami - co w przypadku rozbieżności zegarów między nadawcą a odbiorcą spowoduje błędy transmisji.
  • #7 18227863
    ArturAVS
    Moderator
    Posty: 26206
    Pomógł: 2296
    Ocena: 7767
    Jak używasz sprzętowego USART to nie musisz w zasadzie liczyć czasu jaki jest potrzebny na odbiór/nadanie bajtu. USART robi to sprzętowo i ładuje do bufora, a można go tak ustawić że po odebraniu bajtu zgłasza przerwanie, i wtedy odpowiednio reagujesz. Co innego z programowym, tu już timingi mają znaczenie.
  • #8 18227989
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #9 18228073
    osctest1
    Poziom 21  
    Posty: 451
    Pomógł: 36
    Ocena: 74
    khoam napisał:
    Niezupełnie

    Jakoś w informatyce przedrostków SI się nie używa, tak że zupełnie (poza jednym przypadkiem rozmiarem HDD).
  • #10 18228082
    Konto nie istnieje
    Poziom 1  
  • #11 18228601
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    kilobajt -1 kB = 1000 B
    kibibajt - 1 KiB = 1024 B

    Kibibajtów używa się wyłącznie do wyrażania pojemności pamięci. Szybkość transmisji podaje się w jednostkach dziesiętnych.

Podsumowanie tematu

✨ Użytkownik zadał pytanie dotyczące obliczania prędkości transmisji w interfejsie USART, wskazując na prędkości 9600 i 115200 baud. Po wyjaśnieniach dotyczących dodawania bitów startu i stopu, użytkownik obliczył czas przesyłania jednego bajta oraz prędkość transmisji. W dyskusji podkreślono, że przy prędkości 115200 baud, z uwzględnieniem bitów startu i stopu, czas przesyłania jednego bajta wynosi około 86 µs, co przekłada się na prędkość około 12 kB/s. Zwrócono uwagę na różnice w definicjach kilobajta i kibibajta oraz na znaczenie sprzętowego USART, który automatyzuje proces przesyłania danych.
Wygenerowane przez model językowy.
REKLAMA