Seriel port

Seriel port

serielle standarder giver mange forskellige driftshastigheder samt justeringer af protokollen for at tage højde for forskellige driftsforhold. De mest kendte muligheder er hastighed, antal databit pr.

i moderne serielle porte ved hjælp af et UART-integreret kredsløb kan alle disse indstillinger være soft .arestyret. Hard .are fra 1980 ‘ erne og tidligere kan kræve indstilling af kontakter eller jumpere på et printkort.,

konfigurationen for serielle porte designet til at blive tilsluttet en PC er blevet en de-facto standard, normalt angivet som 9600/8-n-1.

SpeedEdit

serielle porte bruger to-niveau (binær) signalering, så datahastigheden i bits per sekund er lig med symbolhastigheden i baud. En standard serie af satser er baseret på multipla af satserne for elektromekaniske teleprintere; nogle serielle porte tillader mange vilkårlige satser, der skal vælges, men hastighederne på begge sider af forbindelsen skal matche, eller data vil blive modtaget som volapyk.,

evnen til at indstille en bithastighed betyder ikke, at en fungerende forbindelse vil resultere. Ikke alle bithastigheder er mulige med alle serielle porte. Nogle specielle protokoller, såsom MIDI til kontrol af musikinstrumenter, bruger andre serielle datahastigheder end teleprinterstandarderne. Nogle serielle port implementeringer kan automatisk vælge en bithastighed ved at observere, hvad en tilsluttet enhed sender og synkroniserer til den.

den samlede hastighed inkluderer bits til indramning (stopbits, paritet osv.) og så er den effektive datahastighed lavere end bitoverførselshastigheden., For eksempel, med 8-n-1 tegnindramning, er kun 80% af bitene tilgængelige for data; for hver otte bits data sendes yderligere to indramningsbits.

bithastigheder, der ofte understøttes, inkluderer 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 og 115200 bit/s.

krystaloscillatorer med en frekvens på 1.843200 MH.sælges specifikt til dette formål. Dette er 16 gange den hurtigste bithastighed, og den serielle port kredsløb kan nemt opdele dette ned til lavere frekvenser efter behov.,

Data bitsEdit

antallet af databit i hvert tegn kan være 5 (for Baudot-kode), 6 (sjældent brugt), 7 (for ægte ASCII), 8 (for de fleste typer data, da denne størrelse matcher størrelsen på en byte) eller 9 (sjældent brugt). 8 databit bruges næsten universelt i nyere applikationer. 5 eller 7 Bit giver generelt kun mening med ældre udstyr såsom teleprintere.

de fleste serielle kommunikationsdesign sender databitene inden for hver byte LSB (mindst signifikant bit) først. Denne standard kaldes også ” lille endian.,”

også muligt, men sjældent brugt, er” big endian ” eller MSB (mest markant bit) først; dette blev for eksempel brugt af IBM 2741-udskrivningsterminalen.

rækkefølgen af bits kan normalt ikke konfigureres inden for den serielle portgrænseflade, men er defineret af værtssystemet. For at kommunikere med systemer, der kræver en anden bitbestilling end den lokale standard, kan lokal soft .are genbestille bitene inden for hver byte lige før afsendelse og lige efter modtagelse.

ParityEdit

Hovedartikel: paritetsbit

paritet er en metode til at registrere fejl i transmission., Når paritet bruges med en seriel port, sendes en ekstra data bit med hvert data tegn, arrangeret således, at antallet af 1 bit i hvert tegn, herunder paritet bit, er altid ulige eller Altid lige. Hvis en byte modtages med det forkerte antal 1′ er, skal det have været beskadiget. Et lige antal fejl kan dog passere paritetskontrollen.

elektromekaniske teleprintere blev arrangeret til at udskrive et specialtegn, når modtagne data indeholdt en paritetsfejl for at muliggøre detektion af meddelelser beskadiget af linjestøj., En enkelt paritetsbit tillader ikke implementering af fejlkorrektion på hvert tegn, og kommunikationsprotokoller, der arbejder over serielle datalink, vil have mekanismer på højere niveau for at sikre datagyldighed og anmode om videresendelse af data, der er forkert modtaget.

