seriella standarder ger många olika driftshastigheter samt justeringar av protokollet för att ta hänsyn till olika driftsförhållanden. De mest kända alternativen är hastighet, antal databitar per tecken, paritet och antal stoppbitar per tecken.
i moderna seriella portar med en integrerad UART-krets kan alla dessa inställningar vara programstyrda. Hårdvara från 1980-talet och tidigare kan kräva att omkopplare eller hoppare ställs in på ett kretskort.,
konfigurationen för seriella portar som är avsedda att anslutas till en dator har blivit en de facto-standard, vanligtvis angiven som 9600/8-N-1.
SpeedEdit
seriella portar använder två nivåer (binär) signalering, så datahastigheten i bitar per sekund är lika med symbolhastigheten i baud. En standardserie av priser är baserad på multiplar av priserna för elektromekaniska teleprinters; vissa seriella portar tillåter många godtyckliga priser att väljas, men hastigheterna på båda sidor av anslutningen måste matcha, eller data kommer att tas emot som gibberish.,
möjligheten att ställa in en bithastighet innebär inte att en fungerande anslutning kommer att resultera. Inte alla bithastigheter är möjliga med alla seriella portar. Vissa specialprotokoll, t.ex. MIDI for musical instrument control, använder andra seriella datahastigheter än teleprinter-standarderna. Vissa seriella portimplementeringar kan automatiskt välja en bithastighet genom att observera vad en ansluten enhet skickar och synkroniserar till den.
den totala hastigheten inkluderar bitar för inramning (stoppbitar, paritet, etc.) och så är den effektiva datahastigheten lägre än bittöverföringshastigheten., Till exempel, med 8-N-1 teckenramning, är endast 80% av bitarna tillgängliga för data; för varje åtta bitar av data skickas ytterligare två inramningsbitar.
bithastigheter som vanligtvis stöds inkluderar 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 och 115200 bit / S.
kristalloscillatorer med en frekvens på 1.843200 MHz säljs speciellt för detta ändamål. Detta är 16 gånger den snabbaste bithastigheten, och den seriella portkretsen kan enkelt dela upp detta till lägre frekvenser efter behov.,
data bitsEdit
antalet databitar i varje tecken kan vara 5 (för Baudot kod), 6 (sällan används), 7 (för true ASCII), 8 (för de flesta typer av data, eftersom denna storlek matchar storleken på en byte), eller 9 (sällan används). 8 databitar används nästan universellt i nyare applikationer. 5 eller 7 bitar generellt bara vettigt med äldre utrustning såsom teleprinters.
de flesta seriella kommunikationsdesigner skickar databitarna inom varje byte LSB (minst signifikant bit) först. Denna standard kallas också ” little endian.,”
också möjligt, men sällan används, är” big endian ” eller MSB (mest betydande bit) först; detta användes till exempel av IBM 2741 printing terminal.
ordningen på bitar är vanligtvis inte konfigurerbar inom seriell port gränssnitt, men definieras av värdsystemet. För att kommunicera med system som kräver en annan bitbeställning än den lokala standard, kan lokal programvara ombeställa bitarna inom varje byte precis innan du skickar och strax efter mottagandet.
ParityEdit
Parity är en metod för att upptäcka fel i överföringen., När Paritet används med en seriell port skickas en extra databit med varje datatecken, ordnad så att antalet 1 bitar i varje tecken, inklusive paritetsbiten, alltid är udda eller alltid jämn. Om en byte tas emot med fel antal 1s, måste den ha skadats. Ett jämnt antal fel kan dock passera paritetskontrollen.
elektromekaniska teleprintrar arrangerades för att skriva ut ett specialtecken när mottagna data innehöll ett paritetsfel, för att möjliggöra detektering av meddelanden som skadats av linjebuller., En enda paritetsbit tillåter inte implementering av felkorrigering på varje tecken, och kommunikationsprotokoll som arbetar över seriella datalänkar kommer att ha mekanismer på högre nivå för att säkerställa data giltighet och begära återutsändning av data som har mottagits felaktigt.
paritetsbiten i varje tecken kan ställas in på något av följande:
- ingen (N) betyder att ingen paritetsbit skickas alls.
- Odd (O) betyder att paritetsbiten är inställd så att antalet ”logiska” måste vara udda.,
- Even (E) betyder att paritetsbiten är inställd så att antalet ”logiska” måste vara jämnt.
- Mark (m) paritet innebär att paritetsbiten alltid är inställd på marksignalförhållandet (logisk 1).
- Space (S) parity skickar alltid paritetsbiten i rymdsignalförhållandet (logisk 0).
bortsett från ovanliga program som använder den sista biten (vanligtvis den 9: e) för någon form av adressering eller speciell signalering, mark eller rymdparitet är ovanligt, eftersom det inte ger någon feldetekteringsinformation.,
udda Paritet är mer användbar än jämn paritet eftersom det säkerställer att minst en statlig övergång sker i varje tecken, vilket gör det mer tillförlitligt vid detektering av fel som de som kan orsakas av seriella porthastighetsobligationer. Den vanligaste paritetsinställningen är dock ”ingen” , med feldetektering som hanteras av ett kommunikationsprotokoll.
stoppa bitsEdit
stoppbitar som skickas i slutet av varje tecken gör det möjligt för den mottagande signalhårdvaran att upptäcka slutet på ett tecken och att synkronisera med teckenströmmen. Elektroniska enheter använder vanligtvis en stoppbit., Om långsamma elektromekaniska teleprintrar används krävs en och en halv eller två stoppbitar.
konventionell notationEdit
data/parity/stop (d/P/s) konventionell notation anger utformningen av en seriell anslutning. Den vanligaste användningen på mikrodatorer är 8/N / 1 (8N1). Detta anger 8 databitar, ingen paritet, 1 stoppbit. I denna notation ingår inte paritetsbiten i databitarna. 7 / E / 1 (7E1) innebär att en jämn paritetsbit läggs till de 7 databitarna för totalt 8 bitar mellan start-och stoppbitarna., Om en mottagare av en 7/e/1-ström förväntar sig en 8/n / 1-ström, kommer hälften av de möjliga bytesna att tolkas som att ha den höga biten inställd.
Flow controlEdit
flödeskontroll används under omständigheter där en sändare kan skicka data snabbare än mottagaren kan bearbeta den. För att klara detta innehåller seriella linjer ofta en handskakningsmetod, som vanligtvis skiljer sig mellan hårdvara och mjukvara.
hårdvara handskakning görs med extra signaler, ofta RS-232 RTS/CTS eller DTR / DSR signalkretsar., I allmänhet är RTS och CTS avstängda och på från alternativa ändar för att styra dataflödet, till exempel när en buffert är nästan full. DTR och DSR är vanligtvis på hela tiden och, per RS-232-standarden och dess efterträdare, används för att signalera från varje ände att den andra utrustningen faktiskt är närvarande och drivs upp. Tillverkare har dock under åren byggt många enheter som implementerade icke-standardiserade variationer på standarden, till exempel skrivare som använder DTR som flödeskontroll.,
programvara handskakning görs till exempel med ASCII kontrolltecken XON / XOFF för att styra flödet av data. XON-och XOFF-tecknen skickas av mottagaren till avsändaren för att styra när avsändaren skickar data, det vill säga dessa tecken går i motsatt riktning mot de data som skickas. Kretsen startar i” sändnings tillåtet ” tillstånd. När mottagarens buffertar närmar sig kapacitet skickar mottagaren XOFF-tecknet för att tala om för avsändaren att sluta skicka data., Senare, efter att mottagaren har tömt sina buffertar, skickar den ett XON-tecken för att berätta för avsändaren att återuppta överföringen. Det är ett exempel på In-band signalering, där kontrollinformation skickas över samma kanal som dess data.
fördelen med hårdvaruhandskakning är att det kan vara extremt snabbt; det innebär inte någon särskild betydelse som ASCII på överförda data; och det är statslöst. Dess nackdel är att det kräver mer hårdvara och kablage, och dessa måste vara kompatibla i båda ändar.,
fördelen med programvaruhandskakning är att det kan göras med frånvarande eller inkompatibla hårdvaruhandskakningskretsar och kablage. Nackdelen, gemensam för alla in-band kontroll signalering, är att det introducerar komplexiteten i att säkerställa att A) kontrollmeddelanden få igenom även när datameddelanden blockeras, och B) data kan aldrig misstas för styrsignaler., Den förstnämnda hanteras normalt av operativsystemet eller drivrutinen; den senare normalt genom att se till att kontrollkoderna ”ryms” (t.ex. i Kermit-protokollet) eller utelämnas genom konstruktion (t. ex. i ANSI-terminalkontroll).
om ingen handskakning används kan en överkörningsmottagare helt enkelt misslyckas med att ta emot data från sändaren. Metoder för att förhindra detta inkluderar att minska hastigheten på anslutningen så att mottagaren alltid kan hålla upp; öka storleken på buffertar så att den kan hålla upp i genomsnitt under en längre tid; med hjälp av förseningar efter tidskrävande operationer (t. ex., i termcap) eller använda en mekanism för att skicka data som har skadats (t.ex. TCP).