Seriële poort

Seriële poort

seriële normen bieden veel verschillende bedrijfssnelheden en aanpassingen aan het protocol om rekening te houden met verschillende bedrijfsomstandigheden. De meest bekende opties zijn snelheid, aantal gegevensbits per teken, pariteit en aantal stopbits per teken.

in moderne seriële poorten die gebruik maken van een UART-geïntegreerde schakeling, kunnen al deze instellingen softwaregestuurd worden. Hardware uit de jaren 1980 en eerder kan het instellen van schakelaars of jumpers op een printplaat vereisen.,

de configuratie voor seriële poorten ontworpen om te worden aangesloten op een PC is een de-facto standaard geworden, meestal aangeduid als 9600/8-N-1.

SpeedEdit

seriële poorten gebruiken twee-niveau (binaire) signalering, zodat de gegevenssnelheid in bits per seconde gelijk is aan de symboolsnelheid in baud. Een standaard reeks tarieven is gebaseerd op veelvouden van de tarieven voor elektromechanische teleprinters; sommige seriële poorten laten vele willekeurige tarieven toe om te worden geselecteerd, maar de snelheden aan beide zijden van de verbinding moeten overeenkomen, anders zullen gegevens als wartaal worden ontvangen.,

de mogelijkheid om een bitsnelheid in te stellen betekent niet dat er een werkende verbinding zal ontstaan. Niet alle bitsnelheden zijn mogelijk met alle seriële poorten. Sommige speciale protocollen, zoals MIDI voor muziekinstrumenten, gebruiken andere seriële datasnelheden dan de teleprinterstandaarden. Sommige seriële poort implementaties kunnen automatisch een bitsnelheid kiezen door te observeren wat een aangesloten apparaat verzendt en ermee te synchroniseren.

de totale snelheid omvat bits voor framing (stop bits, pariteit, enz.) en dus is de effectieve datasnelheid lager dan de bittransmissiesnelheid., Bijvoorbeeld, met 8-N-1 karakter framing, slechts 80% van de bits beschikbaar zijn voor gegevens; voor elke acht bits van gegevens, Twee Meer framing bits worden verzonden.

Bitrates vaak ondersteund omvatten 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 en 115200 bit/s.

Kristaloscillatoren met een frequentie van 1.843200 MHz worden speciaal voor dit doel verkocht. Dit is 16 keer de snelste bitsnelheid, en het seriële poortcircuit kan dit gemakkelijk verdelen naar lagere frequenties zoals vereist.,

Data bitsEdit

het aantal data bits in elk teken kan 5 zijn (voor Baudot code), 6 (zelden gebruikt), 7 (voor echte ASCII), 8 (voor de meeste soorten data, omdat deze grootte overeenkomt met de grootte van een byte), of 9 (zelden gebruikt). 8 data bits worden bijna universeel gebruikt in nieuwere toepassingen. 5 of 7 bits zijn over het algemeen alleen zinvol met oudere apparatuur zoals teleprinters.

De meeste seriële communicatieontwerpen verzenden eerst de gegevensbits binnen elke byte LSB (minst significant bit). Deze standaard wordt ook wel aangeduid als “little endian.,”

ook mogelijk, maar zelden gebruikt, is” big endian ” of MSB (most significant bit) eerst; dit werd bijvoorbeeld gebruikt door de IBM 2741 printing terminal.

De volgorde van bits is meestal niet configureerbaar binnen de seriële poort interface, maar wordt gedefinieerd door het host systeem. Om te communiceren met systemen die een andere volgorde van bits vereisen dan de lokale standaard, kan lokale software de bits binnen elke byte opnieuw ordenen net voor het verzenden en net na het ontvangen.

ParityEdit

hoofdartikel: Parity bit

Parity is een methode om fouten in transmissie te detecteren., Wanneer pariteit wordt gebruikt met een seriële poort, wordt een extra data bit verzonden met elk Data karakter, zo gerangschikt dat het aantal van 1 bits in elk karakter, inclusief de pariteit bit, altijd oneven of altijd even is. Als een byte wordt ontvangen met het verkeerde aantal 1s, dan moet het beschadigd zijn. Echter, een even aantal fouten kan de pariteitscontrole passeren.

elektromechanische teleprinters werden opgesteld om een speciaal teken af te drukken wanneer de ontvangen gegevens een pariteitsfout bevatten, zodat berichten die beschadigd zijn door lijnruis kunnen worden gedetecteerd., Een enkele pariteit bit staat de implementatie van foutcorrectie op elk teken niet toe, en communicatieprotocollen die werken via seriële datalinks zullen hogere mechanismen hebben om de geldigheid van gegevens te garanderen en om doorgifte van gegevens te vragen die onjuist zijn ontvangen.

De pariteitsbit in elk teken kan worden ingesteld op een van de volgende:

  • Geen (N) betekent dat er helemaal geen pariteitsbit wordt verzonden.
  • oneven (O) betekent dat pariteitsbit zo is ingesteld dat het aantal “logische” oneven moet zijn.,
  • Even (E) betekent dat pariteit bit zo is ingesteld dat het aantal “logische degenen” gelijk moet zijn.
  • Mark (M) pariteit betekent dat de pariteit bit altijd is ingesteld op de mark signaal conditie (logisch 1).
  • Spatiepariteit stuurt altijd de pariteit bit in de ruimte signaal conditie (logisch 0).

