Când inițializăm o comunicare în serie, de obicei trebuie să setăm rata baud (de ex. 115200) Observ că mulți oameni presupun că 115200 înseamnă 115200 biți pe secundă. Cu toate acestea, fiecare baud (schimbarea semnalului) poate codifica mai mult de 1 bit. baud 115200 înseamnă 115200 biți pe secundă numai dacă fiecare baud = 1 bit. Dacă fiecare baud este de 5 biți, atunci având baud 115200 înseamnă o rată de biți de 115200 * 5 biți pe secundă.
Dacă ceea ce am spus mai sus este adevărat, care este raportul baud-bit pentru UART și USB3.0 presupunând că rata de transmisie este setată la 115200?
Nu poate fi de la 1 la 1 deoarece 115200 biți pe secundă este de 14,0625 KBps (kilo octeți pe secundă), care este prea lent.
Comentarii
- Ignorați USB3.0, imaginați-vă ” și USB3.0 ” este eliminat
- Un UART codifică pur și simplu 1 ca nivel de înaltă tensiune și 0 ca nivel de tensiune scăzută.
- (Asta înseamnă 1 bit pe simbol)
- Pentru un ‘ normal ‘ UART, baud == bit rate, deci 115200 baud = 115200 bit rate = 11.520kBps (presupunând 8N1 ceea ce înseamnă date de 8 biți + 1 bit de start + 1 bit de oprire).
- În legătură: Diferența dintre Hz și bps .
Răspuns
Un punct minor: b definiția y, un Baud (numit după Emile Baudot) este un simbol pe secundă. Deci, declarația dvs.,
baud 115200 înseamnă 115200 biți pe secundă numai dacă fiecare baud = 1 bit. Dacă fiecare baud este de 5 biți, atunci având baud 115200 înseamnă o rată de biți de 115200 * 5 biți pe secundă.
este corect în spirit, dar ar trebui să înlocuiți cuvântul „baud” cu „simbol”. Dacă aveți un alfabet de 32 de simboluri, atunci fiecare simbol codifică 5 biți și o rată de semnalizare de 115200 simboluri pe secundă, care este 115200 Baud (prin definiție), vă va oferi 115200 * 5 = 576000 biți pe secundă.
Expresia frecvent utilizată „Baud rate” este incorectă din punct de vedere gramatical, în esență în același mod în care „bancomat” este incorect. Definiția Baud are conceptul de rată încorporat în ea, așa că a spune „Rată baud” este la nivel gramatical același cu a spune „rată a ratei simbolului” (ceea ce ar putea avea sens dacă vorbiți despre o rată a simbolului în schimbare, dar că „s nu cum îl folosesc majoritatea oamenilor). La fel, „bancomat” are deja „mașină” încorporată în el, așa că „bancomat” este echivalent cu a spune „bancomat” (care, din nou, ar putea avea sens dacă ai vorbi despre o mașină care produce bancomate, dar că „De obicei nu este ceea ce înseamnă oamenii).
Gramatică deoparte, cea mai mare semnalizare cu rază scurtă până la moderată de scurtă durată prin fir utilizează semnalizare binară, deci rata simbolurilor este egală cu rata de biți. Semnalizare pe distanță lungă prin fir (de exemplu, modemurile prin cablu) și prin radio este mai probabil să utilizeze simboluri pe mai mulți biți și, prin urmare, rata de biți va fi mai mare decât rata simbolurilor.
Comentarii
- Ne pare rău, dar am votat în jos pentru că greșești. ” Simbol ” în acest caz nu înseamnă ce crezi înseamnă. De obicei, în transmiterea binară există doar două simboluri, semn și spațiu. Un alfabet cu 32 de caractere necesită 5 biți, dar fiecare bit necesită transmiterea unui simbol. Deci, exemplul dvs. de 115k baud si rata de generare transmite doar 115k biți pe secundă. Consultați en.wikipedia.org/wiki/Baud pentru mai multe informații.
- @WhatRoughBeast Numai dacă aveți 0 și 1 ca simboluri. Entropivorul vorbește despre 32 de niveluri de tensiune. en.wikipedia.org/wiki/Pulse-amplitude_modulation În acest caz, primiți 5 biți cu un singur semnal deoarece ‘ s codificate în amplitudinea unui simbol.
- @WhatRoughBeast, cred că sunteți probabil confuz de termenul ” alfabet „. În termeni de comunicare, ” alfabet ” înseamnă setul de simboluri care pot fi comunicate pe canal. Dacă există doar două stări distincte ale canalului, atunci aveți un alfabet format din două simboluri. Dacă există, ca în exemplul nostru anterior, 32 de stări, atunci aveți un alfabet de 32 de simboluri. Acestea pot fi reprezentate în mai multe moduri, inclusiv amplitudinea și faza unui purtător sinusoidal, amplitudinea impulsului, lățimea sau poziția etc. etc. Dacă alegeți să reprezentați aceste simboluri ca un cuvânt binar, este nevoie de 5 biți.
- Ne pare rău, ultima propoziție este formulată prost. Ar fi trebuit să spun, ” Dacă alegeți să reprezentați unul dintre aceste simboluri ca un cuvânt binar. ”
Răspuns
În timp ce comunicațiile sunt digitale, rata de transmisie este egală cu rata de biți.Numai atunci când comunicațiile sunt modulate la analogice, 1 baud poate codifica mai mult de 1 bit conform diagramă de constelație .
Pentru autobuzele care transmit date care sunt mai rapide decât rata de biți a conexiunii seriale, transmisia se efectuează în rafale. USB 3.0 poate trimite până la 1024 octeți de date per transfer în bloc, ceea ce înseamnă că un pachet complet ar fi trimis în medie la fiecare 1.6384us, presupunând o viteză a magistralei de 5 Gbps.
Comentarii
- Este primul dvs. paragraf adevărat pentru autobuzele care utilizează canale paralele?
- Permiteți-mi să îmi simplific întrebarea. Ce înseamnă dacă setez baud rate pentru uart să fie 115200? Implică faptul că rata maximă de date este de 115200 bps. Dacă poate fi mai mult, de ce?
- @jippie: Presupun că din punct de vedere tehnic nu este ‘ t, dar în esență nimeni nu se referă la ” baud ” când vorbim despre un canal paralel.
- @WeidongGuo: implică faptul că undeva de-a lungul liniei există un dispozitiv care va trimite biți cu cel puțin aproximativ 8,7us distanță între fiecare bit și altul care poate primi biți cu cel puțin aceeași perioadă.
- @WeidongGuo: Nu există ‘ t . Motiv pentru care latența USB poate fi o problemă pentru anumite aplicații.
Răspuns
Compară tarifele la diferite straturi într-un model de abstractizare. În exemplul dvs. USB3.0 este folosit doar ca un tunel pentru a trimite „115200 bps UART” prin. Nu contează cât de mult face USB3.0, tensiunile pot diferi, cadrele pot diferi, viteza poate diferi. (Toate vor BTW).
Răspuns
Rata de biți și rata de transmisie sunt aceleași pentru UART, așa cum au spus alții. Nu este același lucru pentru toate metodele de semnalizare în bandă de bază (altele le numesc digitale, ceea ce nu este necesar corect). Codul de linie Manchester, de exemplu, acolo bitul este codificat ca margine crescătoare sau nereușită.
Totuși, modul în care ați calculat rata de biți nu este corect. cadre de cel puțin 9 biți. Bitul de pornire este adăugat pentru sincronizarea fazelor ceasurilor între receptor și emițător.
Acesta este și motivul pentru care nu are sens să ne referim la debitele de biți în cazul UART – este fie octetul său rate sau baud rate.
Comentarii
- Conform acestei pagini, en.wikipedia. org / wiki / List_of_device_bit_rates , seria 16 550 UART max are o rată de biți de 1,5 Mbit / s, atunci înseamnă că fiecare simbol (schimbarea semnalului) este codat în (1,5 M / 115200 = 13 biți), presupunând 115220 Baud. Am dreptate?
- Nu, 1,5Mbit este debitul maxim realizabil cu UART, având în vedere codul său de linie și metoda de semnalizare. Nu are nicio legătură cu 115,2 KB, adică doar o altă viteză.
- apoi permiteți-mi să fac un număr, apoi, dacă viteza medie este de 1,5 Mb / s pentru UART, este ceea ce am spus mai sus adevărat apoi.
- Nu, dacă aveți un transfer de 1,5Mbit / s înseamnă că aveți aproximativ 187 kB / s, ceea ce se traduce prin viteza de transmisie de cel puțin 1,65 MBd. Acesta este cazul când fiecare octet este codificat folosind bitul de start și cei 8 biți ai octetului, fără biți de oprire și paritate (aceștia sunt opționali). Așa cum am spus mai sus, biții și baudii sunt 1: 1 în UART, dar există o diferență între biții pe care i-ați transmis și biții de date, deoarece fiecare octet este încapsulat în propriul cadru.
- Îmi pasă doar despre biții transmiși nu doar datele (sarcina utilă). ” Ratele Baud pot fi aproape orice valoare în cadrul rațiunii. Singura cerință este ca ambele dispozitive să funcționeze la același ritm „. Deci, baud este dependent de protocol sau de hardware sau ambele?