Seriell port

Seriell port

Seriell standarder gir i mange forskjellige arbeidshastighet, samt justeringer for å protokollen til å gjøre rede for ulike driftsforhold. Den mest kjente alternativer er hastighet, antall data biter per tegn, paritet og antall stopp bits per tegn.

I moderne serielle porter ved hjelp av en UART integrert krets, alle disse innstillingene kan være programvare-kontrollert. Maskinvare fra 1980-tallet og tidligere, kan kreve innstilling av brytere eller kontaktene på et kretskort.,

konfigurasjon for serielle porter som er designet for å være koblet til en PC har blitt en de-facto standard, vanligvis oppgitt som 9600/8-N-1.

SpeedEdit

Serielle porter bruke to-nivå (binær) signalering, slik at data rate i bits per sekund er lik symbol hastighet i baud. En standard rekke priser er basert på multipler av priser for elektromekaniske teleprinters; noen serielle porter tillater mange vilkårlig priser for å bli valgt, men hastigheter på begge sider av forbindelsen må matche, eller data vil bli mottatt som vrøvl.,

evne til å sette litt pris betyr ikke at en tilkobling som fungerer, vil resultatet. Ikke alle bitrater er mulig med alle serielle porter. Noen spesielle formål protokoller som MEDIUM for musikalsk instrument kontroll, bruker seriell data priser annet enn teleprinter-standarder. Noen seriell port implementeringer kan automatisk velge en bithastighet ved å observere hva en tilkoblet enhet, sender og synkronisering til det.

Den totale hastigheten inneholder bits for innramming (stop bits, paritet, etc.) og så den effektive data rate er lavere enn litt for overføringshastighet., For eksempel, med 8-N-1 karakter rammer, bare 80% av biter som er tilgjengelig for data, for hver åtte biter av data, to mer innramming biter er sendt.

bitrater ofte støttes, inkluderer 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 og 115200 bits/s.

Crystal oscillatorer med en frekvens på 1.843200 MHz er solgt spesielt for dette formålet. Dette er 16 ganger den raskeste bit rate, og seriell port krets kan enkelt dele dette ned til de lavere frekvensene som kreves.,

Data bitsEdit

antall databiter i hver karakter kan være 5 (for Baudot-koden), 6 (sjelden brukt), 7 (for sann ASCII), 8 (for de fleste typer av data, så er dette en størrelse som stemmer med størrelsen på en byte), eller 9 (sjelden brukt). 8 data bits er nesten universelt brukt i nyere programmer. 5 eller 7 biter vanligvis bare fornuftig med eldre utstyr som teleprinters.

de Fleste seriell kommunikasjon design sende data biter i hver byte LSB (least significant bit) først. Denne standarden er også referert til som «little endian.,»

Også mulig, men sjelden brukt, er «big endian» eller MSB (mest signifikante bit) første; dette ble brukt, for eksempel ved IBM 2741 utskrift terminal.

rekkefølgen av bits er vanligvis ikke konfigurerbar innenfor seriell-port-grensesnitt, men er definert av host-system. Å kommunisere med systemer som krever en annen bit bestiller enn den lokale standard, lokale programvare kan re-order bits i hver byte like før sending og etter mottak.

ParityEdit

utdypende artikkel: Paritet bit

Paritet er en metode for å detektere feil i overføringen., Når paritet er brukt med en seriell port, en ekstra data bit sendes med hver data karakter, arrangert slik at antall 1 bits i hvert tegn, inkludert paritet bit, er alltid et oddetall eller alltid selv. Hvis en byte som er mottatt med feil antall 1-ere, så det må ha blitt ødelagt. Men en rekke feil kan passere paritet sjekk.

Elektromekaniske teleprinters ble arrangert for å skrive ut et spesialtegn når du fikk dataene til en paritet feil, for å tillate registrering av meldinger skadet av linje støy., En enkelt bit paritet betyr ikke at implementering av feilretting på hver karakter, og kommunikasjonsprotokoller jobber via serielle data koblinger vil ha høyere nivå mekanismer for å sikre data gyldighet og be om videresending av data som har blitt feilaktig har mottatt.

paritet bit i hver karakter kan settes til ett av følgende:

  • Ingen (N) betyr at ingen paritet bit blir sendt på alle.
  • Odd (O) betyr at paritet bit er satt slik at antall «logiske ones» må være oddetall.,
  • Selv (E) betyr at paritet bit er satt slik at antall «logiske ones» må være partall.
  • Mark (M) paritet betyr at paritet bit er alltid på mark signalkvalitet (logisk 1).
  • Plass (S) paritet alltid sender paritet bit på plass signalkvalitet (logisk 0).

