Computer architecturen
Jan Genoe KHLim
De seriële poort Jan Genoe KHLIM
De seriële poort
1
Computer architecturen
Jan Genoe KHLim
De seriële poort • Een PC bezit een aantal seriële poorten: COM1, COM2, ... – Er zijn 1 of 2 seriële poorten voorzien op het moederbord – Plug-in kaarten laten toe extra seriële poorten toe te voegen
• Deze poorten kunnen gebruikt worden voor een modem, een muis of een terminal • Normale data transfersnelheden zijn 50, 75, 110, 300, 1200, 2400, 9600, ... 115200 bps (bits per seconde)
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
2
Computer architecturen
Jan Genoe KHLim
De connector • In het originele ontwerp van de seriële poort waren 25 pinnen voorzien. • In de praktijk volstaan 9 pinnen voor de meeste toepassing • Vandaar dat voor een COM poort meestal een connector met 9 pinnen voorzien is
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
3
Computer architecturen
Jan Genoe KHLim
Beschrijving van de pinnen
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
4
Computer architecturen
Jan Genoe KHLim
Beschrijving van de pinnen
• • • • • • • •
TD: gegevens te verzenden RD: ontvangen gegevens RTS: verzoek om verzending te starten CTS: start verzending DSR: data klaar voor verzending DRT: gereed om data te ontvangen CD: de kiestoon wordt waargenomen RI: de bel rinkelt bij de ontvanger ...
Computer architecturen: de seriële poort
De seriële poort
Enkel nuttig voor een modem
Jan Genoe KHLim
5
Computer architecturen
Jan Genoe KHLim
Werkwijze seriële verbindingen • Per byte die doorgestuurd wordt (asynchroon) volgt – – – – – –
eerst een startbit de minst significante bit de volgende 6 bits de meest significante bit de pariteitsbit (meestal) een (of meer) stop-bits
• Ook hier is het belangrijk dat zender en ontvanger hetzelfde protocol hanteren
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
6
Computer architecturen
Jan Genoe KHLim
Opbouw van de seriële poort
• De seriele poort heeft meestal een eigen klok waaruit door deling de verschillende zendfrequenties (50, 75, 110, 300, 1200, 2400, 9600, ... 115200 bps) kunnen bekomen worden. • Om te zenden: een parallel naar serie omzetter – als het register leeg is wordt een interrupt gegeven zodat de PC dit register kan bijvullen
• Om te ontvangen: een serie naar parallel omzetter – als het register vol is wordt een interrupt gegeven zodat de PC dit register kan leeghalen.
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
7
Computer architecturen
Jan Genoe KHLim
Interrupts en adressen voor de seriële poort • De normale adressen en IRQ voor de seriële poort zijn – COM1:
03F8
IRQ4
– COM2:
02F8
IRQ3
– COM3:
03E8
IRQ4
– COM4:
02E8
IRQ3
• Poort 1 en 3 hebben dezelfde interrupt en ook poort 2 en 4. Dit kan problemen opleveren. – Bv: muis (COM1) die niet meer werkt als je de modem (COM3) insteekt, enz ...
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
8
Computer architecturen
Jan Genoe KHLim
De interrupt request (IRQ) – IRQ 0 Timer channel 0 – IRQ 1 Keyboard – IRQ 2 Cascade for controller 2 – IRQ 3 Serial port 2 – IRQ 4 Serial port 1 – IRQ 5 Parallel port 2
0,0,1,1,6,6,8,8,13 13en en14 14nooit nooitgebruiken gebruiken
– IRQ 6 Floppy diskette – IRQ 7 Parallel port 1 – IRQ 8 Real-time clock – IRQ 9 Redirected to IRQ2 – IRQ 10 not assigned – IRQ 11 not assigned – IRQ 12 not assigned – IRQ 13 Math coprocessor
10, 10,11, 11,12 12en en15 15kan kanjeje gebruiken gebruikenvoor voor 16 16bit bitbrede bredeISA ISA dochterkaarten dochterkaarten
– IRQ 14 Hard disk controller – IRQ 15 not assigned Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
9
Computer architecturen
Jan Genoe KHLim
Multiport serial boards
• Deze speciaal ontworpen plug-in kaarten laten soms toe van meerdere seriële poorten te gebruiken met maar één IRQ • De hardware van deze kaarten zorgt voor een juiste afhandeling van deze interrupt.
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
10
Computer architecturen
Jan Genoe KHLim
Wat zijn UARTs? • Universal Asyncronous Receiver Transmitters worden gebruikt om data langs de seriële poort naar buiten te sturen en/of binnen te halen. • Eenvoudige UARTs zijn 1byte serie-parallel omzetters (bv:8250 en 16450 UARTs) – Telkens er een byte binnengekomen is moet er een interrupt request naar de processor gezonden worden. Deze moet dan zijn werkzaamheden staken en deze binnengekomen byte verwerken. – Wanneer de interrups sneller dan 2 ms (>38400 bps) komen, kan het zijn dat de PC een aantal bytes mist. » Voor een terminal of een muis is dit geen probleem » Voor een snelle externe modem kan dit een beperking zijn
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
11
Computer architecturen
Jan Genoe KHLim
UARTs
• Geavanceerde UARTs bezitten een FIFO (bv: de 16550A UART bezit een 16 byte FIFO) – De processor moet niet zo frequent onderbroken worden. – Dit is belangrijk voor snelle modems
• Deze FIFO kan afgezet worden – Op deze manier wordt de processor telkens onderbroken als er één byte binnengekomen is.
Computer architecturen: de seriële poort
De seriële poort
Jan Genoe KHLim
12