1. Schnittstelle Software - Prozessor - ISA-Bus

Größe: px
Ab Seite anzeigen:

Download "1. Schnittstelle Software - Prozessor - ISA-Bus"

Transkript

1 Design von Hardwarekomponenten und Treibern für Linux Systeme 1. Schnittstelle Software - Prozessor - ISA-Bus 1.1 Fähigkeiten des I386-Prozessors Memory-Mapped-IO In IBM-PC-kompatiblen Rechnern wird Memory-Mapped-IO z.b. für die Bildschirmkarte verwendet. Probleme ergeben sich durch Caching: I/O-Bereiche dürfen nicht gecacht werden. I/O-Bereiche sollten nicht versehentlich beschrieben bzw. ausgelesen werden. Nur priviligierte Prozesse / Programme sollen schreiben bzw. lesen dürfen. Aufwendigere Dekodierung der Adressen in/out-befehle inb (inw) transferiert 8 Bit (16 Bit) aus einer Peripherie-Schnittstelle in ein Prozessor- Register outb (outw) transferiert 8 Bit (16 Bit) aus einem Prozessor-Register in eine Peripherie- Schnittstelle 32 Bit-Zugriffe machen für ISA-Bus-Schnittstellen wenig Sinn. inb entspricht load (%dx), %al inw entspricht load (%dx), %ax outb entspricht store %al, (%dx) outw entspricht store %ax, (%dx) wobei das Register %dx die Adresse des Peripherie-Registers enthält aus dem gelesen bzw. in das geschrieben werden soll. Variante: ins/outs-befehl transferiert ein Byte/Wort und inkrementiert/dekrementiert ein übergebenes Register. In Verbindung mit dem rep-befehl lassen sich damit viele Bytes schnell nacheinander übertragen. Beispiel: movw $13, %dx /* Daten sollen an I/O-Adresse 13 */ /* geschrieben werden */ movw $10, %cx /* 10 Bytes sollen kopiert werden */ movl $buffer, %esi /* Die zu schreibenden Bytes befinden */ /* sich in diesem Puffer */ cld /* wähle Inkrement */ rep outsb /* schreibe die 10 Bytes */ V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

2 1. Schnittstelle Software - Prozessor - ISA-Bus 1.2 ISA-Bus Die Datenübertragung von der CPU zu externen Geräten am ISA-Bus geschieht über mehrere Bussysteme: Ausgehend von einer CPU mit einer Taktfrequenz, die heute im Bereich um 1 GHz liegt, nimmt die Geschwindigkeit der Datenübertragung hin zum ISA-Bus immer weiter ab. Der ISA-Bus- Controller arbeitet mit 8 MHz Taktfrequenz; die Übertragungsrate auf dem ISA-Bus selbst liegt nur noch bei 1 MHz. Beschreibung der Signale auf dem ISA-Bus: -RESET (Output): wird vom Motherboard generiert, um alle angeschlossenen Karten in einen definierten Grundzustand (Finate State Machine) zurückzusetzen. DATA (Input/Output): 16 Leitungen des Datenbusses ADDRESS (Output): von den prinzipiell vorhandenen 16 I/O-Adressbusleitungen verwenden die Steckkarten für den IBM-PC meist nur die unteren 12. Damit sind maximal 2 12 Peripherie-Adressen verwendbar. (Unsere Steckkarte verwendet die Adressen 0x300 bis 0x30F.) -IOR, -IOW (Output): mit diesen Signalen (active Low) zeigt der Bus-Controller an, dass ein I/O-Read bzw. ein I/O-Write-Zyklus stattfindet. Aktives IOR zeigt an, dass gültige Daten auf dem Datenbus liegen. Aktives IOW fordert die adressierte Einheit auf, Daten auf den Bus zu schalten und bis zum Signal-Ende stabil zu halten. 2

3 Design von Hardwarekomponenten und Treibern für Linux Systeme AEN (Output): Der Bus-Controller signalisiert hier, ob die CPU auf die Peripherie zugreifen möchte oder ein DMA-Controller. (In unserem Fall sollte dies immer eine CPU sein.) READY (Input): Interface soll auf dieser Leitung signalisieren "not ready", wenn es nicht schnell genug auf Anfragen der CPU reagieren kann und der Bus-Controller zusätzliche Wait-States einfügen soll. Dies ist nicht dazu gedacht, z.b. zu warten, bis ein Drucker wieder neue Zeichen entgegennehmen kann. Wird dieses Signal zu lange gesetzt, bricht der Bus-Controller die angefangene Übertragung mit einem Fehler ab (dies verhindert, dass fehlerhafte Geräte den kompletten Rechner lahmlegen können). 0WS (Input): Hier kann ein angeschlossenes Interface signalisieren, dass es schneller ist, als im Standard-ISA-Bus vorgesehen. Der Bus-Controller kann dann ohne zusätzlichen Wait-State im Bus-Protokoll fortfahren. (Die Labor-PCs ignorieren dieses Signal.) -CS16 (Input): Mit diesem Signal signalisiert die angesprochene Karte, dass sie 16 Datenbits in einem Zyklus transferieren kann. Im Falle einer 8-Bit-Karte werden 16-Bit-Zugriffe der CPU automatisch in zwei aufeinanderfolgende 8-Bit-Zugriffe umgewandelt. 1.3 Tri-State- und Open-Collector-Treiber Die Datenleitungen des ISA-Busses werden von mehreren Karten und dem Bus-Controller verwendet. Es ist kein Problem, wenn mehrere Geräte lesend auf die Leitungen zugreifen. Spannung auf die Leitungen legen bzw. die Leitungen nach Masse schalten darf jedoch nur ein Gerät zur Zeit, um Kurzschlüsse zu vermeiden. Vcc GND In Wirklichkeit sind diese Schalter über z.b. CMOS-Transistoren implementiert. Ein Ausgang eines Standard-Gatters, bei dem beide Schalter gekoppelt sind, darf nicht mit Ausgängen weiterer Gatter verbunden werden. Um dieses Problem zu lösen sind zwei verschiedene Verfahren bekannt: Trennung der beiden Schalter (Tri-State-Technik) Verwendung nur eines Schalters (Open-Collector-Technik) V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

