1. Trang chủ
  2. » Công Nghệ Thông Tin

PC Werkstatt Ausgabe 2000- P50 pot

15 196 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 312,27 KB

Nội dung

Teil 5 · Interfaces und Peripherie 736 Bild 9.30: Typische RS232-Verbindungen für den Anschluss von Druckern, Plottern und anderen seriellen Geräten an den PC Beim Anschluss von Peripherie an die serielle PC-Schnittstelle kann es auch vor- kommen, dass die Leitungen eben nicht gekreuzt werden. Dies ist bei Modems der Fall, von denen sowohl Daten empfangen als auch gesendet werden können. Die Daten werden aber nicht in dem Modem verarbeitet, sondern nur zum PC weiterge- geben. Das Modem fungiert als Datenübertragungseinrichtung (DÜE) und der PC als Datenendeinrichtung (DEE). Die Übertragungssicherheit kann erhöht werden, wenn man zwischen den Geräten ein Handshaking einführt (Bild 9.30 C und D). Dann werden nicht nur die Daten- leitungen miteinander verbunden (über Kreuz oder nicht), sondern auch die Lei- tungen RTS und CTS. Mit CLEAR TO SEND (CTS) meldet die Peripherie, dass sie Daten zur Verfügung hat. Ist der Empfänger bereit, diese Daten zu übernehmen, teilt er dies mit der Leitung REQUEST TO SEND (RTS) mit. 737 Nullmodem Das Prinzip der »Überkreuzschaltung« von Signalleitungen wird als Nullmodem be- zeichnet und findet häufig Anwendung bei der Kopplung zweier PCs. Allein die Angabe, dass eine Nullmodem-Verbindung vorliegt oder herzustellen ist, gibt keinen Hinweis darauf, welche Signale im Einzelnen derartig verschaltet sind und ob dies auch auf alle Signalleitungen zutrifft, was daher beim Erwerb von entsprechenden Kabeln oder Adaptern zu beachten ist. Mit einem komplett als Nullmodem verschalteten Adapter oder Kabel, sollte man bei einer PC-PC-Kopplung jedoch die geringsten Pro- bleme haben. Eine weitere Verbesserung der Übertragungssicherheit ergibt sich durch die Ver- wendung der Leitungen DATA TERMINAL READY (DTR) und DATA SET READY (DSR). Über diese Leitungen wird dem Empfänger die Betriebsbereitschaft des Senders mitgeteilt. DTR kann dabei als Busy-Signal des Empfängers verstanden werden. Falls eine Software die Unterstützung der Handshake- und der Betriebsbereitschafts- leitungen erfordert, die Peripherie diese jedoch nicht zur Verfügung stellt, ist eine Verbindung laut Bild 9.30 E üblich. Es werden dann lediglich die Datenleitungen verwendet, während die anderen Signalleitungen gebrückt werden, um dem Sender das Vorhandensein der anderen Signale vorzutäuschen. Eine Verbindung, die häufig beim Anschluss von Plottern an einen PC verwendet wird, ist in Bild 9.30 F angegeben. Der Handshakeleitung CTS und der Bereitschafts- leitung DSR des PC werden mit der Leitung DTR der Peripherie die Bereitschaft zur Datenaufnahme mitgeteilt. Über die Leitung Data Carrier Detect (DCD) teilt die Peripherie der DEE mit, dass sich der Signalpegel innerhalb des zulässigen Span- nungsbereichs befindet und eine Übertragung daher erfolgen kann. In vielen Fäl- len wird diese Leitung nicht verwendet, sondern ausschließlich das Signal DSR zur Bereitschaftsanzeige. Mit dem Signal RI (Ring Indicator) teilt eine DÜE einer DEE den Eingang eines Rufes (Läutsignal) mit. Das Modem ist in diesem Fall über die Telefonleitung ange- wählt worden, was dem Computer über RI signalisiert wird. Kürzel Bezeichnung 9-polig 25-polig DCD Data Carrier Detect 1 8 RXD Receive Data 2 3 TXD Transmit Data 3 2 DTR Data Terminal Ready 4 20 GND Ground, Masse 5 7 DSR Data Set Ready 6 6 RTS Request To Send 7 4 CTS Clear To Send 8 5 RI Ring Indicator 9 22 Tabelle 9.11: Die Anschlüsse und Signale der seriellen Schnittstelle, wie sie für PCs üblich sind, bilden nur eine Untermenge der im RS232-Standard definierten Möglichkeiten Parallele und serielle Schnittstellen Teil 5 · Interfaces und Peripherie 738 Es ist nicht immer ganz einfach, die richtige RS232-Verbindungsart zu finden, denn oft sind einige Leitungen zu brücken oder über Kreuz zu verlegen, was aus den Herstellerangaben nicht immer hervorgeht. Daher wird nahezu für jede RS232- Peripherie ein spezielles Kabel angeboten, welches meist zu einem überteuerten Preis zu beziehen ist. Ein RS232-Kabel für einen Plotter kann schon einmal über DM 100,– kosten, so dass die Selbstanfertigung eines RS232-Kabels durchaus loh- nend ist. In vielen Fällen bleibt einem auch nichts anderes übrig, als selbst zum Lötkolben zu greifen, da das gewünschte Kabel gar nicht erhältlich ist. Bild 9.31: Der 25- und der 9-polige Anschluss der seriellen PC-Schnittstelle Im Handel gibt es zahlreiche Adapter, beispielsweise von 25-polig auf 9-polig oder auch Gender Changer, die aus einem Steckkontakt einen Buchsenkontakt herstel- len. Allerdings sei an dieser Stelle vor dem bedenkenlosen Einsatz, insbesondere der Gender Changer, gewarnt. Oftmals werden mehrere dieser Adapter derart hin- tereinander geschaltet, dass überhaupt nichts mehr funktioniert, und es kommt auch vor, dass man nicht die serielle, sondern die parallele Schnittstelle »erwischt hat«. Bild 9.32: Adapter für die serielle Schnittstelle, die stets mit Bedacht verwendet werden sollten 739 Der serielle Anschluss ist am PC stets als Steckkontakt und der parallele als Buchsen- kontakt ausgeführt, wie es auch im Bild 9.29 erkennbar ist (unten 9-polig seriell, oben 25-polig parallel). Nützliche Hilfsmittel für die Ermittlung der korrekten Verbindung sind RS232- Jumper-Boxes, die in das RS232-Kabel zwischengeschaltet werden. Die Verbindun- gen können dann erst einmal provisorisch mit kleinen Kabeln einzeln zusammen- gesteckt werden, bevor man das gewünschte Kabel zusammenlötet. Andere kleine Kästen, die in die Verbindungsleitung geschaltet werden, können über Leuchtdioden den logischen Zustand der einzelnen Leitungen anzeigen. Im Bild 9.33 wird ein Gerät gezeigt, das sowohl als RS232-Tester als auch als Jumper-Box verwendet werden kann. Bild 9.33: Eine RS232-Break-Out-Box ist ein nützliches und preiswertes Hilfsmittel zur Überprü- fung der Schnittstelle und zur Ermittlung der korrekten RS232-Verbindung Dem Anschluss der seriellen Schnittstelle innerhalb des PC sollte besondere Beach- tung geschenkt werden, wenn dabei Flachbandkabel zum Einsatz kommen, die direkt auf das Mainboard oder auch die Schnittstellenkarte gesteckt werden, denn hier gibt es Verwechslungsmöglichkeiten. Erstens kann das Kabel falsch herum auf die Pfostenleiste gesetzt werden (immer auf den Pin 1 achten!) und zweitens ist die Kontaktbelegung dieser Pfostenleiste nicht bei jedem Hersteller identisch, was insbesondere auf Mainboards zutrifft. Demnach ist stets das zum Mainboard (bzw. das zur Schnittstellenkarte) mitgelie- ferte Kabel zu verwenden, denn nur dann kann man sich sicher sein, dass es auch für den jeweiligen Mainboard-Anschluss verdrahtet ist. Das serielle Kabel für Main- boards der Firma Gigabyte kann beispielsweise nicht auf allen Mainboards der Fir- ma Intel verwendet werden, da sich die Kontaktbelegung auf den Mainboards eben voneinander unterscheidet und erst mit dem passenden Kabel die RS232-typische Belegung am Slotblechanschluss hergestellt wird. Parallele und serielle Schnittstellen Teil 5 · Interfaces und Peripherie 740 Auf Mainboards ist die Kontaktbelegung an der RS232-Pfostenleiste keineswegs iden- tisch und daher sollte stets das zum Mainboard mitgelieferte Flachbandkabel ver- wendet werden! Bild 9.34: Eine typische Schnittstellenkarte mit zwei COM-Ports für PCs 9.4.3 Die Register der seriellen Schnittstelle Das BIOS des PCs unterstützt bis zu vier serielle Schnittstellen – COM-Ports – , denen meist über Jumper oder auch DIP-Schalter die Basisadresse und ein Inter- ruptkanal (IRQ3, IRQ4) zugewiesen werden können, wenn sich die Schnittstellen auf einer separaten Karte befinden. Ältere BIOS-Versionen können nur zwei serielle Schnittstellen verwalten und es können sich Schwierigkeiten mit dem Interrupt- Kanal ergeben. Viele Programme verwenden jedoch gar keinen Interrupt-Kanal und arbeiten lediglich im Polling-Betrieb. Befinden sich die Schnittstellen direkt auf dem Mainboard, lassen sich diese Fest- legungen (meist) per BIOS-Setup durchführen. Die folgende Tabelle zeigt die dabei übliche Zuordnung der Adressen und Interrupt-Kanäle. Port Basisadresse IRQ-Kanal COM1 3F8h 4 COM2 2F8h 3 COM3 3E8h 4 COM4 2E8h 3 Tabelle 9.12: Die üblichen Basisadressen und Interrupt-Kanäle für die RS232- Schnittstellen des PC 741 COM 1 wird oftmals für den Anschluss einer Maus und COM2 für ein Modem verwen- det, was durch die übliche Zuordnung auf den Interrupt-Kanal 4 bzw. 3 zu keinen Ressourcenkonflikten führen kann. Diese können sich erst dann ergeben, wenn weitere COM-Ports eingesetzt werden sollen, da hierfür nur dieselben Interrupts wie für die beiden ersten zu Verfügung stehen. Es hängt jedoch von der verwendeten Software ab, ob überhaupt eine Interrupt-Verarbeitung oder aber lediglich der Polling-Betrieb ausgeführt wird, für den kein Interrupt-Kanal festzulegen ist. Der Maustreiber und auch die übliche Modem-Software setzen jedoch die Benut- zung eines Interrupt-Kanals voraus. Bei einigen Grafikkarten – beispielsweise mit S3-Chip – kommt es bei der Verwendung eines dritten oder vierten COM-Ports zu einem Ressourcenkonflikt, der nur durch die Veränderung der Adresse des COM- Ports zu beseitigen ist. Zur Umsetzung der innerhalb eines PCs parallel zu verarbeitenden Daten in serielle für die RS232-Schnittstelle und umgekehrt wird ein spezielles Bauelement verwen- det, welches als Universal Asynchron Receiver Transmitter – kurz UART – bezeich- net wird. Alle Signale, die auf die Anschlussbuchse gelangen, werden über Treiberbau- steine (z.B. vom Typ 1488, 1489) vom TTL-Pegel auf den Pegel der RS232-Schnittstelle umgesetzt. Bei PCs spielt die Registerkompatibilität generell eine bedeutende Rolle. Als Bei- spiel kann der UART 8250 genannt werden, der das Standardelement für die seriel- le Schnittstelle in (älteren) PCs darstellt. In neueren PCs wird stattdessen der UART 16450 eingesetzt, der demgegenüber höhere Übertragungsraten erlaubt. Der leistungsfähigste UART ist unter der Bezeichnung 16550 bekannt, welcher ab- wärtskompatibel zu den beiden Vorgängerversionen ist und zusätzlich über zwei FIFOs zu je 16 Byte für die Datenzwischenspeicherung der zu sendenden und der empfangenen Daten verfügt. Insbesondere für den Einsatz unter Windows ist der Einsatz der FIFOs zur Aufrechterhaltung eines kontinuierlichen Datenflusses von bzw. zu einem Modem von ausschlaggebender Bedeutung, da Windows dies auf Grund seiner Multitaskingfähigkeit nicht garantieren kann. Damit die übliche PC-Software aber auf PCs mit unterschiedlichen UARTs funktio- niert, müssen sie über die gleichen Registereinstellungen verfügen, so dass erwei- terte Funktionen wie beispielsweise höhere Datenraten oftmals überhaupt nicht genutzt werden. Erst ab Windows 95 werden beispielsweise die FIFOs standardmäßig verwendet. Bei anderen Systemen hingegen sind in den Terminalprogrammen oft speziellere Einstellungsmöglichkeiten gegeben, die eine optimierte UART- Konfigurierung erlauben. Bild 9.35: Windows 95 erlaubt die Einstellung der FIFO-Speichertiefe bei den 16550-UARTs Parallele und serielle Schnittstellen Teil 5 · Interfaces und Peripherie 742 Ausgehend von der festgelegten Basisadresse werden für den UART maximal acht I/O-Adressen für die Selektierung der internen Register verwendet. Der ältere Typ – der 8250 – besitzt gegenüber dem 16450 jedoch kein Scratch-Register, das ohne- hin nur für eine anwenderspezifische, temporäre Datenspeicherung verwendet wird und nicht für die eigentliche Funktion des UARTs von Interesse ist, so dass im Folgenden hierauf auch nicht näher eingegangen wird. DLAB A2 A1 A0 Register 0 0 0 0 Receiver/Transmitter 0 0 0 1 Interrupt Enable 0 0 1 0 Interrupt Identification, FIFO (write) x 0 1 1 Line Control (DLAB) x 1 0 0 Modem Control x 1 0 1 Line Status x 1 1 0 Modem Status x 1 1 1 Scratch 1 0 0 0 Divisor Latch (LSB) 1 0 0 1 Divisor Latch (MSB) Tabelle 9.13: Die Register der in PCs üblichen UARTs in der Übersicht; das Divisor Latch Access Bit (DLAB) zur Einstellung der Baudrate wird in D7 des Line-Control-Registers geschrieben Im Bild 9.36 ist eine typische Schaltung mit dem Typ TL16C550 gezeigt, wie sie auf PC-Einsteckkarten oder auch direkt auf dem Mainboard realisiert wird. Sie gilt prinzipiell auch für die Vorgängertypen 8250 und 16450, denn elektrisch sind die- se UARTS als (fast) identisch anzusehen. Auf die relevanten Unterschiede in der Registerbelegung wird in der folgenden Beschreibung eingegangen und auch wenn sich nicht einer dieser drei UARTs in einem PC lokalisieren lässt, da er quasi in einem speziellen Baustein des Chipsatzes mit untergebracht ist, verhält er sich wie ein 16550. Der Anschluss des UARTs gestaltet sich recht einfach, denn die meisten Leitungen können 1:1 mit den korrespondierenden des PC-Bus verbunden werden. Da der UART nicht speziell für PCs, sondern für einen möglichst universellen Einsatz- zweck konzipiert ist, werden einige Signale (CS, WR2, RD2) hier nicht verwendet und entsprechend gebrückt, wie es im Bild 9.36 zu erkennen ist. 743 Bild 9.36: Eine typische UART-Schaltung für PCs Das Signal SIN (Serial In) entspricht dem RxD-Signal und SOUT entspricht (Serial Out) dem TxD-Signal des RS232-Anschlusses, während sich die übrigen aus der Bezeichnung selbst erklären und allesamt über entsprechende Treiberbausteine auf die RS232–Anschlussbuchse geführt werden. Aus dem an XIN und XOUT – auch als XTAL bezeichnet – angeschlossenen Quarz wird die Frequenz zur Einstellung der Baudrate festgelegt. Der Transmitter wird mit dem Takt (Clock) betrieben, welcher auch am Anschluss /BAUDOUT anliegt. Durch die Verbindung dieses Ausganges mit dem Anschluss RCLK arbeiten sowohl der Receiver als auch der Transmitter mit derselben Baud- rate, die sich aus der Quarzoszillatorfrequenz (Fxtal) und einem Divisor ergibt. Zur Festlegung der gewünschten Baudrate wird ein Wert in das Divisor-Latch-Register geschrieben, der sich wie folgt berechnet: Fxtal Registerwert = ____________ ; Einstellung der Baudrate 16 * Baudrate Das Divisor-Latch-Register setzt sich wiederum aus einem MSB- und einem LSB- Register zusammen, für deren Selektierung zunächst ein High in das Bit D7 des Line-Control-Registers zu schreiben ist. Daraufhin ist das LSB-Register unter der Basisadresse und MSB-Register unter der Basisadresse+1 zu erreichen. Die Tabelle 9.15 zeigt einige Beispiele für die Registerwerte zur Einstellung der Baudrate, wobei hier eine Oszillatorfrequenz von 1,8432 MHz zu Grunde gelegt wird. Andere übliche Frequenzen sind 3,072 MHz oder auch 2,4576 MHz. Parallele und serielle Schnittstellen Teil 5 · Interfaces und Peripherie 744 Baudrate MSB LSB 115200 00 01 57600 00 02 38400 00 03 19200 00 06 9600 00 0C 7200 00 10 4800 00 18 3600 00 20 2400 00 30 2000 00 3A 1800 00 40 1200 00 60 600 00 C0 300 01 80 150 03 00 110 04 17 75 06 00 50 09 00 Tabelle 9.14: Registerwerte zur Einstellung der Baudrate Receiver/Transmitter-Register (Basisadresse) Die empfangenen oder die zu sendenden Daten werden mit diesem Register verar- beitet, welches als Double-Buffered ausgeführt ist, so dass gleichzeitiges Senden und Empfangen möglich ist. 745 Interrupt-Enable-Register (Basisadresse +1 ) Interrupts können benutzt werden, wenn sie in diesem Register freigegeben (enabled) sind. Das entsprechende Bit ist hierfür auf High zu setzen. Ein Übertragungsfehler liegt dann vor, wenn ein Datenüberlauf, ein Parity-Fehler oder auch eine Unterbrechung (Break) einer Übertragungsleitung stattgefunden hat, die auch per Software im Line-Control-Register hervorgerufen werden kann. Interrupt-Identification-Register (Basisadresse +2, lesen) Dieses Register kann nur gelesen werden und gibt Aufschluss über den aktuellen Zustand der Interruptverarbeitung. Bei den Typen 8250 und 16450 haben die obe- ren Bits (D7, D6) keine Bedeutung, während sie beim Typ 16550 für die Feststel- lung, ob die FIFOs aktiviert sind, verwendet werden können. Des Weiteren liefert das Bit D3 (ID2) bei den älteren UARTs stets ein Low, und ein Übertragungsfehler wird dann mit IDO und ID1 gleich High signalisiert, während die anderen ID-Bitkombinationen die gleiche Bedeutung wie beim 16550 aufwei- sen. Parallele und serielle Schnittstellen [...]... beim 16550 vorhanden und ausschließlich für das Schreiben vorgesehen Es liegt auf der gleichen Adresse wie das Interrupt-IdentificationRegister, das demgegenüber nur gelesen werden kann In den meisten PC- Designs wird keine DMA-Übertragung des UARTs unterstützt, die prinzipiell mit dem Bit D3 eingeschaltet werden kann Die oberen Bits (D7, D6) sind für die Festlegung des FIFO-Trigger-Levels vorgesehen,... der Steuerung des RTS- und des DTR-Signals Mit einem High im jeweiligen Bit ist das entsprechende Signal aktiviert Die beiden OUT-Bits steuern direkt den Pegel der Out-Signale des UARTs und werden bei PCs üblicherweise nicht verwendet Ein gesetztes Loop-Bit versetzt den Baustein zur Funktionsüberprüfung in einen TestModus 747 Teil 5 · Interfaces und Peripherie Line-Statusregister (Basisadresse +5) Dieses... Receiver-Interrupts (Bit D0 im Interrupt-Enable-Register) verantwortlich sind 748 Parallele und serielle Schnittstellen Bild 9.37: Das Innenleben und die Anschlüsse des UART 16550 Einige Signale werden in den PCDesigns generell nicht verwendet, wozu DDIS (Driver Disable) zur Abschaltung des nachgeschalteten Treiberbausteins, /TXRDY und /RXRDY für den DMA-Mode und die beiden /OUT-Signale gehören 749 Teil 5 · . den Anschluss von Druckern, Plottern und anderen seriellen Geräten an den PC Beim Anschluss von Peripherie an die serielle PC- Schnittstelle kann es auch vor- kommen, dass die Leitungen eben nicht. aber nicht in dem Modem verarbeitet, sondern nur zum PC weiterge- geben. Das Modem fungiert als Datenübertragungseinrichtung (DÜE) und der PC als Datenendeinrichtung (DEE). Die Übertragungssicherheit. beachten ist. Mit einem komplett als Nullmodem verschalteten Adapter oder Kabel, sollte man bei einer PC- PC-Kopplung jedoch die geringsten Pro- bleme haben. Eine weitere Verbesserung der Übertragungssicherheit

Ngày đăng: 03/07/2014, 14:20