1 / 49

2.5. Mikrocontroller-Komponenten

2.5. Mikrocontroller-Komponenten. 2.5.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

micah-ross
Download Presentation

2.5. Mikrocontroller-Komponenten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.5. Mikrocontroller-Komponenten 2.5.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

  2. 2.5. Mikrocontroller-Komponenten Beispiel:

  3. 2.5. 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. 2.5. Mikrocontroller-Komponenten Befehlsverarbeitung in einer Pipeline: Beispiel fünfstufige Pipeline Takt 1 Takt 2 Takt 3 Takt 4 Takt 5 Takt 6 Takt 7 ... Befehl dekodieren Befehl holen Operanden holen Befehl ausführen Ergebnis speichern Befehl 1 Operanden holen Befehl ausführen Ergebnis speichern Befehl holen Befehl dekodieren Befehl 2 Befehl dekodieren Operanden holen Befehl ausführen Ergebnis speichern Befehl holen Befehl 3 . . .

  5. 2.5. Mikrocontroller-Komponenten Beispiel superskalare Pipeline bei High-End-Prozessorkernen Operanden holen Befehl ausführen Befehl holen Befehl dekodieren Ergebnis speichern Befehlsfenster Zuordnungseinheit Rückordnungseinheit Operanden holen Befehl ausführen

  6. Festplatte 2.5. Mikrocontroller-Komponenten Speicherhierarchie bei High-End- Prozessorkernen Prozessor- kern 2 kByte 0,5 - 0,1 ns Register First - Level- Cache 8 - 64 kByte < 1 ns Daten Code Secondary- Level-Cache 0,25 - 1 Mbyte 2 - 10 ns 10 - 100 Mbyte 20 - 30 ns Third - Level - Cache > 1GByte 50 ns Hauptspeicher virtuelle Speicherverwaltung 50 - 500 GByte 10 - 20 ms

  7. 2.5. Mikrocontroller-Komponenten Sprungspekulation: Beispiel Ein-Bit- und Zwei-Bit-Prädiktor taken predict not taken (1) predict taken (0) not taken taken not taken a) Ein–Bit-Präditkor taken taken taken predict weakly not taken (10) predict strongly taken (00) predict weakly taken (01) predict strongly not taken (11) not taken not taken not taken taken not taken b) Zwei–Bit-Präditkor

  8. 2.5. Mikrocontroller-Komponenten Resultierende Echtzeitproblematik bei High-End- Prozessorkernen mit diesen Techniken Best- und Worst-Case Ausführungszeiten verschiedener Mikroarchitekturen Programm Benötigte Anzahl Taktzyklen Keine Pipeline Einfache Pipeline Pipeline, Spekulation Pipeline, Cache, Spekulation Best=Worst Best Worst Best Worst Best=Worst 1+4 1+4 1+4 1 1+4 5 LD A,(2000) INC B 1 1 1 1 1 3 SUB A,B 1+1 1+1 1+1 1+1 1+1 3 JZ 10000 1+3 1 7 1 7 4 12 9 15 5 15 Gesamt 15

  9. 2.5. Mikrocontroller-Komponenten Zur Einsparung von Speicher bei einfachen Mikrocontrollern: Verkürzte Adressierung zur Verkürzung der Befehle

  10. 2.5. 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

  11. 2.5. Mikrocontroller-Komponenten 2.5.2 Ein-/Ausgabeeinheiten Bindeglied des Mikrocontrollers zur Umwelt • analog/digital • seriell/parallel • Übertragungsraten • Übertragungsformate • Übertragungsaufwand ...

  12. 2.5. Mikrocontroller-Komponenten 2.5.2.1 Anbindung an den Prozessorkern

  13. 2.5. 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

  14. 2.5. Mikrocontroller-Komponenten Adressraumbedarf unterschiedlich komplexer EA-Einheiten

  15. 2.5. Mikrocontroller-Komponenten Physikalische Anbindung durch Adressdecoder

  16. 2.5. Mikrocontroller-Komponenten Zur Anpassung unterschiedlicher Datenübertragungsraten von Prozessorkern und EA-Einheiten : Synchronisation Von Seiten der EA-Einheit: • Software-Synchronisation • Hardware-Synchronisation

  17. 2.5. Mikrocontroller-Komponenten Software-Synchronisation: Beispiel XON/XOFF

  18. 2.5. Mikrocontroller-Komponenten Hardware-Synchronisation: Beispiel RTS/CTS

  19. 2.5. Mikrocontroller-Komponenten Von Seiten des Prozessorkerns: Auswertung mit Polling oder Interrupt

  20. 2.5. Mikrocontroller-Komponenten 2.5.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

  21. 2.5. Mikrocontroller-Komponenten Einfache parallele Eingabeeinheit:

  22. 2.5. Mikrocontroller-Komponenten Einfache parallele Ausgabeeinheit:

  23. 2.5. Mikrocontroller-Komponenten Einfache bidirektionale Einheit:

  24. 2.5. Mikrocontroller-Komponenten 2.5.2.3 Digitale serielle Ein-/Ausgabeeinheiten(serielle IO-Ports) Grundprinzip:

  25. 2.5. 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

  26. 2.5. Mikrocontroller-Komponenten Asynchrone Übertragung Nach jedem übertragenen Zeichen wird synchronisiert

  27. 2.5. 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)

  28. 2.5. Mikrocontroller-Komponenten Synchrone Übertragung Rahmensynchronisation Höhere Übertragungsgeschwindigkeit, höhere Anforderungen an den Takt

  29. 2.5. Mikrocontroller-Komponenten Komponentenaufbau

  30. 2.5. Mikrocontroller-Komponenten Verbindungstechniken Serielle Punkt-zu-Punkt-Verbindung (Peer to Peer)

  31. 2.5. Mikrocontroller-Komponenten Verbindungsbusse Beispiel: SPI (Serial Peripheral Interface, Motorola) Andere serielle Busse: RS485, USB, ...

  32. 2.5. Mikrocontroller-Komponenten Serielle Datencodierungen

  33. 2.5. 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

  34. 2.5. 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

  35. 2.5. 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.

  36. 2.5. Mikrocontroller-Komponenten 2.5.2.4 Analoge Ein-/Ausgabeeinheiten zur Verarbeitung durch den Prozessorkern müssen analoge in digitale Signale gewandelt werden

  37. 2.5. 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

  38. 2.5. 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

  39. 2.5. Mikrocontroller-Komponenten Digital/Analog-Wandlung R/2R-Widerstandsnetzwerk

  40. 2.5. 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

  41. 2.5. Mikrocontroller-Komponenten Statische Wandlungsfehler:

  42. 2.5. 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)

  43. 2.5. Mikrocontroller-Komponenten Dynamische Fehler: Glitches durch Wettläufe im Umschaltzeitpunkt, z.B. bei 0111  1111  1000 Abhilfe: Abtast-/Halteglied (Sample and Hold)

  44. 2.5. Mikrocontroller-Komponenten 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

  45. 2.5. Mikrocontroller-Komponenten Beispiel: das Wägeverfahren wandelt n Bits in n Schritten

  46. 2.5. Mikrocontroller-Komponenten Ablauf: sukzessive Aproximation Wandlerfunktion: Z =  2nU / Uref = U / ULSB

  47. 2.5. Mikrocontroller-Komponenten Statische Fehler: Quantisierungsrauschen systematischer Fehler, bedingt durch die begrenzte Auflösung => Abweichung des treppenförmigen vom tatsächlichen stufenlosen Analogsignal

  48. 2.5. 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

  49. 2.5. 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

More Related