4 1. Schnittstelle Software - Prozessor - ISA-Bus Tri-State-Technik Die beiden Schalter können bei diesem Verfahren unabhängig voneinander geschaltet werden. Stehen die Schalter wie in der Grafik unten, ist der Ausgang vollständig vom Bus abgekoppelt und andere Gatter können ihre Signale auf den Bus legen. Dieser Zustand des Gatters wird als High-Z-Zustand (häufig mit Z abgekürzt) bezeichnet. Damit ergeben sich drei mögliche Zustände für den Ausgang eines solchen Gatters: Low, High, High-Z (drei Zustände => three states => Tri-State). Vcc GND Open-Collector-Technik In der sogenannten Open-Collector-Technik wird der obere (bzw. untere) Schalter durch einen Widerstand ersetzt. Vcc GND Man sieht, dass wenn mehrere solcher Einheiten an ihren Ausgängen zusammengeschlossen werden sich die Spannung auf dem Bus als Vcc ergibt, wenn kein Schalter geschlossen ist. Ist einer oder sind mehrere der Schalter geschlossen, ergibt sich als Spannungswert 0 Volt. Damit ergibt sich ein logisches ODER: ist Schalter 1 geschlossen oder Schalter 2 oder ist der Ausgang 0 Volt. Daher wird eine solche Schaltung häufig auch als Wired-Or (bzw. in positiver Logik als Wired-And) bezeichnet. 4

5 Design von Hardwarekomponenten und Treibern für Linux Systeme Der Nachteil dieser Schaltungtechnik ist, dass die maximale Frequenz recht eng beschränkt ist. Jeder Bus hat auch eine (kleine) Kapazität, die durch einen Widerstand erst langsam aufgeladen wird (gemäß den Regeln eines RC-Glieds). Der Widerstand darf nicht sehr klein sein, um im Falle geschlossener Schalter den Strom durch den Widerstand nicht zu groß werden zu lassen. 1.4 Timing des ISA-Busses Die unten angegebenen Grafik zeigt die Ausführung eines out-befehles in der oberen Hälfte. Die untere zeigt den Ablauf eines in-befehls. Wie groß kann die maximale Übertragungsrate sein (Das soll durch Messung festgestellt werden: Übungsaufgabe)? Der verwendete MACH-Baustein läuft mit einer Frequenz von 50 MHz. Zustandswechsel sind damit im 20 ns-takt möglich. Das heißt, dass keine Wait-States notwendig sind. V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

6 1. Schnittstelle Software - Prozessor - ISA-Bus 1.5 Verbindung zwischen ISA-Bus und Registern auf Karte Die Daten des ISA-Busses liegen immer an den Eingängen der Register an. Sie werden jedoch nur dann in die Register übernommen, wenn der Adress-Dekodierer signalisiert (LOAD_IN), dass das entsprechende Register beschrieben werden soll. Ausgegeben werden die Daten über den Tri-State-Buffer nur dann, wenn eine entsprechende Adresse und IO-Read signalisiert wurde. Da sie sich während eines Lesezyklusses nicht ändern dürfen (sonst liest die CPU eher zufällige Daten), müssen sie in einem zusätzlichen Register (HOLD-Register) während des Lesezyklusses zwischengespeichert werden. Jedes N-Bit Register ist aufgebaut aus N einzelnen D-Flipflops der folgenden Form: DATA_IN D Q_OUT LOAD_IN CLOCK_IN 6

7 Design von Hardwarekomponenten und Treibern für Linux Systeme 1.6 Ablauf eines Interrupts V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

8 1. Schnittstelle Software - Prozessor - ISA-Bus Die Vektor-Nummer ist eindeutig bei int-befehl (dort wird er vom Programmierer angegeben) bei Exceptions (jede Exception hat einen Vektor hardware-mäßig vorgegeben) NMIs (non-maskable Interrupts es gibt nur einen) Im Falle externer Unterbrechungen wird die Nummer von der CPU während eines Interrupt- Acknowledge-Zyklusses beim Interrupt-Controller abgefragt. Die Abfrage erfolgt in zwei Schritten. Der erste Schritt friert den Zustand des Interrupts-Controllers ein, damit sich während des zweiten Schrittes (die eigentliche Abfrage) keine Änderungen mehr am Interrupt-Status ergeben. Im zweiten Schritt legt der Controller die Vektor-Nummer der höchstprioren unmaskierten Anforderung auf den Datenbus. (Die Basis der Vektornummer wurde bei Initialisierung im Interrupt-Controller gespeichert). Das zugehörige Bit im Anforderungsregister ist nun gelöscht und ins Bedienungsregister übertragen. Das folgende Blockbild eines Interrupt-Controllers stammt aus Bähring: Mikrorechner-Systeme. Dort (Kap. 5.3) kann über die Funktionsweise nachgelesen werden. Beim Eintritt in die Interrupt-Routine im Linux-Kernel sind Interrupts disabled. Nun wird zuerst der gerade bearbeitete IRQ disabled durch einodern in die entsprechende Position im Masken- Byte und Schreiben an die Adresse des Maskenregisters im Interrupt-Controller. Ein neuer IRQ mit dieser Nummer wird zwar noch im Request-Register gespeichert, aber nun nicht mehr berücksichtigt. Am Verhalten des Controllers hat sich noch nichts geändert. Er wird das INT-Signal nur dann aktivieren, wenn ein IRQ höherer Priorität als im Bedienungsregister vermerkt auftriff. Mit dem nächsten Befehl (outb 0x20, 0x20) wird an den Controller der EOI-Be- 8

9 Design von Hardwarekomponenten und Treibern für Linux Systeme fehl gesendet. Dadurch wird das aktuelle (höchstpriore) Bit im Bedienungsregister gelöscht. Danach werden auch niederpriore IRQs wieder berücksichtigt. Liegt jetzt mindestens eine unmaskierte Anforderung vor, dann ist der INT-Eingang am Prozessor wieder erregt. Die aktuelle und alle noch nicht fertig bearbeiteten Anforderungen sind noch maskiert. Nach einem stioder iret-befehl reagiert der Prozessor bei aktiviertem INT-Signal wieder mit einem ACK- Zyklus und erhält die Vektornummer der höchstprioren unmaskierten Anforderung gemeldet. Dadurch entsteht eine nichtdeterministische Mischung aus einer prioritätsgesteuerten und lastin / first-served Abarbeitungsstrategie. Nach Besprechung der Interrupt-Behandlung im Rechner hier noch einige Hinweise zur Interrupt-HW auf der Interfacekarte. Die HW muss alle interessierenden asynchronen Zustandsänderungen über eine Request-Leitung (Default IRQ7) melden. Da Sende- und Empfangs-Teil parallel arbeiten sollen, gibt es vermutlich mehr als eine solcher Ursachen. Es muss also Statusinformation (Interrrupt-Ursachen-Register) auslesbar sein, um in der Interrupt-Routine feststellen zu können, welche Zustandsänderungen neu aufgetreten sind. Änderungen können auch während des Lesezugriffs auftreten. Während dieses Vorgangs müssen die Zustandsdaten eingefroren werden und danach muss die HW sicherstellen, dass nur die neu aufgetretenen und noch nicht ausgelesenen Änderungen signalisiert werden. Wie im Interrupt-Controller wird auch hier ein Maskenregister sinnvoll sein. Das Maskieren von Ursachen muss sorgfältig erwogen werden: da zwei Rechner an einer Übertragung beteiligt sind, kann bei ungeschickter Strategie ein Deadlock auftreten. 1.7 Test-Bed Im Interface werden mehrere adressierbare Register vorzusehen sein z.b: Sende- und Empfangs-Register, Status- und Steuer-Register, IRQ-Status- und -Masken-Register. Der Datenaustausch mit den Registern kann mit Byte- oder Word-Zugriffen erfolgen. Der ISA- Bus überträgt eine Folge von 16-Bit Zugriffen schneller als eine Byte-Folge, sodass auch bei Übertragung von nur je einem Byte pro 16-Bit-Zugriff eine höhere Rate erzielt wird. Außerdem könnte beim Lesen noch zusätzlich Statusinformation übertragen werden (z.b. Füllstand der FI- FOs). Eine doppelt so große Byte-Rate könnte bei Übertragung von je 2 Bytes pro Wort erzielt werden. Dabei muss allerdings das Problem der Übertragung einer ungeraden Anzahl von Zeichen und der Berücksichtigung des Füllstands der FIFOs gelöst werden. In der ersten Übungsaufgabe zum HW-Teil sollen Sie mit einem Testprogramm die Übertragungsraten messen und dabei die Möglichkeiten der Messung von Abläufen auf dem ISA-Bus kennenlernen. Hinweis: mit den System-Calls iopl (siehe man iopl) bzw. ioperm (man ioperm) kann sich ein mit Root-Rechten laufender Prozess das Recht geben lassen, direkt mit in- bzw. out- Befehlen auf Hardware-Register zuzugreifen. Beispiel: #include <asm/io.h>... iopl(3); /* Erlaubnis für I/O holen */ x = inb(0x300); /* Lese Byte aus Reg. 0x300 */ y = inw(0x302); /* Lese Wort aus Reg. 0x302 */ outb(0x12, 0x301); /* Schreibe Byte in Reg. 0x301 */ outw(0x1234, 0x304);/* Schreibe Wort in Reg. 0x304 */ iopl(0); /* Erlaubnis wieder aufgeben */... V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

10 1. Schnittstelle Software - Prozessor - ISA-Bus Auf ähnliche Weise kann mit ioperm die Erlaubnis eingeholt werden, auf einen Teil der I/O- Register zuzugreifen. Beispiel: #include <asm/io.h>... ioperm(0x300, 16, 1);/* Erlaubnis für 0x300-0x30f holen */... ioperm(0x300, 16, 0);/* Erlaubnis wieder aufgeben */... Hinweis: inb, inw, inl, outb, outw, outl sind externe Inline-Makros. Sie sind nur definiert, wenn der Compiler mit Optimierungsoption aufgerufen wird (gcc -O...). Es steht ein HW-Testbed zur Verfügung mit folgenden Eigenschaften: Das Testbed enthält folgende 16-Bit-Register: 0x300 R/W Senderegister outw: Low-Byte wird ins S-FIFO transferiert, High-Byte wird ignoriert. inw: Low-Byte ist zuletzt geschriebenes Datenbyte. High-Byte enthält Statusflags. 0x302 R Empfangsreg. (eigentlich Ausgang des R-FIFOs) inw: Low-Byte ist Datenbyte oder undefiniert, falls FIFO leer. High-Byte: Status 0x306 R/W Steuerregister 10

11 Design von Hardwarekomponenten und Treibern für Linux Systeme outw 0x0100 erzwingt System-Reset outw 0x0200 aktiviert eine FSM, die automatisch Daten von S-FIFO in R-RIFO transferiert, also einen Loop-Back DatenLink simuliert. Die Statusflags zeigen den Füllstand der 4-KByte-FIFOs an: Bits : Full, Halffull, Empty des S-FIFOs Bits 11..9: Full, Halffull, Empty des R-FIFOs Schreiben in volles bzw. Lesen aus leerem FIFO werden ignoriert. Durch Zugriffe auf die Adressen 0x310, 0x311 kann das Timing von Bytetransfers getestet werden. V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

12 2. Struktur MACH Baustein (465-15) 2. Struktur MACH Baustein (465-15) Ein in VHDL beschriebenes HW-Design wir durch ein Synthese-Programm auf die programmierbare Verbindungsstruktur abgebildet, soweit die begrenzten Resourcen des Bausteins dies möglich machen. Der verwendete Baustein enthält 16 Blöcke mit je 16 sogenannten Makrozellen, denen 8 I/O- Zellen zugeordnet sind. Den prinzipiellen Aufbau einer Makrozelle mit zugeordneter I/O-Zelle zeigt folgendes Bild: Je nach Aktivierung des Tri-State-Treibers kann ein I/O-Pin statisch oder dynamisch als Input-, Output- oder InOut-Pin festgelegt werden. Eingangssignale können entweder direkt (asynchron) oder duch das Inputregister einsynchronisiert in die Logik eingeführt werden. Das Zustands-Flip-Flop jeder Makrozelle übernimmt mit jedem Takt einen Wert, der durch einen logischen Ausdruck aus bis zu 34 Signalen bestimmt wird. Diese Signale können Eingangssignale von den I/O-Pins und die zurückgeführten Zustände der Zustands-Flip-Flops sein. Das Fitting-Programm erzeugt aus der Verhaltensbeschreibung eine minimisierte Disjunktive- Normal-Form. Wenn das jeder Makrozelle zugeordnete 5-fach-ODER-Gatter nicht ausreicht, können weitere von den Nachbarzellen dazugenommen werden. Das programmierbare EXOR- Gatter im Datenpfad erlaubt, den wahren oder invertierten Logik-Ausgang zu wählen je nachdem, ob die Wahrheitstabelle mehr Null- oder Eins-Terme enthält. Man erkennt, dass eine FSM bei der der neue Zustand ja aus der logischen Verknüpfung aus dem aktuellen Zustand und den Eingangssignalen generiert wird gut auf eine Zusammenfassung von Makrozellen abbilden lässt. Wählt man FSMs von Moore- oder Speichertyp (bei denen der Ausgangsvektor Teil der Zustandsvektor ist) und taktet alle FSMs durch dieselbe Clock, macht es keine Probleme, einen komplexen Automaten aus mehreren einfachen Teilautomaten zusammenzusetzen. 12