afgezien van ongewone toepassingen die het laatste bit (meestal de 9e) gebruiken voor een bepaalde vorm van adressering of speciale signalering, is mark of spatiepariteit ongewoon, omdat het geen foutdetectie-informatie toevoegt.,

oneven pariteit is nuttiger dan even pariteit, omdat het ervoor zorgt dat er ten minste één statusovergang plaatsvindt in elk teken, wat het betrouwbaarder maakt bij het detecteren van fouten zoals die veroorzaakt kunnen worden door mismatches van seriële poortsnelheid. De meest voorkomende pariteit instelling, echter, is “none”, Met foutdetectie afgehandeld door een communicatie protocol.

Stop bitsEdit

Stop bits die aan het einde van elk teken worden verzonden, staan de ontvangende signaalhardware toe om het einde van een teken te detecteren en te resynchroniseren met de tekenstroom. Elektronische apparaten gebruiken meestal een stop bit., Als langzame elektromechanische teleprinters worden gebruikt, zijn anderhalve of twee stopbits vereist.

conventionele notatiedit

de conventionele notatie data/parity/stop (D/P / S) specificeert de framing van een seriële verbinding. Het meest voorkomende gebruik op microcomputers is 8 / N / 1 (8N1). Dit specificeert 8 data bits, geen pariteit, 1 stop bit. In deze notatie is de pariteit bit niet opgenomen in de data bits. 7 / E / 1 (7E1) betekent dat een even pariteit bit wordt toegevoegd aan de 7 data bits voor een totaal van 8 bits tussen de start en stop bits., Als een ontvanger van een 7/E / 1-stream een 8/N / 1-stream verwacht, wordt de helft van de mogelijke bytes geïnterpreteerd als het instellen van de hoge bit.

Flow controldit

Flow control wordt gebruikt in omstandigheden waarin een zender in staat zou kunnen zijn om gegevens sneller te verzenden dan de ontvanger in staat is om het te verwerken. Om hiermee om te gaan, bevatten seriële lijnen vaak een handshaking methode, meestal een onderscheid tussen hardware en software handshaking.

Hardware handshaking wordt gedaan met extra signalen, vaak de RS-232 RTS/CTS of DTR/DSR signaalcircuits., Over het algemeen worden de RTS en CTS uitgeschakeld en ingeschakeld van alternatieve uiteinden om de gegevensstroom te controleren, bijvoorbeeld wanneer een buffer bijna vol is. DTR en DSR zijn meestal de hele tijd aan en, volgens de RS-232 standaard en zijn opvolgers, worden gebruikt om te signaleren van elk uiteinde dat de andere apparatuur daadwerkelijk aanwezig en ingeschakeld is. Fabrikanten hebben in de loop der jaren echter veel apparaten gebouwd die niet-standaardvariaties op de standaard hebben geïmplementeerd, bijvoorbeeld printers die DTR gebruiken als flow control.,

software handshaking wordt bijvoorbeeld gedaan met ASCII control characters XON / XOFF om de gegevensstroom te controleren. De Xon-en XOFF-tekens worden door de ontvanger naar de afzender gestuurd om te bepalen wanneer de afzender gegevens zal verzenden, dat wil zeggen, deze tekens gaan in de tegenovergestelde richting van de gegevens die worden verzonden. Het circuit begint in de” verzenden toegestaan ” staat. Wanneer de buffers van de ontvanger de capaciteit benaderen, stuurt de ontvanger het XOFF-teken om de afzender te vertellen te stoppen met het verzenden van gegevens., Later, nadat de ontvanger zijn buffers heeft geleegd, stuurt het een Xon-teken om de afzender te vertellen om de transmissie te hervatten. Het is een voorbeeld van in-band signalering, waarbij controle informatie wordt verzonden over hetzelfde kanaal als de gegevens.

het voordeel van hardware handshaking is dat het extreem snel kan zijn; het legt geen bepaalde betekenis zoals ASCII op aan de overgedragen data; en het is statenloos. Het nadeel is dat er meer hardware en bekabeling nodig is, en deze moeten aan beide uiteinden compatibel zijn.,

het voordeel van software handshaking is dat het kan worden gedaan met ontbrekende of incompatibele hardware handshaking circuits en bekabeling. Het nadeel, gemeenschappelijk voor alle in-band controle signalering, is dat het introduceert complexiteit in het waarborgen dat a) controle berichten krijgen door, zelfs wanneer gegevensberichten worden geblokkeerd, en b) gegevens kunnen nooit worden verward met controle signalen., De eerste wordt normaal behandeld door het besturingssysteem of het stuurprogramma; de laatste door ervoor te zorgen dat de besturingscodes zijn “ontsnapt” (zoals in het Kermit-protocol) of weggelaten door het ontwerp (zoals in ANSI terminal control).

als geen handshaking wordt gebruikt, kan het zijn dat een overloopontvanger geen gegevens van de zender ontvangt. Benaderingen om dit te voorkomen omvatten het verminderen van de snelheid van de verbinding, zodat de ontvanger altijd kan bijhouden; het vergroten van de grootte van de buffers, zodat het kan bijhouden gemiddeld over een langere tijd; het gebruik van vertragingen na tijdrovende bewerkingen (bijv., in termcap) of het gebruik van een mechanisme om gegevens die beschadigd zijn opnieuw te verzenden (bijvoorbeeld TCP).

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *