4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache RISC- oder CISC Prozessorkerne Benötigen wenig Fläche Verhalten und Eigenschaften sind wohl bekannt Im Low-Cost-Bereich oft einfache 8-Bit-Kerne ohne Pipeline => einfacher Aufbau => sehr einfache zeitliche Vorhersagbarkeit
4. Mikrocontroller-Komponenten Beispiel:
4. Mikrocontroller-Komponenten Je komplexer ein Prozessorkern, desto schwerer wird die Vorhersage des Zeitverhaltens Pipeline => Pipeline-Konflikte Cache => Cache Misses Spekulation => Fehlspekulation In Echtzeitsystemen interessiert die Worst Case Execution Time (WCET) Aufwändige Analysen sind erforderlich (und nicht immer möglich)
4. Mikrocontroller-Komponenten Zur Einsparung von Speicher bei einfachen Mikrocontrollern: Verkürzte Adressierung zur Verkürzung der Befehle
4. Mikrocontroller-Komponenten Zusätzlich: • kurze Befehlscodes für die am häufigsten benutzten Befehle • längere Befehlscodes für seltene Befehle Besonders bei einfachen Mikrocontrollern ist Speicher meist eine knappe Ressource und muss optimal genutzt werden Der Prozessorkern kann dies durch die genannten Maßnahmen unterstützen
4. Mikrocontroller-Komponenten 4.2 Ein-/Ausgabeeinheiten Bindeglied des Mikrocontrollers zur Umwelt analog/digital seriell/parallel Übertragungsraten Übertragungsformate Übertragungsaufwand ...
4. Mikrocontroller-Komponenten 4.2.1 Anbindung an den Prozessorkern
4. Mikrocontroller-Komponenten Vorteile „isolierte Adressierung“: klare Trennung von Speicher- und Ein-/Ausgabezugriffen Speicheradressraum wird nicht durch EA-Einheiten reduziert schmälere Ein-/Ausgabeadressen Vorteile „gemeinsame Adressierung“: Homogenität keine speziellen Befehle zur Ein-/Ausgabe erforderlich Alle Speicher-Adressierungsarten können auch zur Ein-/Ausgabe benutzt werden
4. Mikrocontroller-Komponenten Adressraumbedarf unterschiedlich komplexer EA-Einheiten
4. Mikrocontroller-Komponenten Physikalische Anbindung durch Adressdecoder
4. Mikrocontroller-Komponenten Zur Anpassung unterschiedlicher Datenübertragungsraten von Prozessorkern und EA-Einheiten : Synchronisation Von Seiten der EA-Einheit: Software-Synchronisation Hardware-Synchronisation
4. Mikrocontroller-Komponenten Software-Synchronisation: Beispiel XON/XOFF
4. Mikrocontroller-Komponenten Hardware-Synchronisation: Beispiel RTS/CTS
4. Mikrocontroller-Komponenten Von Seiten des Prozessorkerns: Auswertung mit Polling oder Interrupt
4. Mikrocontroller-Komponenten 4.2.2 Digitale parallele Ein-/Ausgabeeinheiten (parallele IO-Ports) Charakteristika: Anzahl parallel übertragener Bits (meist Zweierpotenz) Ein-/Ausgaberichtung Übertragungsgeschwindigkeit Der meist hohen Übertragungsgeschwindigkeit steht ein großer Bedarf an Anschlüssen gegenüber => meist teilen sich die parallelen EA-Einheiten eines Mikrocontrollers die Anschlüsse mit anderen Komponenten
4. Mikrocontroller-Komponenten Einfache parallele Eingabeeinheit:
4. Mikrocontroller-Komponenten Einfache parallele Ausgabeeinheit:
4. Mikrocontroller-Komponenten Einfache bidirektionale Einheit:
4. Mikrocontroller-Komponenten 4.2.3 Digitale serielle Ein-/Ausgabeeinheiten (serielle IO-Ports) Grundprinzip:
4. Mikrocontroller-Komponenten Wichtige Begriffe: Schrittgeschwindigkeit (Schritttakt) Anzahl übertragener Informationen / Sekunde (Baud, Baudrate) Übertragungsgeschwindigkeit Anzahl übertragener Bits / Sekunde Übertragungsgeschw. = Schrittgeschw. * Übertragungsbreite oder allgemeiner: Übertragungsgeschw. = Schrittgeschw. * ld(Anzahl Übertragungszustände) Bei bitserieller Übertragung: Schrittgeschwindigkeit = Übertragungsgeschwindigkeit
4. Mikrocontroller-Komponenten 4.2.3.1 Asynchrone Übertragung Nach jedem übertragenen Zeichen wird synchronisiert
4. Mikrocontroller-Komponenten => Zeichensynchronisation keine hohen Anforderungen an die Taktgenauigkeit Sende und Empfangstakt dürfen sich um maximal 1/2 Tarktperiode pro Zeichen verschieben durch häufige Synchronisation geringe Datenraten Vereinbarung zwischen Sender und Empfänger: Schrittgeschwindigkeit (z.B. 4800, 9600, 19200, ... Baud) Anzahl der Datenbits pro Zeichen (5 – 8) Parität (gerade oder ungerade) Anzahl der Stoppbits (üblicherweise 1, 1,5 oder 2)
4. Mikrocontroller-Komponenten 4.2.3.2 Synchrone Übertragung Rahmensynchronisation Höhere Übertragungsgeschwindigkeit, höhere Anforderungen an den Takt
4. Mikrocontroller-Komponenten 4.2.3.3 Komponentenaufbau
4. Mikrocontroller-Komponenten 4.2.3.4 Verbindungstechniken Serielle Punkt-zu-Punkt-Verbindung (Peer to Peer)
4. Mikrocontroller-Komponenten Verbindungsbusse Beispiel: SPI (Serial Peripheral Interface, Motorola) Andere serielle Busse: RS485, USB, ...
4. Mikrocontroller-Komponenten 4.2.3.5 Serielle Datencodierungen
4. Mikrocontroller-Komponenten NRZ (Non Return to Zero) Einfach, leichter Verlust der Taktsynchronität bei aufeinanderfolgenden Einsen oder Nullen => wird hauptsächlich bei asynchroner Übertragung genutzt FM (Frequency Modulation) Takterhaltende Codierung, Voranstellen eines Taktbits 0 1 0 1 1 1 0 0 Daten 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 FM T D T D T D T D T D T D T D T D
4. Mikrocontroller-Komponenten MFM (Modified Frequency Modulation) Halbiert den Aufwand von FM durch bedingtes Voranstellen eines Taktbits. Taktbit nur, wenn aktuelles und voriges Datenbit beide nicht 1 0 1 0 1 1 1 0 0 Daten 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 MFM T D T D T D T D T D T D T D T D
4. Mikrocontroller-Komponenten Manchester Biphase Wird z.B. bei Ethernet benutzt Signalpegel wechselt grundsätzlich bei jeder Taktflanke Stimmt der resultierende Wert nicht mit dem Bitwert überein: => zweiter Wechsel 0 1 0 1 1 1 0 0 Daten 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 Manch.
4. Mikrocontroller-Komponenten 4.2.4 Analoge Ein-/Ausgabeeinheiten zur Verarbeitung durch den Prozessorkern müssen analoge in digitale Signale gewandelt werden
4. Mikrocontroller-Komponenten Wandlungsfunktion: bei n Bit Auflösung => Aufteilung in 2n Schritte ULSB = (Umax – Umin) / 2n Digital/Analog-Wandlung U = (Z ULSB) + Umin Analog/Digital-Wandlung Z = (U – Umin) / ULSB
4. Mikrocontroller-Komponenten Beispiel: Umax = 5 V, Umin = 0 V, 12-Bit-Wandlung => ULSB = 1,221 mV Wichtigste Kriterien für die Auswahl eines Wandlers Auflösung (n Bit) Spannungsbereich (Umin - Umax) Wandlungszeit Wandlungsfehler
4. Mikrocontroller-Komponenten 4.2.4.1 Digital/Analog-Wandlung R/2R-Widerstandsnetzwerk
4. Mikrocontroller-Komponenten Funktion des Wandlers: Ik = z3 (Uref / 2R) + z2 (Uref / 4R) + z1 (Uref / 8R) + z0 (Uref / 16R) Für den Operationsverstärker gilt näherungsweise: U = -R Ik Daraus folgt: U = - (z3 (Uref / 2) + z2 (Uref / 4) + z1 (Uref / 8) + z0 (Uref / 16)) = - (z3 23 + z2 22 + z121 + z020) Uref / 24 = - Z Uref / 24 oder für n Bit: U = - Z Uref / 2n
4. Mikrocontroller-Komponenten Statische Wandlungsfehler:
4. Mikrocontroller-Komponenten Nullpunktfehler durch Addition einer Konstanten (auf analoger oder digitaler Seite) behebbar Vollausschlagfehler durch Multiplikation mit einer Konstanten behebbar Nichtlinearität ist nicht korrigierbar und reduziert die verfügbare Auflösung Besonders schwerwiegend: Monotoniefehler Ausgabe eines niedrigeren Wertes trotz Erhöhung des Eingangswertes Entsteht z.B. im R/2R Netzwerk, wenn durch Widerstandstoleranzen: Ik(0111) > Ik(1000)
4. Mikrocontroller-Komponenten Dynamische Fehler: Glitches durch Wettläufe im Umschaltzeitpunkt, z.B. bei 0111 1111 1000 Abhilfe: Abtast-/Halteglied (Sample and Hold)
4. Mikrocontroller-Komponenten 4.2.4.2 Analog/Digital-Wandlung Prinzipielle Wandlungsverfahren: Parallelverfahren sehr schnell, hoher HW-Aufwand Wägeverfahren mittel schnell, mittlerer HW-Aufwand Zählverfahren (Dual Slope) langsam, geringer HW-Aufwand, störunempfindlich
4. Mikrocontroller-Komponenten Beispiel: das Wägeverfahren wandelt n Bits in n Schritten
4. Mikrocontroller-Komponenten Ablauf: sukzessive Aproximation Wandlerfunktion: Z = 2n U / Uref = U / ULSB
4. Mikrocontroller-Komponenten Statische Fehler: Quantisierungsrauschen systematischer Fehler, bedingt durch die begrenzte Auflösung => Abweichung des treppenförmigen vom tatsächlichen stufenlosen Analogsignal
4. Mikrocontroller-Komponenten Durch die Gleichverteilung des Eingangssignals gehorcht die Abweichung statistischen Gesetzen => Rauschen Rauschamplitude: Faustformel für das Signal/Rauschverhältnis in Dezibel: SR 1.8 dB + n 6 dB Beispiele: 8 Bit Auflösung 49.8dB 12 Bit Auflösung 73.8dB 16 Bit Auflösung 97.8dB
4. Mikrocontroller-Komponenten Dynamische Fehler Amplitudenänderung des Eingangssignals über die Wandlungszeit besonders kritisch beim Wägeverfahren, da hier die empfindlichen niederwertigen Bits zuletzt gewandelt werden Eine Schwankung um mehr als 1/2 ULSB macht bereits das niederwertigste Bit unbrauchbar Abhilfe: Abtast-/Halteglied Takt-Jitter (Aperturfehler) Schwankung der Taktrate bei periodischer Abtastung analoger Signalverläufe