13 Design von Hardwarekomponenten und Treibern für Linux Systeme Das folgende Bild zeigt einen der 16 PAL-Blöcke: V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

14 2. Struktur MACH Baustein (465-15) Jeder der 34 Signalleitungen kann mit den UND-Gattern in wahrer oder invertierter Form (oder gar nicht) verbunden werden. Man sieht aber, dass die Zahl der Verbindungen zu anderen Blökken berenzt ist. I/O-Pins und Verbindungsleitungen sind teuer. Schließlich zeigt das folgende Bild die Gesamtstruktur: 14

15 Design von Hardwarekomponenten und Treibern für Linux Systeme Die zentrale Switch-Matrix, die die Blöcke verbindet, bildet einen Flaschenhals. Je mehr Markozellen ein Design benötigt, desto schwieriger wird es, eine Abbildung auf den Chip zu finden. Eine 100% Ausnutzung ist meist unmöglich. Eine sinnvolle Anordnung der I/O-Pins ist dabei wichtig, diese sind ja fest den einzelnen Blöcken zugeordnet. Der Baustein ist im System (durch Download über den Parallelport) programmierbar. So kann jede Gruppe ihr Design zum Testen in die vorhandene Steckkarte laden. V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

16 3. Was ist ein FIFO (Hardware) 3. Was ist ein FIFO (Hardware) 16

17 Design von Hardwarekomponenten und Treibern für Linux Systeme 4. Bitserielle Übertragung Zur Bit-seriellen Übertragung ist eine Parallel-Seriell-Wandlung auf der Sendeseite und eine Seriell-Parallel-Wandlung auf der Empfangsseite vorzunehmen. Hierzu kann jeweils eine FSM, die zwischen FIFO und seriellem E/A-Pin ein Schieberegister enthält, implementiert werden. Zusätzlich zu den Datenkanälen sind jeweils Rückmeldungskanäle nötig, auf denen die Empfangsbereitschaft (Empfänger aktiviert und FIFO nicht voll) signalisiert wird. Die eigentliche Übertragung erfolgt über twisted pairs mit Hilfe von differentiellen Leitungs- Treibern und -Empfängern. Die Information wird als Polarität der Spannungsdifferenz zwischen den beiden Leitungen kodiert. Da die Differenz von Störsignalen kaum beeinflusst wird, ist diese Übertragungsart sehr zuverlässig. Die maximale Übertragungsrate ist durch die Bandbreite des Kanals begrenzt. Hierzu eine Abschätzung: Sei die Bandbreite MHz. Dann sind die Anstiegs- und Abfall-Zeiten der Signalflanken ca 35ns. Wird als Bitintervall 100ns gewählt, dann kann der Signalwert etwa in der mittleren Hälfte des Bit-Intervalls sicher erkannt werden. Die Bit-Übertragungsrate entspricht also etwa der Bandbreite. Wir können >10 Mbit/s als Übertragungsrate annehmen. 100ns 35ns 35ns Wenn der Empfänger die Bitwerte jeweils etwa in der Mitte eines Bit-Intervalls übernehmen soll, muss er die Frequenz und Phasenlage des Sendetaktes kennen. Es muss also das Problem der Synchronisation von Sender und Empfänger gelöst werden. Hierzu sind verschiedene Verfahren bekannt: Die einfachste Möglichkeit ist, einen zusätzlichen Takt- oder Strobe-Kanal vorzusehen. Der Sender könnte z.b. wie bei der parallelen Datenbertragung üblich ein Data-Valid- Signal in jedem Intervall senden. Da auch hierfür die Bandbreitenschranke gilt, kann dann die Bitrate nur die Hälfte der möglichen sein. Daten Strobe Besser ist ein Verfahren, bei dem auf dem Strobe-Kanal jeweils ein Zustandswechsel den V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

18 4. Bitserielle Übertragung Abtastzeitpunkt markiert. Daten Strobe Da die Wahrscheinlichkeit eines Bitwechsels auf dem Datenkanal im Mittel zu 0.5 angenommen werden kann, müssen die Treiber im Sender ca 1.5 Umladungen der Signalleitungen pro Bit mit entsprechenden Energieverlusten vornehmen. Daher ist bei dem nach IEEE1394 genormten FIREWIRE -Bus ein noch raffinierteres Synchronisations-Verfahren implementiert: Auf dem Strobe-Kanal ezeugt der Sender jeweils nur dann einen Zustandswechsel, wenn auf dem Datenkanal keiner erfolgt.also findet genau eine Umladung pro Bit statt. Der Empfänger kann die richtigen Abtastzeitpunkte durch Bildung des exklusiven ODERs beider Signale zurückgewinnen. Daten Strobe Auf dem FIREWIRE-Bus können Mb/s übertragen werden, weitere Informationen siehe z.b. unter Soll der Aufwand für einen zusätzlichen Strobe-Kanal vermieden werden, muss die Taktinformation aus dem Datensignal zurückgewonnen werden. Die Synchronisation ist z.b. einfach möglich wenn die Datenbits nach einem Return to Zero -Verfahren kodiert werden.der Sender beginnt jedes Bitintervall mit einer positiven Flanke. Eine 0 wird durch einen kurzen (~1/3 Bitzeit), eine 1 durch einen langen (~2/3 Bitzeit) positiven Wert kodiert. Nachteil dieses Verfahrens ist die schlechte Ausnutzung der Bandbreite. (Ein solches Verfahren wird z.b. vom DCF Zeitzeichen-Sender verwendet.) 0 1 Mit sogenannten Phased Lock Loop -Schaltungen kann der Empfänger im Prinzip die Sendefrequenz - auch Baudrate genannt - zurückgewinnen und damit die Länge des Bit- Intervalls. Einfacher ist die Synchronisation, wenn die Baudrate auf beiden Seiten auf den nahezu gleichen Wert eingestellt ist (z.b. abgeleitet aus Quarzgeneratoren gleicher Nennfrequenz). Dann muss nur die Phasenlage synchronisiert werden, um den besten Abtastzeitpunkt innerhalb des Bitintervalls zu treffen. Wie oft dies nötig ist, hängt von der maximalen Abweichung beider Raten ab. Dazu ein Beispiel: Sei die relative Abweichung < 10 4 ; dann ist die Verschiebung des Abtastzeitpunkts innerhalb 1000 Takten kleiner als ein zehntel Taktintervall, es genügt also, wenn spätestens nach Übertragung von etwa 128 Bytes eine Phasenkorrektur erfolgt. Daher werden auch sogenannten synchrone Übertragungsprotokolle verwendet, bei denen (z.b.wie beim CAN-Bus) immer dann, wenn im Bitstrom für eine festgelegte Anzahl von Bitzeiten kein Bitwechsel erfolgt ist, ein sogenanntes Stuffing-Bit eingefügt wird. Der Empfänger kennt diese Anzahl und kann die Stuffing-Bits entfernen. Er kann seine Phasenlage bei jedem Bitwechsel korrigieren, 18

