Når vi initialiserer en seriell kommunikasjon, må vi vanligvis stille inn baudrate (f.eks. 115200) Jeg merker at mange antar at 115200 betyr 115200 bits per sekund. Hver baud (signalendring) kan imidlertid kode mer enn 1 bit. baud 115200 betyr bare 115200 bits per sekund hvis hver baud = 1 bit. Hvis hver baud er 5 bits, betyr å ha baud 115200 en bithastighet på 115200 * 5 bits per sekund.
Hvis det jeg sa ovenfor er sant, hva er forholdet baud til bit for UART og USB3.0 forutsatt at overføringshastigheten er satt til 115200?
Det kan ikke være 1 til 1 fordi 115200 bits per sekund er 14,0625 kbps (kilo byte per sekund), noe som er for sakte.
Kommentarer
- Ignorer USB3.0, tenk deg » og USB3.0 » fjernes
- En UART koder ganske enkelt 1 som et høyspenningsnivå og 0 som et lavt spenningsnivå.
- (Det betyr 1 bit per symbol)
- For en ‘ normal ‘ UART, baud == bithastighet, så 115200 baud = 115200 bithastighet = 11.520kBps (forutsatt 8N1 som betyr 8bits data + 1 startbit + 1 stoppbit).
- Relatert: Forskjell mellom Hz og bps .
Svar
Et mindre poeng: b y definisjon, en Baud (oppkalt etter Emile Baudot) er ett symbol per sekund. Så utsagnet ditt,
baud 115200 betyr bare 115200 bits per sekund hvis hver baud = 1 bit. Hvis hver baud er 5 bits, betyr å ha baud 115200 en bithastighet på 115200 * 5 bits per sekund.
er riktig i ånden, men du bør erstatt ordet «baud» med «symbol». Hvis du har et alfabet med 32 symboler, koder hvert symbol 5 bits, og en signalfrekvens på 115200 symboler per sekund, som er 115200 Baud (per definisjon), gir deg 115200 * 5 = 576000 bits per sekund.
Den ofte brukte setningen «Baud rate» er grammatisk feil på i hovedsak samme måte som «ATM-maskin» er feil. Definisjonen av Baud har begrepet rate innebygd i seg, så det å si «Baud rate» er grammatisk det samme som å si «symbol rate rate» (som kan være fornuftig hvis du snakker om en endring av symbol rate, men det «s ikke hvordan folk flest bruker det). På samme måte har «minibank» allerede «maskin» innlemmet i den, så «minibank» tilsvarer å si «automatisert kassamaskin» (som igjen kan være fornuftig hvis du snakker om en maskin som produserer minibanker, men at «s vanligvis ikke hva folk mener).
Grammatikk til side, de fleste lav til moderat hastighetssignaler med kort rekkevidde over ledning bruker binær signalering, så symbolhastigheten tilsvarer bithastigheten. Lang rekkevidde over ledning (f.eks. kabelmodemer) og via radio er det mer sannsynlig at de bruker flerbitsymboler, og dermed vil bithastigheten være høyere enn symbolhastigheten.
Kommentarer
- Beklager, men jeg nedstemte fordi du tar feil. » Symbol » betyr i dette tilfellet ikke hva du synes det betyr. Vanligvis i binær overføring er det bare to symboler, merke og mellomrom. Et alfabet med 32 tegn krever 5 biter, men hver bit krever overføring av et symbol. Så eksempelet ditt på en 115k baud si gnaleringshastighet overfører bare 115k bits per sekund. Se no.wikipedia.org/wiki/Baud for mer info.
- @WhatRoughBeast Bare hvis du har 0 og 1 som symboler. Entropivore snakker om 32 spenningsnivåer. no.wikipedia.org/wiki/Pulse-amplitude_modulation I så fall får du 5 bits med ett signal fordi det ‘ s kodet i amplituden til ett symbol.
- @WhatRoughBeast, jeg tror du kanskje er forvirret av begrepet » alfabetet «. I comms termer betyr » alfabetet » settet med symboler som kan kommuniseres over kanalen. Hvis det bare er to skillbare tilstander for kanalen, har du et alfabet som består av to symboler. Hvis det er, som i vårt forrige eksempel, 32 stater, så har du et alfabet med 32 symboler. Disse kan vises på mange måter, inkludert amplitude og fase av en sinusformet bærer, pulsamplitude, bredde eller posisjon, etc., etc. Hvis du velger å representere disse symbolene som et binært ord, tar det 5 biter.
- Beklager, den siste setningen er dårlig formulert. Jeg burde ha sagt, » Hvis du velger å representere en av disse symbolene som et binært ord. »
Svar
Mens kommunikasjonen er digital, er baudhastigheten lik bithastigheten.Bare når kommunikasjonen er modulert til analog, kan 1 baud kode mer enn 1 bit i henhold til konstellasjonsdiagram .
For busser som overfører data som er raskere enn bithastigheten til den serielle tilkoblingen, utføres overføringen i bursts. USB 3.0 kan sende opptil 1024 databytes per bulkoverføring, noe som betyr at en full pakke vil bli sendt i gjennomsnitt hver 1.6384us forutsatt en 5 Gbps busshastighet.
Kommentarer
- Er ditt første ledd sant for busser som bruker parallelle kanaler?
- La meg gjøre spørsmålet mitt enkelt. Hva betyr det hvis jeg setter overføringshastigheten for uart til å være 115200? Betyr det at den maksimale datahastigheten er 115200 bps. Hvis det kan være mer, hvorfor?
- @jippie: Jeg antar at det teknisk sett ikke er ‘ t, men egentlig refererer ingen til » baud » når vi snakker om en parallell kanal.
- @WeidongGuo: Det antyder at et sted langs linjen er det en enhet som vil sende bits med minst 8,7us avstand mellom hver bit, og en annen som kan motta biter med ikke mindre enn samme periode.
- @WeidongGuo: Det er ikke ‘ t . Derfor kan USB-latens være et problem for visse applikasjoner.
Svar
Du sammenligner prisene på forskjellige lag i en abstraksjonsmodell. I eksempelet ditt brukes USB3.0 bare omtrent som en tunnel for å sende «115200 bps UART» gjennom. Det spiller ingen rolle hvordan USB3.0 gjør det, spenningene kan variere, rammene kan variere, hastigheten kan variere. (De vil alle være BTW).
Svar
Bithastighet og baudhastighet er den samme for UART, som andre sa. Det er ikke det samme for alle basebåndsignaleringsmetoder (andre kalte dem digitale, noe som ikke er riktig). Manchester linjekode, for eksempel, der er koden kodet som heving eller sviktende kant.
Måten du beregnet bithastighet på, er ikke riktig. UART bruker ordsynkronisering, noe som betyr at den sender hele byte samtidig innkapslet rammer på minst 9 bits. Startbiten er lagt til for fasesynkronisering av klokker mellom mottaker og sender.
Dette er også grunnen til at det ikke gir mening å referere til bithastigheter i tilfelle UART – det er enten byte rate, eller baud rate.
Kommentarer
- I følge denne siden en.wikipedia. org / wiki / List_of_device_bit_rates , serie 16 550 UART max har bithastighet på 1,5 Mbit / s, så betyr det at hvert symbol (signalendring) er kodet inn (1,5M / 115200 = 13 bits), forutsatt 115220 Baud. Har jeg rett?
- Nei, 1,5Mbit er maksimal gjennomstrømning som kan oppnås med UART, gitt linjekode og signalmetode. Det har ingenting å gjøre med 115,2 kB, det er bare en annen hastighet.
- så la meg gjøre opp et tall da, hvis gjennomsnittshastigheten er 1,5Mbit / s for UART, er det jeg sa ovenfor sant da.
- Nei, hvis du har gjennomstrømning 1,5Mbit / s, betyr det at du har omtrent 187 kB / s, som oversetter til baudrate på minst 1,65MBd. Dette er tilfelle når hver byte er kodet ved hjelp av startbit og de 8 bitene i byten, uten stopp- og paritetsbiter (de er valgfrie). Som jeg sa ovenfor, er bits og bauds 1: 1 i UART, men det er forskjell mellom bitene du overførte og bitene av dataene siden hver byte er innkapslet i sin egen ramme.
- jeg bryr meg bare om bitene som overføres ikke bare dataene (nyttelast). » Overføringshastigheter kan være omtrent hvilken som helst verdi innen grunn. Det eneste kravet er at begge enhetene fungerer med samme hastighet «. Så baud er protokollavhengig, eller maskinvareavhengig, eller begge deler?