paritetsbiten i hvert tegn kan indstilles til et af følgende:

  • None (N) betyder, at der slet ikke sendes nogen paritetsbit.
  • ulige (O) betyder, at paritetsbit er indstillet, så antallet af “logiske” skal være underligt.,
  • selv (E) betyder, at paritetsbit er indstillet, så antallet af “logiske” skal være lige.
  • Mark (m) paritet betyder, at paritetsbiten altid er indstillet til marksignaltilstanden (logisk 1).
  • Space (s) paritet sender altid paritetsbiten i rumsignaltilstanden (logisk 0).bortset fra ualmindelige applikationer, der bruger den sidste bit (normalt den 9.) til en form for adressering eller speciel signalering, er mark eller pladsparitet ualmindeligt, da det ikke tilføjer oplysninger om fejldetektering.,

    ulige paritet er mere nyttigt end endda paritet, da det sikrer, at mindst en tilstandsovergang forekommer i hvert tegn, hvilket gør det mere pålideligt at opdage fejl som dem, der kan være forårsaget af seriel porthastighedsmatch. Den mest almindelige paritetsindstilling er imidlertid “ingen”, hvor fejlregistrering håndteres af en kommunikationsprotokol.

    Stop bitsEdit

    Stop bits, der sendes i slutningen af hvert tegn, giver modtagesignalhard .aren mulighed for at registrere slutningen af et tegn og synkronisere med tegnstrømmen. Elektroniske enheder bruger normalt en stop bit., Hvis der anvendes langsomme elektromekaniske teleprintere, kræves en og en halv eller to stopbits.

    konventionel notationEdit

    data/paritet/stop (D/p / s) konventionel notation specificerer indramningen af en seriel forbindelse. Den mest almindelige brug på mikrocomputere er 8 / N / 1 (8N1). Dette angiver 8 databit, ingen paritet, 1 stop bit. I denne notation er paritetsbiten ikke inkluderet i databitene. 7 / E / 1 (7E1) betyder, at der tilføjes en jævn paritetsbit til de 7 databit for i alt 8 bit mellem start-og stopbitene., Hvis en modtager af en 7/e/1 stream forventer en 8/N / 1 stream, vil halvdelen af de mulige bytes blive fortolket som at have det høje bit sæt.

    Flo.controlEdit

    Flo. control anvendes i situationer, hvor en sender kan være i stand til at sende data hurtigere end modtageren er i stand til at behandle det. For at klare dette, indeholder serielinjer ofte en handshaking-metode, som normalt skelnes mellem Hard .are og soft .are handshaking.

    hard .are håndtryk sker med ekstra signaler, ofte RS-232 RTS/CTS eller DTR / DSR signalkredsløb., Generelt er RTS og CTS slukket og tændt fra alternative ender for at styre datastrømmen, for eksempel når en buffer er næsten fuld. DTR og DSR er normalt på hele tiden, og PR RS-232-standarden og dens efterfølgere bruges til at signalere fra hver ende, at det andet udstyr faktisk er til stede og tændt. Imidlertid har producenterne gennem årene bygget mange enheder, der implementerede ikke-standardvariationer på standarden, for eksempel printere, der bruger DTR som Flo .styring.,

    Software-handshaking er gjort for eksempel med ASCII-kontroltegn XON/XOFF-styring til at styre strømmen af data. Characterson-ogoffoff-tegnene sendes af modtageren til afsenderen for at kontrollere, hvornår afsenderen sender data, dvs.disse tegn går i modsat retning af de data, der sendes. Kredsløbet starter i tilstanden” afsendelse tilladt”. Når modtagerens buffere nærmer sig kapacitet, modtageren sender characteroff-tegnet for at fortælle afsenderen at stoppe med at sende data., Senere, efter at modtageren har tømt sine buffere, sender den et characteron-tegn for at fortælle afsenderen at genoptage transmissionen. Det er et eksempel på In-band signalering, hvor kontroloplysninger sendes over den samme kanal som dens data.fordelen ved håndtryk af Hard .are er, at det kan være ekstremt hurtigt; det pålægger ikke nogen særlig betydning som ASCII på de overførte data; og det er statsløs. Dens ulempe er, at det kræver mere hard .are og kabler, og disse skal være kompatible i begge ender.,

    fordelen ved soft .are handshaking er, at det kan gøres med fraværende eller inkompatible hard .are handshaking kredsløb og kabler. Ulempen, fælles for alle in-band kontrol signalering, er, at det indfører kompleksiteter i at sikre, at a) kontrolmeddelelser komme igennem, selv når databeskeder er blokeret, og b) data kan aldrig forveksles med styresignaler., Førstnævnte behandles normalt af operativsystemet eller enhedsdriveren; sidstnævnte normalt ved at sikre, at kontrolkoder “undslippes” (såsom i Kermit-protokollen) eller udelades ved design (såsom i ANSI terminal control).

    Hvis der ikke anvendes håndtryk, kan en overskridelsesmodtager simpelthen ikke modtage data fra senderen. Tilgange til at forhindre dette omfatter reducere hastigheden af forbindelsen, så modtageren altid kan holde op; øge størrelsen af buffere, så det kan holde op gennemsnit over en længere tid; ved hjælp af forsinkelser efter tidskrævende operationer (f. eks, i termcap) eller anvender en mekanisme til at sende data, som er blevet beskadiget (f.eks TCP).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *