Rob's web

Seriële poorten

RS-232

RS-232 is een standaard voor de communicatie tussen computers en randapparatuur of tussen computers onderling, meer bepaald voor seriële binaire data-communicatie.

Signaalniveaus

De RS-232-standaard definieert de signaalniveaus die corresponderen met een logische een en een logische nul als min of plus 3 tot 15 volt; het gebied rond nul volt is geen geldig RS-232 niveau. Een logische een heeft een negatief signaalniveau, wordt 'mark' genoemd en heeft als functionele betekenis UIT (OFF), een logische nul is positief, wordt 'space' genoemd en heeft als functionele betekenis AAN (ON). De standaard specifieert een maximum van 25 V. Afhankelijk van de gebruikte voeding worden veelal signaalniveaus van ±5 V, ±10 V, ±12 V en ±15 V gebruikt. Een omzetter van en naar TTL-niveau is de MAX232 van Maxim Semiconductors. Ook de snelheid waarmee de signalen moeten veranderen (stijg- en daaltijd of slew rate) is vastgelegd in de norm.

RS-232 signalen

Connectoren - aansluitingen

RS-232 kan onderverdeeld worden in 'Data Terminal Equipment (DTE)' (computers, terminals) en 'Data Circuit-Terminal Equipment (DCE)' (modems), deze geven aan welke draden de signalen zullen zenden en ontvangen. (DCE staat niet voor 'Data Communications Equipment' zoals de meesten denken.) De norm raadt het gebruik van een 25 pins aansluiting aan (dit is dus niet verplicht). Meestal hebben de computers en beeldschermen DTE-connectoren en hebben modems en printers DCE-connectoren.

Op de computer (DTE) worden male connectors gebruikt en op een modem (DCE) een female connector.

De norm specifieert 20 verschillende signaalverbindingen. De pennen voor massa (GND), verzonden data TD en ontvangen data RD worden altijd gebruikt, de overige pinnen worden bij veel apparaten niet gebruikt. Zo werden om geld en ruimte te besparen kleinere connectoren ontwikkeld. Vooral de 9 pin D-sub(miniatuur) DB-9 connector wordt vaak bij PC's en bij andere toestellen gebruikt. DB-25 en DB-9 connectoren zijn meestal vrouwelijk op het toestel. Recentelijk zijn de 8 pin RJ-45 connectoren gebruikelijk, maar ook hier is er een grote verscheidenheid in de toekenning van de pinnen. Standaard EIA/TIA 561 specificeert een bepaalde pintoekenning, maar de "Yost Serial Device Wiring Standard", uitgevonden door Dave Yost, wordt meestal op Unix computers gebruikt en vele andere toestellen volgen deze niet.

D-sub 9 male

De volgende tabel toont de meest gebruikte RS-232 signalen en gebruikelijke pinnetjes :

SignaalAfkortingToepassingDB-25DB-9EIA/TIA 561Yost
Verzonden data (Transmitted Data)TDData van DTE naar DCE.2363
Ontvangen data (Received Data)RDData van DCE naar DTE.3256
Data gereed (Data Terminal Ready)DTRGeeft de DCE aan dat de DTE gereed is voor verbindning.20432
Data ontvangen (Data Set Ready)DSRGeeft de DTE aan dat de DCE gereed is om data of commando's te ontvangen.6617
Verzoek tot zenden (Request To Send)RTSGeeft de DCE aan om zich gereed te maken voor data van de DTE.4781
Gereed voor zenden (Clear To Send)CTSGeeft de DTE aan dat de DCE gereed is voor ontvangst van data van de DTE.5878
Verbinding gedetecteerd (Carrier Detect)DCDGeeft de DTE aan dat de DCE is verbonden met de telefoon lijn.8127
Oproep indicator (Ring Indicator)RIGeeft de DTE aan dat de DCE een belsignaal heeft gedetecteerd op de telefoonlijn.2291-
Massa (Common Ground)GNDGemeenschappelijke retourlijn.7544, 5

Com-poorten

Op de eerste pc's met seriële-poorten, ook wel COM poorten geneomd, was eerst een aanwezig welke 25 pins was.

Later is men twee poorten gaan gebruiken. COM1 is 9 pins en COM2 is 25 pins.

COM1 werd voor een muis gebruikt en COM2 voor een modem of ander apparaat. Een interne modem wordt op COM4 gezet. Dit had met het gebruik van IRQ's te maken.

PC I/O en IRQ gebruik

Op PC's is de register set van een UART beschikbaar in de I/O adresruimte van de processor. De twaalf registers van een UART zijn via 8 adressen toegankelijk. Om dit te bereiken zijn registers die alleen gelezen of geschreven kunnen worden gecombineerd aanwezig op een I/O adres. In twee situaties wordt bovendien een bit (het divisor latch access bit DLAB) in een register gebruikt om verschillende registers te swappen op een I/O adres.

Vier seriële communicatie apparaten zijn voorgedefiniëerd op een PC. De UART's voor deze apparaten hebben standaard adressen toegewezen gekregen waarop de registers toegankelijk zijn. De apparaten hebben de namen COM1 tot en met COM4 toegewezen gekregen. Naast een I/O adres is ook een standaard interrupt niveau aan de UART's toegewezen. Omdat op een PC slechts een beperkte hoeveelheid interrupt lijnen beschikbaar zijn worden twee interruptlijnen gebruikt voor vier communicatiepoorten. De software moet de intelligentie bezitten om te detecteren welke UART aandacht nodig heeft als er een interrupt optreedt terwijl meer dan een UART van hetzelfde interruptniveau gebruik maakt.

PoortAdresIRQ
COM10x3F8 - 0x3FF4
COM20x2F8 - 0x2FF3
COM30x3E8 - 0x3EF4
COM40x2E8 - 0x2EF3

USB naar COM

OP PC's zonder compoorten can men een USB verloop gebruiken om een COM-poort te maken. Er zijn meer dan 4 compoorten mogelijk.

USB 2 COM