19 Design von Hardwarekomponenten und Treibern für Linux Systeme deren maximaler Abstand ja jetzt beschränkt ist. Andere Protokolle verwenden Datenblöcke fester Länge, denen jeweils ein Synchronisations-Header vorangeht. Eine spezielle Form dieser Methode mit der Blocklänge ein Zeichen ist das asynchrone Start-Stop-Protokoll, wie es in der RS232-Norm festgelegt und in den UART-Bausteinen der seriellen Schnittstellen der PCs implementiert ist. Dies ist ein sehr altes Protokoll, das aus der Zeit der elektromechanischen Fernschreiber stammt,wobei die Baudrate sich aus der Netzfrequenz ergab. Wird nichts übertragen, ist der Signalpegel im Ruhezustand ( 0 ). Zu beliebigem Zeitpunkt (daher asynchron) kann die Übertragung eines Zeichens mit einem Startbit ( 1 ) beginnen. Darauf folgen mit der eingestellten Baudrate die (z.b. 8) Datenbits, eventuell mit Parity-Bit, und mindestens ein Stopbit ( 0 ). Eine Folge von Bytes kann also mit einer Rate von maximal Baudrate/10 Byte/s übertragen werden. (Bei der V24-Norm gilt: 0 entspricht >+3V, 1 entspricht <-3V) 1 D0 D1 D2 D3 D4 D5 D6 D7 0 Wegen der Einfachheit bietet sich das Start-Stop-Protokoll für unsere Implementierung an; jedenfalls hat Herr Stelzner in der Testbed-HW das unten skizzierte Verfahren implementiert. Damit steht Ihnen für Testzwecke eine solche Gegenstelle zur Verfügung. Wir wollen Sie aber durchaus ermutigen und gegebenenfalls unterstützen, auch bessere Verfahren zu erproben. Wenn wir etwa 1 MB/s (soviel wie über den ISA-Bus) transferieren wollen, müssen wir eine Baudrate von 10 MHz erreichen. Bei einem Quarztakt von 40 MHz entspricht eine Bitzeit dann 4 Taktintervallen. Die Empfänger-FSM muss durch das Startbit synchronisiert werden. Dazu kann ein mit der 40 MHz Clock laufender Zähler modulo 4 verwendet werden, der immer beim Erkennen einer positiven Flanke (mindestens des Startbits) zurückgesetzt wird. Diese Flanke kann kurz nach aber auch kurz vor einer Clock-Flanke auftreten, wodurch sich eine Unsicherheit des Abtastzeitpunktes von 25ns ergibt. Diese Verhältnisse sind im folgenden Diagramm veranschaulicht (Datenbits werden in der Phase 0 übernommen). V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

20 4. Bitserielle Übertragung Clock 40 MHz Counter mod ser. Input Startbit 1. Datenbit Fall 1 Fall 2 einsync_0 einsync_1 Counter_Reset ser. Input einsync_0 einsync_1 Counter_Reset Startbit 1. Datenbit

21 Design von Hardwarekomponenten und Treibern für Linux Systeme 5. VHDL Top-View des VHDL-Designs der Netzwerkkarte (vorgegeben): V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

22 5. VHDL PC-I/O-Schema: 22

23 Design von Hardwarekomponenten und Treibern für Linux Systeme Adress-Dekoder: V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

24 5. VHDL Timing für das FIFO-Lesen: Timing für das FIFO-Schreiben: 24

25 Design von Hardwarekomponenten und Treibern für Linux Systeme 6. Hardware-Debugging V. Sieh, H. Hessenauer, Universität Erlangen-Nürnberg, Inst. f. Informatik 3,

26 6. Hardware-Debugging 26

Hardware Leitungscodierung und Protokoll

Hardware Leitungscodierung und Protokoll Hardware Leitungscodierung und Protokoll Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 Hardware Leitungscodierung

Mehr

Hardware Leitungscodierung und Protokoll

Hardware Leitungscodierung und Protokoll Hardware Leitungscodierung und Protokoll Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Leitungscodierung

Mehr

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse 1/40 2008-10-13 Übersicht 1 Einleitung 2 Bus-Konfiguration

Mehr

Serielle Schnittstellen

Serielle Schnittstellen Serielle Schnittstellen Grundbegriffe Seriell, Parallel Synchron, Asynchron Simplex, Halbduplex, Vollduplex Baudrate, Bitrate Serielle Datenübertragung Senden von Daten Bit für Bit 1 0 1 1 Serielle Datenübertragung

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Zur Startseite Zur Artikelübersicht Der RS485 Bus

Zur Startseite Zur Artikelübersicht Der RS485 Bus Zur Startseite Zur Artikelübersicht Der RS485 Bus Einleitung Der RS485 Bus ist eine sehr interessante Schnittstelle. Dieser Artikel erklärt was der RS485 Bus eigentlich ist, wie er funktioniert und wo

Mehr

Serielle Schnittstelle

Serielle Schnittstelle Serielle Schnittstelle RS-232 ist ein Standard für eine bei Computern teilweise vorhandene serielle Schnittstelle, der in den frühen 1960er Jahren von dem US-amerikanischen Standardisierungskomitee Electronic

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um

Mehr

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016. Schaltsymbole in der Digitaltechnik Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016. In diesem Anhang erfolgt eine Zusammenfassung der wichtigsten Begriffe

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung

Mehr

Vorlesung 5: Interrupts

Vorlesung 5: Interrupts Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Version D3_16 vom 25.05.2016 Ziel dieses Versuches: Entwicklung einer Ablaufsteuerung mit einem 32 * 4 bit Speicherbaustein, um eine flexible

Mehr

Die RS Schnittstelle

Die RS Schnittstelle Die RS232 -. Schnittstelle Referat in der Vorlesung Rechnerstrukturen C.Wehland ; A.Gerst Inhalt Überblick serielle PC-Schnittstelle Übertragungsparameter Signale der seriellen Schnittstelle Register der

Mehr

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk Remote-Objekt-Überwachung von Jan Schäfer und Matthias Merk Aufgabenstellung Steuerung von Sensoren zur Remote Objektüberwachung mit einem µc PIC16F874. Welcher Sensor hat gemeldet? Die Überwachung Mehrere

Mehr

Serielle Datenübertragung mit dem Schnittstellenbaustein 8251

Serielle Datenübertragung mit dem Schnittstellenbaustein 8251 Serielle Datenübertragung mit dem Schnittstellenbaustein 8251 2 Inhaltsverzeichnis Thema Seite Inhaltsverzeichnis 2 Einleitung 2 Serielle Datenübertragung 3 Der serielle Schnittstellenbaustein 8251 4 Beispielprogramm

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

Mehr

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino Der I²C-Bus Vorstellung des Inter-Integrated Circuit -Bus Aufbau und Funktionsweise Beispiel PortExpander am Arduino Weitere Anwendungsmöglichkeiten Was ist der I²C-Bus entwickelt von Philips Anfang der

Mehr

Aufgabe 1 Entwicklung einer Virtuellen Maschine

Aufgabe 1 Entwicklung einer Virtuellen Maschine Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung

Mehr

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI) Serielle Kommunikation mit dem Arduino Teil 1: Das Serial Peripheral Interface (SPI) Axel Attraktor e.v. 4. Juni 2012 Axel (Attraktor e.v.) 5. Arduino-Stammtisch 4. Juni 2012 1 / 25 Serielle Kommunikation

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Protokoll zum Versuch 146

Protokoll zum Versuch 146 Elektronik-Praktikum am Dritten Physikalischen Institut der Universität Göttingen Wintersemester 2005/2006 Protokoll zum Versuch 146 Messgerätesteuerung über IEC-Bus Name: Georg Herink, Hendrik Söhnholz

Mehr

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

ATmega169 Chip: Pin-Layout

ATmega169 Chip: Pin-Layout ATmega169 Chip: Pin-Layout Die logische Schnittstelle der Funktionseinheit MCU (Microcontroller Unit) entspricht der physikalischen Schnittstelle der Baueinheit (Chip). Für die Maschinenbefehle sind nur

Mehr

Versuch P1-63 Schaltlogik Vorbereitung

Versuch P1-63 Schaltlogik Vorbereitung Versuch P1-63 Schaltlogik Vorbereitung Gruppe Mo-19 Yannick Augenstein Versuchsdurchführung: 16. Januar 2012 1 Inhaltsverzeichnis Einführung 3 1 Grundschaltungen 3 1.1 AND.......................................

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Kommunikation zwischen Mikrocontrollern

Kommunikation zwischen Mikrocontrollern Kommunikation zwischen Mikrocontrollern Serielle Kommunikation Bitweises Übertragen der Daten nacheinander auf einer Leitung serielle Schnittstelle im PC und im Mikrocontroller = Standard große Anwendungsbreite

Mehr

Asynchrone Schaltungen

Asynchrone Schaltungen Asynchrone Schaltungen Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 Asynchrone Schaltungen 1/25 2013/07/18 Asynchrone Schaltungen

Mehr

Stand: 29.07.94. Anregungen und Verbesserungsvorschläge sind jederzeit willkommen!

Stand: 29.07.94. Anregungen und Verbesserungsvorschläge sind jederzeit willkommen! PC-Slot-Interface V1.1 ECB-SLOT Stand: 29.07.94 Dieses Handbuch soll die Funktionsweise und Anwendung des PC-Slot-Interfaces erklären. Text, Schaltung und Platinenlayout sind urheberrechtlich geschützt

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig AVR Web Server Version 1.1 erstellt von Ulrich Radig 1 Vorwort: Der von mir aufgebaute AVR Webserver dient zum Steuern Messen und Regeln von diversen Gerätschaften genannt seien Garagentor, Lampen, Heizung

Mehr

I2C-BUS Von Ramesh Sathiyamoorthy Klasse E4p Embedded Control Hr.Felser HTI Burgdorf

I2C-BUS Von Ramesh Sathiyamoorthy Klasse E4p Embedded Control Hr.Felser HTI Burgdorf I2C-BUS Von Ramesh Sathiyamoorthy Klasse E4p Embedded Control Hr.Felser HTI Burgdorf Inhaltverzeichnis Inhaltverzeichnis... 2 1.History... 3 2.Einsatzbereich... 4 3.Funktionweise... 5 3.1 Das I2C-Busprotokoll...

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER GRUNDLAGEN DER INFORMATIONSTECHNIK Übungen TEIL 1 RECHNER Otto-von-Guericke-Universität Magdeburg Fakultät für Elektrotechnik und Informationstechnik Institut für Elektronik, Signalverarbeitung und Kommunikationstechnik

Mehr

Versuch 3: Sequenzielle Logik

Versuch 3: Sequenzielle Logik Versuch 3: Sequenzielle Logik Versuchsvorbereitung 1. (2 Punkte) Unterschied zwischen Flipflop und Latch: Ein Latch ist transparent für einen bestimmten Zustand des Taktsignals: Jeder Datensignalwechsel

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

TBE332 Controller. Produktbeschreibung

TBE332 Controller. Produktbeschreibung TBE332 Controller Produktbeschreibung Bei der Entwicklung der TBE332 Steuerung wurde auf die Erfahrung unserer jahrelangen Planung und Realisierung verschiedenster Steuerungs- und Regelungseinrichtungen

Mehr

SMP Übung 2 1. Aufgabe

SMP Übung 2 1. Aufgabe SMP Übung 2 1. Aufgabe a) Kilo: K = 2 10 = 1.024 Mega: M = 2 20 = 1.048.576 Giga: G = 2 30 = 1.073.741.824 Tera: T = 2 40 = 1.099.511.627.776 b) Der Prozessor hat 30 Adressleitungen A[31..2], mit denen

Mehr

5. Digitale Schnittstellen und Vernetzung im Überblick

5. Digitale Schnittstellen und Vernetzung im Überblick 5. Digitale Schnittstellen und Vernetzung im Überblick 5.1 Schnittstellen für Computerperipherie speziell: USB, FireWire 5.2 Drahtgebundene Netztechnologien z.b. Ethernet, ATM 5.3 Drahtlose Netztechnologien

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 5.2 Endliche Automaten 129 5.1.6 Kippstufen Flip-Flops werden auch als bistabile Kippstufen bezeichnet. Bistabil meint, dass beide Kippwerte, also 0 und 1 stabil sind. Diese Bezeichnung legt nahe, dass

Mehr

Bedienungsanleitung DD 55 IS. Displaydecoder mit InterBus-S

Bedienungsanleitung DD 55 IS. Displaydecoder mit InterBus-S Bedienungsanleitung DD 55 IS Displaydecoder mit InterBus-S 15/05/13 dd55is DE_1.doc Los \API 1/10 Inhalt 1 Einleitung... 3 2 Anschlußbelegung... 3 3 Prozeßdatenkanal... 3 4 Eingangsdatenwort... 3 5 Statusbits...

