E/A-Controller

Ein E/A-Controller verbindet Eingabe- und Ausgabegeräte mit dem Bussystem einer Zentraleinheit (CPU). In der Regel kommuniziert er mit der CPU und dem Systemspeicher über den Systembus und kann zahlreiche Geräte steuern. Die Steuerung erfolgt für gewöhnlich über die CPU, die dem E/A-Controller Anweisungen zum Umgang mit den angeschlossenen Peripheriegeräten und Signalen übermittelt.

 

Die Funktionsweise von E/A-Controllern ist speziell auf die Kommunikation mit Peripheriegeräten und ihre Steuerung ausgerichtet. Dies schließt auch die Versorgung der Geräte mit der richtigen Spannung und die Bereitstellung des korrekten Schnittstellenstandards mit ein. Des Weiteren können sie über das passende Protokoll eine Verbindung zu den Geräten herstellen. Die Kommunikation mit den Peripheriegeräten und ihre Steuerung kann eine sehr zeitkritische Funktion sein. Die Steuerung der E/A-Schnittstelle kann so komplex sein, dass eine CPU dieser Aufgabe nicht gewachsen ist. Oftmals kann die CPU die physikalischen Anforderungen der E/A-Schnittstelle nicht erfüllen. Durch die Auslagerung dieser Aufgaben an einen E/A-Controller werden Leistung und Flexibilität der CPU verbessert.

 

E/A-Controller können einfache logische Eingangs- und Ausgangssignale verarbeiten, etwa die Steuerung einer Betriebs-LED oder das Erkennen eines Tastendrucks. Außerdem können sie erforderlich sein, um die Zeit zwischen logischen Ereignissen zu messen oder um eine Signalkonditionierung durchzuführen (wie beim Beispiel des Drückens der Debounce-Taste auf einer Tastatur). Eventuell müssen sie periodische Wellenformen wie etwa eine PWM erzeugen, die beispielsweise zur Steuerung der CPU-Lüfterdrehzahl verwendet werden kann. Des Weiteren können mit Controllern unterschiedliche Schnittstellenstandards (z. B. serielle Schnittstellen) für Peripheriegeräte implementiert werden, und sie können Daten an und von Geräten adressieren und übertragen. Hierbei kann es sich um USB-, SPI- und UART-Schnittstellen sowie verschiedene andere Standards handeln. Auch USB-2-, USB-3- und SATA-Schnittstellen mit höherer Leistung sind möglich, obwohl diese Schnittstellen in der Regel über eigene Controller verfügen.

 

Häufig bildet der E/A-Controller Peripheriegeräte auf Systemadressbereiche ab und führt die Datenübertragung per DMA (Direct Memory Access) auf den Systemspeicher des Prozessors durch. E/A-Controller können mit Hilfe spezieller Signale – sogenannter Interrupts – so konfiguriert werden, dass sie Ereignisse oder Datenübertragungen anzeigen. Wenn eine CPU ein Interrupt-Signal empfängt, dann weiß sie, dass eine Aufgabe abgeschlossen wurde, ein E/A-Ereignis eingetreten ist oder Daten übertragen wurden, die eventuell ihrer Aufmerksamkeit bedürfen.

 

Um die Kosten zu senken und die Größe zu verringern, sind die Funktionen des E/A-Controllers in viele moderne Mikroprozessoren und Mikrocontroller bereits integriert. Sie kommen in integrierten und speziellen Anwendungen (z. B. in Mobiltelefonen) zum Einsatz, in denen die E/A-Anforderungen fest vorgegeben sind oder bei denen die Anforderungen ähnlich sind und kompensiert werden können.

164

Produkte

Alle anzeigen