6.1.2 Hauptbaugruppen eines Computers 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
6.1 .2 Hauptbaugruppen eines Computers ZRE CPU Speicher Ein-/Ausgabe-Baugruppen ROM RAM Steuerbus Datenbus (8/16/) 32/64 Bit Adressbus 20 ... 32 Bit 20 ... 30 Leitungen Grundaufbau Personalcomputer
6.1 .2 Hauptbaugruppen eines Computers - + Z A D E/A-Baugruppen ZRE CPU Speicher ROM RAM Steuerbus Datenbus 8/16/32 Bit Adressbus 16 ... 24 Bit 10 ... 20 Ltg. Grundaufbau Mikrocontroller (in spezieller Anwendung)
6.1 .2 Hauptbaugruppen eines Computers - + ROM ROM Z A D ZRE Speicher E/A-Baugruppen ZRE Speicher E/A-Baugruppen RAM RAM Datenbus Datenbus Adressbus Adressbus Steuerbus Steuerbus Grundaufbau Personalcomputer Grundaufbau Mikrocontroller
6.1 .2 Hauptbaugruppen eines Computers Einteilung der Speicherschaltkreise: RAM = Random Access Memory (Schreib-Lese-Speicher) „Gedächtnisverlust“ bei Spannungsausfall. dynamischer RAM: Informationsspeicherung in Gate-Kapazität von Ein-Transistor- (DRAM) Speicherzellen, Information muss innerhalb weniger Millisekunden aufgefrischt werden. Einfacher Aufbau, hohe Speicherdichte, aber komplizierte Ansteuerung erforderlich (Refresh-Logik). - statischer RAM: Stabile Informationsspeicherung in Doppel-Transistor-Schaltung (SRAM) mit gegenseitiger Verriegelung (Flip-Flop). Koplizierterer Aufbau, geringere Speicherdichte, aber einfache Ansteuerung, zurzeit schnellster Datenspeicher. Lese- und Schreibvorgänge im Nanosekunden-Bereich. ROM = Read Only Memory (Nur-Lese-Speicher) Information bleibt auch ohne Spannung erhalten. ROM PROM EPROM EEPROM Flash-EPROM P = programmierbar E = löschbar (erase) durch starkes UV-Licht EE = elektrisch löschbar Flash = sehr schnell (blitzartig) elektrisch löschbar Lesevorgänge im Nanosekunden-Bereich, aber Schreibvorgänge im Mikrosekunden-Bereich.
6.1 .2 Hauptbaugruppen eines Computers Neue Speicherschaltkreise – nicht flüchtige RAM (Non-volatile RAM/NVRAM): 0. seit Jahrzehnten im Einsatz: flüchtige RAM mit Stützbatterien z.B. CMOS-RAM zur Speicherung der Einstellungen im BIOS von PC. 1. auf Basis ferroelektrischer Feldeffekttransistoren (FeFET) 2. auf Basis magnetischer (Spin Torque) Effekte – MRAM 3. auf Basis reversibler Phasenänderungen (Phase Change) - PCRAM Technologien bereits seit mehr als 10 Jahren verfügbar. Speicherdichte im Vergleich zu DRAM und FlashROM um Faktor 10 bis 1000 geringer. Höhere Kosten pro Speicherzelle kein Massenmarkt. 4. auf Basis von Carbone-Nanotubes – NRAM: - Schreib-/Lesezugriffszeiten wie bei DRAM, Kosten aber 50% geringer; - im Standby-Modus keine Leistungsaufnahme; - unempfindlich gegenüber mech., elektr., magn. und Temperatureinflüssen; - voraussichtlich ab 2018 verfügbar. Funktion: Carbon-Nanotube-Schicht (CNT-Schicht) zwischen zwei Elektroden. Bei Stromfluss ziehen sich Nanotubes an Widerstand sinkt. Bei erneutem Strom lösen sich die Verbindungen wieder. CNT-Schicht wirkt wie ein Schalter (0 /1). Quelle: Fa. Nantero und WEKA-Fachmedien
6.1.3 Logische Grundfunktionen 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
6.1.3 Logische Grundfunktionen Konjunktion (Und-Funktion / AND): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Disjunktion (Oder-Funktion / OR): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild
6.1.3 Logische Grundfunktionen Antivalenz (Exklusiv-Oder-Funktion / XOR): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Negation (Nicht-Funktion / NOT): x y Ersatzschaltbild I y x Wertetabelle Funktionsschaltbild = x bzw. y
6.1.3 Logische Grundfunktionen Konjunktion (Und-Funktion / AND): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Konjunktion und Negation (Nicht-Und-Funktion / NOT AND NAND): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Gilt für obere Werte- tabelle. Gilt für untere Werte- tabelle.
6.1.3 Logische Grundfunktionen Disjunktion (Oder-Funktion / OR): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Disjunktion und Negation (Nicht-Oder-Funktion / NOT OR NOR): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild
6.1.3 Logische Grundfunktionen Antivalenz (Exklusiv-Oder-Funktion / XOR): x1 x2 y Ersatzschaltbild I y x2 x1 Wertetabelle Funktionsschaltbild Antivalenz und Negation Äquivalenz (Nicht-Exklusiv-Oder / XNOR): y Ersatzschaltbild x1 x2 Wertetabelle I y x2 x1 Funktionsschaltbild
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. Daten- Ausgang Daten- eingang negierter Daten- Ausgang Takt
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? ? ?
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I I I I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I I I I I I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I I I I I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I I I I I
6.1.3 Logische Grundfunktionen Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop) Funktionsschaltbild Wertetabelle D Q vor Taktsignal nach Takts. ? I I I I I I I Das D-Flip-Flop überträgt die Eingangsinformation in den Ausgang, allerdings verzögert um die Zeit bis zur nächsten positiven Taktflanke. Verzögerung engl. delay D-Flip-Flop. Somit bleibt die Information am Ausgang bis zum nächsten Takt gespeichert.
6.1.3 Logische Grundfunktionen Flip-Flops werden in den CPUs zum Aufbau der sogenannten Register verwendet. Beispielsweise bilden 8 Flip-Flops ein Register mit 8 Bit Verarbeitungsbreite. (8 Bit = 1 Byte.) Flip-Flop 1 Bit Register Stellen- wertigkeit 27 26 25 24 23 22 21 20 In Rechnern mit größerer Verarbeitungsbreite haben die Register entsprechend mehr Flip-Flops (16/32/64 Bit). Rechner verfügen über mehrere dieser Register. Sie werden z.B. mit R0, R1, R2 usw. bezeichnet. Register dienen zur unmittelbaren Bereitstellung der zu verknüpfenden Informationen, den sogenannten Operanden. Nach einer Rechenoperation nehmen sie das Ergebnis wieder auf.
6.2 Mikrocontroller (am Beispiel C167) 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
6.2 Mikrocontroller (am Beispiel C167) Mikrocontroller C167 in einem Motormanagement-Steuergerät
6.2 Mikrocontroller (am Beispiel C167) Chipfoto des Mikro- controllers C167
6 Mikrocontroller in Kraftfahrzeugen 6.2.1 C167 - Hauptbaugruppen 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
Peripherie- baugruppen 6.2.1 C167 - Hauptbaugruppen ... internal bis 128 KBytes ROM CPU-CORE 2 KBytes RAM Watchdog PWM PEC Interrupt Controller OSC. Port 1 4 Port 6 Port 5 Port 3 Port 8 Port 7 CAPCOM 1 CAPCOM 2 GPT 2 HSSSI SSC USART ASC0 10-bit ADC external Bus- Controller BRG T2 T4 T3 T5 T6 T 8 7 32 Bit 16 Bit 8 Bit XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor 16 Bit bzw. 16 Leitungen 15 Bit Zentrale Recheneinheit Speicher Zusatz- baugruppen Peripherie- baugruppen C167 - Blockdiagramm
6 Mikrocontroller in Kraftfahrzeugen 6.2.2 CPU-Baugruppen 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
6.2.2 CPU-Baugruppen Zentrale Recheneinheit C167 - Blockdiagramm ... internal bis 128 KBytes ROM CPU-CORE 2 KBytes RAM Watchdog PWM PEC Interrupt Controller OSC. Port 1 4 Port 6 Port 5 Port 3 Port 8 Port 7 CAPCOM 1 CAPCOM 2 GPT 2 HSSSI SSC USART ASC0 10-bit ADC external Bus- Controller BRG T2 T4 T3 T5 T6 T 8 7 32 Bit 16 Bit 8 Bit XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor 16 Bit bzw. 16 Leitungen 15 Bit Zentrale Recheneinheit C167 - Blockdiagramm
ergänzt um: - 16/32 Bit Multiplikations-/Divisionseinheit; 6.2.2 CPU-Baugruppen Mul./Div. Unit Bit-Mask- Gen. MDH MDL R15 R0 General Purpose Registers Special Function 240 Words 2 KBytes RAM 128 KBytes ROM 32 Bit 16 Bit SP STKOV STKUN Exec.Unit Instr.Ptr. Instr.Reg. 4-Stage Pipeline PSW SYSCON Data Page Pointer Code Seg. Context Ptr. ALU Barrel- Shifter C P U ergänzt um: - 16/32 Bit Multiplikations-/Divisionseinheit; - Bit-Masken-Generator zur erweiterten Einzelbitverarbeitung; 16 Bit Verarbeitungswerk (ALU) mit leistungsfähigem Befehlssatz, - variables Schieberegister (Barrelshifter). Zentrale Recheneinheit des C167 mit den Baugruppen:
Zentrale Recheneinheit des C167 mit den Baugruppen: 6.2.2 CPU-Baugruppen Mul./Div. Unit Bit-Mask- Gen. MDH MDL R15 R0 General Purpose Registers Special Function 240 Words 2 KBytes RAM 128 KBytes ROM 32 Bit 16 Bit SP STKOV STKUN Exec.Unit Instr.Ptr. Instr.Reg. 4-Stage Pipeline PSW SYSCON Data Page Pointer Code Seg. Context Ptr. ALU Barrel- Shifter C P U Zentrale Recheneinheit des C167 mit den Baugruppen: - Vier-Stufen-Pipeline Ermöglicht die parallele zeitversetzte Abarbeitung von vier Maschinenbefehlen. Dadurch sinkt die durchschnittliche Bearbeitungszeit für einen Maschinenbefehl auf ein Viertel. (Bei 25 MHz Rechnertakt von 320 ns auf 80 ns pro Maschinenbefehl.)
Zentrale Recheneinheit des C167 mit den Baugruppen: 6.2.2 CPU-Baugruppen Mul./Div. Unit Bit-Mask- Gen. MDH MDL R15 R0 General Purpose Registers Special Function 240 Words 2 KBytes RAM 128 KBytes ROM 32 Bit 16 Bit SP STKOV STKUN Exec.Unit Instr.Ptr. Instr.Reg. 4-Stage Pipeline PSW SYSCON Data Page Pointer Code Seg. Context Ptr. ALU Barrel- Shifter C P U Die Arbeitsregister werden aus dem internen RAM gespiegelt. Dabei enthält der Context-Pointer die Basisadresse (R0) der Registerbank im RAM. Zentrale Recheneinheit des C167 mit den Baugruppen: 16 virtuelle Arbeitsregister R0 ... R15 Durch Verändern der Basisadresse im Context-Pointer können im schnellen Wechsel unterschiedliche Registerbänke angesprochen werden.
6 Mikrocontroller in Kraftfahrzeugen 6.2.3 Verarbeitungswerk 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
Verarbeitungswerk = engl.: Arithmetic Logic Unit (ALU) Mul./Div. Unit Bit-Mask- Gen. MDH MDL R15 R0 General Purpose Registers Special Function 240 Words 2 KBytes RAM 128 KBytes ROM 32 Bit 16 Bit SP STKOV STKUN Exec.Unit Instr.Ptr. Instr.Reg. 4-Stage Pipeline PSW SYSCON Data Page Pointer Code Seg. Context Ptr. ALU Barrel- Shifter C P U Verarbeitungswerk = engl.: Arithmetic Logic Unit (ALU) Im Verarbeitungswerk werden die Daten aus den Arbeitsregistern miteinander verknüpft. Dabei finden logische, arithmetische oder Transportoperationen statt.
Ergebnis = 1. Operand verknüpft mit 2. Operand 6.2.3 Verarbeitungswerk z.B. R0 z.B. R1 1. Operand 2. Operand Verarbeitunswerk ALU Ergebnis = 1. Operand verknüpft mit 2. Operand z.B. R0 = R0 verknüpft mit R1 Ergebnis z.B. R0 Prinzip Zweiadress-Maschine: Register des 1. Operanden und Ergebnisregister sind identisch, d.h. nach der Verknüpfungsoperation wird das Register des 1. Operanden mit dem Ergebnis überschrieben. Eine Verknüpfungsoperation entspricht genau einem sog. Maschinenbefehl.
I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Und-Verknüpfung / AND (logische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 AND I 2. Operand, z.B. R1 I I I Ergebnis, z.B. R0 Als Maschinenbefehl geschrieben: AND R0,R1
6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Oder-Verknüpfung / OR (logische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 OR I 2. Operand, z.B. R1 I I I I I I I Ergebnis, z.B. R0 Als Maschinenbefehl geschrieben: OR R0,R1
I I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Antivalenz-Verknüpfung / XOR (logische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 XOR I 2. Operand, z.B. R1 I I I I Ergebnis, z.B. R0 Als Maschinenbefehl geschrieben: XOR R0,R1
I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Komplement-Operation / CPL (logische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 CPL Es gibt keinen 2. Operand. Alle Bits des 1. Operanden werden einzeln negiert. (Einer-Komplement) I I I Ergebnis, z.B. R0 Als Maschinenbefehl geschrieben: CPL R0
I I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Additions-Verknüpfung / ADD (arithmetische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 ADD I 2. Operand, z.B. R1 I I I I I Übertrags- Flip-Flop engl. carry (Stelle 28) I I I I Ergebnis, z.B. R0
I I I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Additions-Verknüpfung / ADD (arithmetische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 ADD I 2. Operand, z.B. R1 I I I I I I I I I Ergebnis, z.B. R0 carry Als Maschinenbefehl geschrieben: ADD R0,R1
I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Subraktions-Verknüpfung / SUB (arithmetische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 SUB I 2. Operand, z.B. R1 I I I I Ergebnis, z.B. R0 carry Als Maschinenbefehl geschrieben: SUB R0,R1
I I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Nach links Schiebe-Operation / SHL (arithmetische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 SHL Es gibt keinen 2. Operand. Alle Bits des 1. Operanden werden um eine Stelle nach links verschoben. Das entspricht einer Multiplikation mit 2. I I I I I Ergebnis, z.B. R0 carry Als Maschinenbefehl geschrieben: SHL R0,#1
I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Negation / NEG (arithmetische Operation) 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 NEG Es gibt keinen 2. Operand. Die Zahl wird als Ganzes negiert. Dies entspricht der Subtraktion des 1. Operanden von der nächst runden Binärzahl. (Zweier-Komplement) I - I I I Ergebnis, z.B. R0 carry Als Maschinenbefehl geschrieben: NEG R0
I I I I I I I Beispiele für Verknüpfungsoperationen/Maschinenbefehle 6.2.3 Verarbeitungswerk Beispiele für Verknüpfungsoperationen/Maschinenbefehle (Der Einfachheit halber nur mit 8 Bit.) Transport-Operation / MOV 27 26 25 24 23 22 21 20 Stellenwertigkeit I 1. Operand, z.B. R0 wird nicht verknüpft, sondern nur überschrieben. MOV I 2. Operand, z.B. R1 I I I I I Ergebnis, z.B. R0 carry Als Maschinenbefehl geschrieben: MOV R0,R1
6.2.4 Peripherie- bzw. Zusatzbaugruppen 6 Mikrocontroller in Kraftfahrzeugen 6.1 Grundlagen 6.1.1 Zahlensysteme 6.1.2 Hauptbaugruppen eines Computers 6.1.3 Logische Grundfunktionen 6.2 Mikrocontroller (am Beispiel C167) 6.2.1 Hauptbaugruppen 6.2.2 CPU-Baugruppen 6.2.3 Verarbeitungswerk 6.2.4 Peripherie- bzw. Zusatzbaugruppen - Ports - Analog/Digital-Wandler - Capture/Compare-Einheit
6.2.4 Peripherie- bzw. Zusatzbaugruppen ... internal bis 128 KBytes ROM CPU-CORE 2 KBytes RAM Watchdog PWM PEC Interrupt Controller OSC. Port 1 4 Port 6 Port 5 Port 3 Port 8 Port 7 CAPCOM 1 CAPCOM 2 GPT 2 HSSSI SSC USART ASC0 10-bit ADC external Bus- Controller BRG T2 T4 T3 T5 T6 T 8 7 32 Bit 16 Bit 8 Bit XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor 16 Bit bzw. 16 Leitungen 15 Bit Peripherie- baugruppen 9 Ports mit insgesamt 111 Eingabe- bzw. 95 Ausgabeanschlüssen. Verwendung entweder universell für binäre Ein-/Ausgangssignale, oder im Besonderen für alternative E/A-Signale: - Anschluss externer Speicher (P0, P1,P4, P6); - Zeit bezogene Signale und serielle Schnittstellen (P2, P3, P7, P8); - 16 analoge Signal- eingänge (Port 5). C167 - Blockdiagramm
6.2.4 Peripherie- bzw. Zusatzbaugruppen DPx Px DL x.0 OL x.0 OB Px.0 x = Portnummer 0 ... 8 RB IL x.0 y = Pinnummer für P0, P1, P2, P5 = 0 … 15 für P3 = 0 … 14 für P4, P6, P7, P8 = 0 … 7 DL x.1 OL OB x.1 Px.1 RB IL x.1 DL x.2 OL x.2 OB Px.2 DL = Direction Latch (0=Eing., I = Ausg.) OL = Output Latch IL = Input Latch OB = Output Buffer RB = Read Buffer RB IL x.2 . interner Datenbus . . DL x.y (P5 nur für Eingangssignale) OL x.y OB Px.y RB IL x.y Grundstruktur der Ports in der Funktion für universelle binäre Ein-/Ausgangssignale
6.2.4 Peripherie- bzw. Zusatzbaugruppen ... internal bis 128 KBytes ROM CPU-CORE 2 KBytes RAM Watchdog PWM PEC Interrupt Controller OSC. Port 1 4 Port 6 Port 5 Port 3 Port 8 Port 7 CAPCOM 1 CAPCOM 2 GPT 2 HSSSI SSC USART ASC0 10-bit ADC external Bus- Controller BRG T2 T4 T3 T5 T6 T 8 7 32 Bit 16 Bit 8 Bit XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor 16 Bit bzw. 16 Leitungen 15 Bit Zusatz- baugruppen Analog/Digital-Wandler - 16 Eingänge (alternative Funktion von Port 5) multiplex auf einen Wandler - Auflösung: 10 Bit, d.h. 1024 Quantisierungsstufen - Umsetzzeit: 7,76 µs pro Kanal (bei 25 MHz Takt) C167 - Blockdiagramm
6.2.4 Peripherie- bzw. Zusatzbaugruppen Steuerregister ADCON P5.0 P5.1 P5.2 P5.15 Interrupt MUX UREF (5V) UGND (0V) 215 214 213 212 4 Bit Kanalnummer S&H analog digital Wandlerregister ADDAT 29 28 27 26 25 24 23 22 21 20 10 Bit Wandlerwert Analog/Digital-Wandler
6.2.4 Peripherie- bzw. Zusatzbaugruppen Kanal 2 Steuerregister ADCON P5.0 P5.1 P5.2 P5.15 Interrupt MUX UREF (5V) UGND (0V) 215 214 213 212 4 Bit Kanalnummer 2,0 V S&H analog digital 2,0 V 2,0 V Wandlerregister ADDAT I I 29 28 27 26 25 24 23 22 21 20 10 Bit Wandlerwert Stufe 409 von 1024 Stufen (= 199H) Analog/Digital-Wandler
6.2.4 Peripherie- bzw. Zusatzbaugruppen ... internal bis 128 KBytes ROM CPU-CORE 2 KBytes RAM Watchdog PWM PEC Interrupt Controller OSC. Port 1 4 Port 6 Port 5 Port 3 Port 8 Port 7 CAPCOM 1 CAPCOM 2 GPT 2 HSSSI SSC USART ASC0 10-bit ADC external Bus- Controller BRG T2 T4 T3 T5 T6 T 8 7 32 Bit 16 Bit 8 Bit XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor 16 Bit bzw. 16 Leitungen 15 Bit Zusatz- baugruppen Capture-Compare-Einheiten Jede CC-Einheit umfasst: 2 Basistimer mit jeweils 16 Capture-Compare-Registern (T0/T1 mit CC0 ... CC15 verbunden mit Port 2 in alternativer Funktion bzw. T7/T8 mit CC16 ... CC31 verbunden mit Port 7 u. 8 in altern. Funktion). - In der Capture-Funktion werden Impulsfolgen gemessen. Ports dienen als Eingänge. - In der Compare-Funktion werden Impulsfolgen ausgegeben. Ports dienen als Ausgänge. C167 - Blockdiagramm
6.2.4 Peripherie- bzw. Zusatzbaugruppen interner Rechner- takt Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler I (= FFFAH) I (= FFFFH) I (= FFFDH) I (= FFFCH) I (= FFFBH) I (= FFFEH) usw. Interrupt S Sensor z.B. P2.0 Captureregister z.B.CC0 Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen interner Rechner- takt Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler I (= 0002H) (= 0000H) I (= 0001H) I (= 0003H) Interrupt S Sensor z.B. P2.0 Captureregister z.B.CC0 Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen z.B. 20 MHz 2,5 MHz interner Rechner- takt Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler I (= FFFFH) 8:1 400 ns 65.536 Zählschritte a 400 ns Ein voller Durchlauf dauert 26,2 ms. Interrupt S Sensor z.B. P2.0 Captureregister z.B.CC0 Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen z.B. 20 MHz 2,5 MHz interner Rechner- takt „interne Uhr“ Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler 400 ns 1 2 2 1 Interrupt S Sensor 2 z.B. P2.0 1 Captureregister z.B.CC0 Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen z.B. 20 MHz 2,5 MHz interner Rechner- takt „interne Uhr“ Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler 400 ns 1 2 2 1 Interrupt S Sensor 2 z.B. P2.0 1 Captureregister z.B.CC0 Mit erster Flanke (1) wird aktueller Zählerstand nach CC0 übertragen. Ein Interrupt- programm schreibt unmittelbar danach den Inhalt von CC0 z.B. in das Arbeitsregister R1. Mit nächster Flanke (2) wird akt. Zählerstand wieder nach CCO übertragen und durch Interruptprogramm anschließend z.B. in das Arbeitsregister R2 geschrieben. Eine nachfolgende Subtraktion (SUB R1,R2) ergibt die Zeitdifferenz in Timertakten zwischen den beiden Impulsflanken. Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen z.B. 20 MHz 2,5 MHz interner Rechner- takt „interne Uhr“ Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler I 400 ns 1 2 2 1 Interrupt S Sensor 2 z.B. P2.0 1 Captureregister z.B.CC0 I Beispiel: Flanke 1: T0 CC0 R1, z.B. 4321H bzw. 17.185 Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
6.2.4 Peripherie- bzw. Zusatzbaugruppen z.B. 20 MHz 2,5 MHz interner Rechner- takt „interne Uhr“ Timer- takt Basistimer (16 Bit Abwärts- zähler) z.B. T0 Vorteiler I 400 ns 1 2 2 1 Interrupt S Sensor 2 z.B. P2.0 1 Captureregister z.B.CC0 I Beispiel: Flanke 1: T0 CC0 R1, z.B. 4321H bzw. 17.185 Flanke 2: T0 CC0 R2, z.B. 1234H bzw. 4.660 SUB R1,R2 R1 = 30EDH bzw. 12.525 12.525 x 400 ns = 5.010 µs bzw. 5,01 ms Bei 8 Zähnen eine Umdrehung in 40,08 ms n = 24,5 s-1. Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)