Mehr

Der CAN-Bus (Controller Area Network)

Der CAN-Bus (Controller Area Network) Der CAN-Bus (Controller Area Network) Was ist das und wozu braucht man das? Jürgen Stuber 2012-10-03 Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 1 / 15 Anwendungen KFz Jürgen Stuber

Mehr

AVR-Mikrocontroller in BASCOM programmieren

AVR-Mikrocontroller in BASCOM programmieren jean-claude.feltes@education.lu 1 AVR-Mikrocontroller in BASCOM programmieren Der IC-Bus (TWI-Interface) Allgemeines Spezifikationen des IC-Busses: http://www.nxp.com/acrobat_download/literature/9398/39311.pdf

Mehr

HARDWARE-PRAKTIKUM. Versuch L-1. Schaltnetze. Fachbereich Informatik. Universität Kaiserslautern

HARDWARE-PRAKTIKUM. Versuch L-1. Schaltnetze. Fachbereich Informatik. Universität Kaiserslautern HARDWARE-PRAKTIKUM Versuch L-1 Schaltnetze Fachbereich Informatik Universität Kaiserslautern Seite 2 Versuch L-1 Versuch L-1 Dieser Versuch behandelt einfache Schaltnetze, die mit Hilfe von PALs aufgebaut

Mehr

Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520

Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520 Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520 Das Linux Control System ist eine typische Anwendung für das Linux Control Modul DIL/NetPC DNP/7520. Die Abbildung 1 zeigt die Blockschaltung.

Mehr

8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften

8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften 8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften Automatisierungsgerät: Zentralbaugruppe mit Prozessor Kommunikationsbaugruppe (Feldbusanschaltung) Bussysteme

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Übersicht. Busse. Übersicht. Bus, Bridge, I/O-Controller. Einleitung Hersteller-Konfiguration Manuelle Konfiguration Programmierbare Konfiguration

Übersicht. Busse. Übersicht. Bus, Bridge, I/O-Controller. Einleitung Hersteller-Konfiguration Manuelle Konfiguration Programmierbare Konfiguration Übersicht 1 Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 2 Bus-Konfiguration 3 Bus-Arbitrierung Busse 1/40 2008-10-13

Mehr

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 Der MAX5382 ist ein 8 Bit DA Wandler im SOT23 Gehäuse. Der MAX5380 besitzt eine interne Referenzspannung von 2 V, der MAX5381 von 4 Volt und der verwendete

Mehr

Semestralklausur Einführung in Computer Microsystems

Semestralklausur Einführung in Computer Microsystems Semestralklausur Einführung in Computer Microsystems 07. Juli 2008 Dr.-Ing. Wolfgang Heenes Name (Nachname, Vorname) Matrikelnummer Unterschrift Prüfung Bitte ankreuzen Anzahl abgegebene Zusatzblätter:

Mehr

Vorbemerkungen zum 5. Versuchstag:

Vorbemerkungen zum 5. Versuchstag: Vorbemerkungen zum 5. Versuchstag: Ziel des fünften Versuchstages ist es:! Die Verbindung von Mikroprozessoren mit peripheren Geräten kennen zu lernen;! den Umgang mit Peripherie-Bausteinen zu üben; Im

Mehr

9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen

9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen Name: Daniel Schick Betreuer: Dipl. Ing. D. Bojarski

Mehr

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L Elektronische Grundlagen Versuch E7, Grundelemente der Digitaltechnik Praktikumsgruppe IngIF, 04. Juni 2003 Stefan Schumacher Sandra Ruske Oliver Liebold

Mehr

S2M-Bridge. Handbuch V97/1.30-EURO

S2M-Bridge. Handbuch V97/1.30-EURO S2M-Bridge V97/1.30-EURO Beschreibung Die S2M-Bridge ist in der Lage, bis zu 15 x 128 kbit/s - Verbindungen oder bis zu 30 x 64 kbit/s - Verbindungen gleichzeitig zur Verfügung zu stellen. Der Verbindungsaufbau

Mehr

Lösung 5. Mikroprozessor & Eingebettete Systeme 1

Lösung 5. Mikroprozessor & Eingebettete Systeme 1 Lösung 5 Mikroprozessor & Eingebettete Systeme 1 WS2015 / 2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg in

Mehr

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10. Lehrprozessor: Coldfire MCF-5272 Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.45 Uhr Raum: Aula Bearbeitungszeit: 180 Minuten Erlaubte Hilfsmittel: Gedrucktes Vorlesungsskript von Prof. Neuschwander mit

Mehr

Handbuch CompactPCI-Karten

Handbuch CompactPCI-Karten Handbuch CompactPCI-Karten W&T Typ 1341 1361 Version 1.0 05/004 by Wiesemann & Theis GmbH Irrtum und Änderung vorbehalten: Da wir Fehler machen können, darf keine unserer Aussagen ungeprüft verwendet werden.

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

DALI SCI RS232. Datenblatt. DALI RS232 Interface. Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem

DALI SCI RS232. Datenblatt. DALI RS232 Interface. Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem DALI SCI RS232 Datenblatt DALI RS232 Interface Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem Art. Nr. 22176438-HS ersetzt: Art. Nr. 86458525 (DIN-Rail)

Mehr

Grundlegendes zum PC

Grundlegendes zum PC Grundlegendes zum PC Grundsätzlicher Aufbau eines PC Bild eines PC Beschreibung Eingabegeräte Ausgabegeräte Speicher Sonstige Bild eines PC Beschreibung Sind alle gleich die PC Sind in 3 bereiche eingeteilt:

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

JX6-INT1 Versions Update von V1.00 auf V1.24

JX6-INT1 Versions Update von V1.00 auf V1.24 JX6-INT1 Versions Update von V1.00 auf V1.24 Auflage 1.00 16. September 2002 / Printed in Germany Versions Update - 16. September 2002 JX6-INT1 - von V1.00 auf V1.24 Die Firma JETTER AG behält sich das

Mehr

RO-Serie CAN-Übertragungsprotokoll

RO-Serie CAN-Übertragungsprotokoll RO-Serie CAN-Übertragungsprotokoll Juni 2009 1 EINLEITUNG...3 2 REGISTER-ZUGRIFFE...4 2.1 Was sind überhaupt Register?... 4 2.2 Registerzugriff mit 8/ 16 oder 32 Bit-Datenbreite... 4 2.3 Registerbelegung...

Mehr

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens Self-aware Memory: Hardware-Prototyp eines Prozessorknotens Robert Schelkle Universität Karlsruhe (TH) Institut für Technische Informatik (ITEC) Lehrstuhl für Rechnerarchitektur 24. März 2009 Robert Schelkle

Mehr

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule 32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag Inhalt Vorgeschichte Was wurde erreicht Hardware Energy Micro Microcontroller µctag Plattform EPC Gen2 Tag Standard Protokoll-Vorgaben

Mehr

E i s e n b a h n f r e u n d e K r a i c h g a u e. V. Datenübertragung. mit dem RS485

E i s e n b a h n f r e u n d e K r a i c h g a u e. V. Datenübertragung. mit dem RS485 E i s e n b a h n f r e u n d e K r a i c h g a u e. V. Datenübertragung mit dem RS485 Dezember 2007 E i s e n b a h n f r e u n d e K r a i c h g a u e. V. Datenübertragung mit dem RS485 herausgegeben

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Bedienungsanleitung ALARM-MATRIX

Bedienungsanleitung ALARM-MATRIX Bedienungsanleitung ALARM-MATRIX Seite 1 von 8 Version 1.10 Einführung Die Alarmmatrix verfügt über 8 potentialfreie Eingänge. Es ist möglich jeden einzelnen dieser Kontakte von der Alarmmatrix überwachen

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris VHDL VHDL Akronym für Very High-Speed Integrated Circuit Hardware Description Language

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 2

AVR-Mikrocontroller in BASCOM programmieren, Teil 2 jean-claude.feltes@education.lu 1 AVR-Mikrocontroller in BASCOM programmieren, Teil 2 13. Interrupts 13.1 Externe Interrupts durch Taster Wenn Taster mittels Polling abgefragt werden, wie in Teil 1 beschrieben,

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

4.2 Peripherie ansprechen in C/I2C-Bus

4.2 Peripherie ansprechen in C/I2C-Bus M42L 1. Juni 215 4.2 Peripherie ansprechen in C/I2C-Bus 4.2.1 Problem Das Mikrocontroller-Board soll mit Hilfe eines Sensors vom Typ LM 75 (NXP) die Temperatur erfassen und ausgeben. Der Sensor ist vom

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Interface Definitionen zu E-LAB ICP-V24 Portable

Interface Definitionen zu E-LAB ICP-V24 Portable Serielles Interface PC ICP-V24 18.03.2003 Seite 1/5 Interface Definitionen zu E-LAB ICP-V24 Portable Das Interface zwischen PC und ICP-V24 besteht aus dem Hardware Teil und dem Software Teil. Hardware

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung Konzepte von Betriebssystem-Komponenten I/O: von der Platte zur Anwendung SS 05 Igor Engel Igor.Engel@informatik.stud.uni-erlangen.de 1 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien

Mehr

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner Konzepte von Betriebssystemkomponenten Gerätetreiber Mario Körner 26.01.2004 Übersicht Einordnung in die Betriebssystemarchitektur Schnittstelle zur Hardware Schnittstelle zum Betriebssystem am Beispiel

Mehr

Vorläufiges. Handbuch

Vorläufiges. Handbuch 1 Vorläufiges Handbuch Datenfunkmodul OPC 1430 Stand August 2004 AMBER wireless GmbH Albin-Köbis-Straße 18 51147 Köln Tel. 02203-369472 Fax 02203-459883 email info@amber-wireless.de Internet http://ww.amber-wireless.de

Mehr

SER4-FIFO RS422/485. Technische Beschreibung

SER4-FIFO RS422/485. Technische Beschreibung Computertechnik GmbH SER4-FIFO RS422/485 Technische Beschreibung Bestellnummern: 404.216553.400 4 SER4-FIFO RS422/485 404.216553.200 6 SER2-FIFO RS422/485 Ihr Ansprechpartner: 1996 by Janich & Klass Computertechnik

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de> x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der

Mehr

Serielle Datenübertragung. TeilB: Serielle Schnittstellen. Serielle Datenübertragung Minimalverkabelung

Serielle Datenübertragung. TeilB: Serielle Schnittstellen. Serielle Datenübertragung Minimalverkabelung TeilB: Serielle Schnittstellen Serielle Schnittstelle 20mAStromschnittstelle Serielle SchnittstelleRS 485 Serielle Datenübertragung Datenwerdennacheinander(d.h.in Serie)übertragen. Gemeintisti.d.R.bitseriell.

Mehr

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen DIGITALTECHNIK GD KLAUSUR VOM 19. 3. 2014 AUFGABEN UND MUSTERLÖSUNGEN SEITE 1 VON 9 Name: FH Dortmund Matr.-Nr.: FB Informations- und Elektrotechnik Grundlagen der Digitaltechnik GD Klausur vom 19. 3.

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe Beschaltung eines Mikrocontrollers Jordi Blanch Sierra Steuerungsgruppe Gliederung Was ist ein Mikrocontroller? ATmega32 Pin-Beschreibung Grundschaltungen: - Minimale Grundschaltung - Grundschaltung mit

Mehr

Application Note Nr. 102 RS485 Kommunikation

Application Note Nr. 102 RS485 Kommunikation 1 v. 6 1 Inhalt 1 Inhalt...1 2 Einleitung...1 3 Aufbau eines RS485 Feldbusses...1 4 Anschluss des RS485 Interface am ARS2000...2 5 Aktivierung der im ARS2000...3 6 RS485 Protokoll für den ARS2000...4 7

Mehr

CPLD Auswahl und Design

CPLD Auswahl und Design CPLD Auswahl und Design Sascha Schade DL1DRS 9. Januar 2010 Für ein software defined radio (SDR) wurde ein verstellbarer Taktgenerator, der den Analogschalter speist, als Design für einen CPLD synthetisiert

Mehr

Studiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8

Studiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8 Studiengang Maschinenbau, Schwerpunkt Mechatronik (früher: Automatisierungstechnik) Seite 1 von 8 Hochschule München Fakultät 03 Zugelassene Hilfsmittel: alle eigenen, Taschenrechner Viel Erfolg!! Komponenten

Mehr

Teil I: Wat isse ne Mikrokontroller?

Teil I: Wat isse ne Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil I: Wat isse ne Mikrokontroller? Wat

Mehr

Embedded Software. Praktikum. Licht- und Schlafphasenwecker Lukas Scharlau Timo Schwarte

Embedded Software. Praktikum. Licht- und Schlafphasenwecker Lukas Scharlau Timo Schwarte Embedded Software Praktikum Licht- und Schlafphasenwecker 12.01.2015 Lukas Scharlau Timo Schwarte Inhalt Einleitung... 3 Ansteuerung LED-Streifen...3 Ansteuerung Bewegungssensor...3 Soundausgabe... 4 Buttons

Mehr