Peripherie Komplexe serielle Schnittstellen Kennzeichen Aufwändigere Physical Layer Darstellungen Praktisch immer asynchron Blockübertragungen Asynchronität: Taktrückgewinnung nötig Overhead bei Bit-Übertragung Unterschiedliche Topologien möglich Bus: CAN, LIN, ProfiBus Point-to-Point: USB Christian Hochberger, TU Darmstadt 68
Peripherie CAN, LIN, ProfiBus Basieren alle auf UART Protokoll Engere Toleranzen erlauben Datenraten bis ca. 1MBit/s Übertragung von Nachrichten statt Worten Adressfeld am Anfang der Nachricht (wird bei CAN z.b. auch zur Arbitrierung genutzt) Prüfsumme am Ende der Nachricht Typischerweise kurze Nachrichten (CAN/LIN 8 Byte) Verschiedene Buszuteilungsverfahren Profibus: Token Passing (hohe Fairness, aufwändige Implementierung) CAN: Dezentrale Arbitrierung Komplexe Zusatzfunktionen ProfiBus: Station List (alle am Bus auftretenden Adressen) Christian Hochberger, TU Darmstadt 69
Peripherie USB Universal Serial Bus USB 1.1 max. 12MBit/s USB 2.0 max. 480MBit/s USB 3.0 max. 5GBit/s Busstruktur Rollen: Host, Hub, Slave Topologie: Point-to-Point Kommunikation nur zw. Host und Slave Host plant Kommunikation in Frames Dazu Abfrage des Sendewunsches/Empfangsbereitschaft von Slaves Christian Hochberger, TU Darmstadt 70
Peripherie USB (2) Organisation der Kommunikation in Endpunkten Kontroll-Endpunkt: Dient der Konfiguration (bidirektional) In-Endpunkt: Daten vom Host zum Slave Out-Endpunkt: Daten vom Slave zum Host Maximal 31 Endpunkte pro Gerät Verschiedene Transfertypen Control-Transfer (Enumeration der Endpunkte) Isochroner Transfer (garantierte Datenrate, keine Wiederholungen) Bulk Transfer (Massendaten, mit Wiederholung bei Fehler) Interrupt Transfer (kleine Datenmengen, niedrige Latenz) Christian Hochberger, TU Darmstadt 71
Peripherie USB (3) Festlegung der Konfiguration In Software, bei Systemstart In Hardware, bei Systemkonfiguration Hardware Unterstützung im Slave Für Datenformatierung/Paketierung Autonomes Empfangen/Senden von Paketen IRQs bei erfolgtem Versand, eintreffendem Paket Double Buffering (zwei Speicherpuffer für den gleichen Endpunkt) FIFO-Interface (automatischer Versand/Empfang) Christian Hochberger, TU Darmstadt 72
Peripherie Spezialschnittstellen Hohe Autonomie Entlastung des Prozessors von wiederkehrenden Aufgaben Senkung der IRQ Last Beispiele: Schrittmotorsteuerung Pixel basierte Displays Ethernet Christian Hochberger, TU Darmstadt 73
Peripherie Schrittmotoren Grundprinzip Durch wechselnde Magnetfelder kann Rotor in feste Positionen gebracht werden Verschiedene Bauformen (Permanentmagnet, Reluktanz) Probleme: Leistung abhängig von Schrittgeschwindigkeit (sinkender Strom bei hoher Geschwindigkeit) Bei hoher Schrittgeschwindigkeit können Schritte verloren gehen Anfahren und Bremsen nötig Mikroschrittbetrieb: Rotor zwischen zwei festen Positionen halten Christian Hochberger, TU Darmstadt 74
Peripherie Schrittmotoren (2) Aufgaben der Peripherie Autonomes Generieren der Schritte Optional: Beschleunigungs/Brems-Rampe Optional: Erfassung eines externen Tachogebers Messung des Motorstroms Anpassung der Motorspannung (höhere Spannung bei höheren Schrittgeschwindigkeiten) IRQs beim Erreichen von vorgegebenen Wegpunkten Ansteuerung über externe Leistungstransistoren (Motorbrücke) Christian Hochberger, TU Darmstadt 75
Peripherie Pixel-Displays Grundlagen LCDs (Liquid Crystal Display) Kristalle werden durch elektrisches Feld ausgerichtet Ausgerichtete Kristalle drehen Polarisation des Lichtes Äußere Glasplatten haben um 90 verdrehte Polarisation Polung des elektrischen Feldes egal, Betrieb über längere Zeit in eine Richtung schädlich Christian Hochberger, TU Darmstadt 76
Peripherie Pixel-Displays (2) Christian Hochberger, TU Darmstadt 77
Peripherie Pixel-Displays (3) Aufgaben des Display-Controllers Transfer der Daten zum Display (ständig wiederholt) Erzeugen der Synchronsignale (Takt, Line, Frame) Evtl. Graustufen Generierung (im Prinzip PWM) Cursor Generierung/Einblendung Mögliche Varianten Dual Panel Mode Zeichen statt Pixelspeicher (Umsetzung während des Auslesens) True-Color / Color-Lookup Table Christian Hochberger, TU Darmstadt 78