Bortsett fra uvanlig programmer som bruker den siste biten (vanligvis den 9.) for noen form for adressering eller spesielle signalering, mark eller plass paritet er uvanlig, som det legger ingen feil detection informasjon.,

Odde paritet er mer nyttig enn selv paritet siden det sikrer at minst én stat overgang skjer i hver karakter, som gjør det mer pålitelig på å oppdage feil som de som kan være forårsaket av serial port hastighet samsvarer ikke. Den vanligste paritet setting, derimot, er «ingen», med feilregistrering håndtert av en kommunikasjonsprotokoll.

Stopp bitsEdit

Stopp bits som sendes i slutten av hver karakter du vil tillate mottak av signal maskinvare for å oppdage slutten av et tegn og til resynchronise med karakter stream. Elektroniske enheter bruker vanligvis en stopp bit., Hvis treg elektromekaniske teleprinters er brukt, én og en halv eller to stop bits er nødvendig.

Konvensjonelle notationEdit

data/paritet/stopp (D/P/S) konvensjonell notasjon angir rammer for en seriell tilkobling. Den mest vanlige bruken av microcomputers er 8/N/1 (8N1). Dette angir 8 databiter, ingen paritet, 1 stopp bit. I denne notasjonen, paritet bit er ikke inkludert i data biter. 7/E/1 (7E1) betyr at en enda bit paritet er lagt til 7 data biter for en sum av 8 bits mellom start-og stoppbiter., Hvis mottakeren av en 7/E/1 stream er ventet en 8/N/1 stream, halve mulig byte vil bli tolket som å ha høy bit-sett.

Flow controlEdit

Flow control brukes i situasjoner der en sender kan være i stand til å sende data raskere enn den mottakeren er i stand til å behandle den. For å takle dette, serielle linjer ofte innlemme en handshake-metoden, vanligvis skilles mellom maskinvare-og programvareinitialisering.

for maskinvareinitialisering er gjort med ekstra signaler, ofte RS-232 RTS/CTS-eller DTR/DSR-signalet kretser., Generelt, RTS og CTS er slått av og på fra alternative slutter å kontrollere dataflyten, for eksempel når en buffer er nesten full. DTR og DSR er vanligvis på hele tiden og, i henhold til RS-232 standarden og dens etterfølgere, er brukt for å signal fra hver ende for at den andre utstyret er faktisk til stede og drevet opp. Imidlertid, produsenter har gjennom årene bygget mange enheter som er implementert ikke-standard variasjoner på standard, for eksempel skrivere som bruker DTR som flyt kontroll.,

programvareinitialisering (handshaking gjøres for eksempel med ASCII-tegn XON/XOFF for å kontrollere flyten av data. Den XON og XOFF tegnene som er sendt av mottakeren til å avsenderen om å kontrollere når avsenderen vil sende data, er at disse tegnene gå i motsatt retning av data blir sendt. Kretsen starter i «sende tillatt» – tilstand. Når mottakeren er buffere tilnærming kapasitet, mottakeren sender XOFF tegn til å fortelle avsenderen om å slutte å sende data., Senere, etter at mottakeren har tømt sine buffere, det sender en XON tegn til å fortelle avsenderen om å gjenoppta overføring. Det er et eksempel på i-band signalering, der kontroll-informasjon sendes i samme kanal som sine data.

fordelen av maskinvareinitialisering er at det kan være ekstremt rask, det trenger ikke pålegge noen bestemt mening, for eksempel ASCII på overført data, og det er statsløse. Ulempen er at det krever mer av maskinvare og kabling, og disse må være kompatible i begge ender.,

fordelen av programvareinitialisering (handshaking er at det kan gjøres med fraværende eller inkompatible maskinvareinitialisering kretser og kabling. Ulempen, som er felles for alle i bandet kontroll signaliserer, er at den introduserer kompleksiteten i å sikre at a) kontroll meldinger får gjennom selv når data meldinger er blokkert, og b) data kan aldri bli feil for kontroll-signaler., Førstnevnte blir normalt behandlet av operativsystemet eller en enhetsdriver, sistnevnte normalt ved å sikre at kontroll-koder er «rømt» (for eksempel i Kermit protocol) eller utelatt av design (som for eksempel i ANSI-terminal control).

Hvis ingen handshaking er ansatt, en utforkjøring mottakeren kan rett og slett ikke å motta data fra senderen. Tilnærminger for å forebygge dette inkluderer å redusere hastigheten på forbindelsen, slik at mottakeren kan alltid holde opp, for å øke størrelsen på bufferen, slik at det kan holde seg i gjennomsnitt over en lengre tid, ved hjelp av forsinkelser etter tidkrevende operasjoner (f.eks., i termcap) eller ansette en mekanisme for å sende data som har blitt ødelagt (for eksempel TCP).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *