1 Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 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.1 Grundlagen - Zahlensysteme
45
Embed
6 Mikrocontroller in Kraftfahrzeugenwhz-cms-10.zw.fh-zwickau.de/mth/praesentationen/Mikrocontroller im... · 4 Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6 Mikrocontroller
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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.1 Grundlagen - Zahlensysteme
2
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.1 Zahlensysteme
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1 .2 Hauptbaugruppen eines Computers
Einteilung der Speicherschaltkreise:
RAM = Random Access Memory (Schreib-Lese-Speicher)
- dynamischer RAM: Informationsspeicherung in Gate-Kapazität von Ein-Transistor- 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 mit gegenseitiger Verriegelung (Flip-Flop). Koplizierterer Aufbau, geringere Speicherdichte, aber einfache Ansteuerung.
ROM = Read Only Memory (Nur-Lese-Speicher)
ROM PROM
P = programmierbar
EPROM
E = löschbar (erase) durch starkes UV-Licht
EEPROM
EE = elektrisch löschbar
Flash-EPROM
Flash = sehr schnell (blitzartig) elektrisch löschbar
Lese- und Schreibvorgänge im Nanosekunden-Bereich.
Lesevorgänge im Nanosekunden-Bereich, aber Schreibvorgänge im Mikrosekunden-Bereich.
„Gedächtnisverlust“ bei Spannungsausfall.
Information bleibt auch ohne Spannung erhalten.
9
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1 .2 Hauptbaugruppen eines Computers
Neue Speicherschaltkreise – nicht flüchtige RAM (Non-volatile RAM/NVRAM):
2. auf Basis magnetischer (Spin Torque) Effekte – MRAM
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)
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
10
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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
11
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Konjunktion (Und-Funktion / AND):
x1 x2
y
Ersatzschaltbild
I I I
0 I 0
0 0 I
0 0 0
y x2 x1
Wertetabelle Funktionsschaltbild
x1
x2
y&
Disjunktion (Oder-Funktion / OR):
I I I
I I 0
I 0 I
0 0 0
y x2 x1
Wertetabelle
x1
x2
y
Ersatzschaltbild Funktionsschaltbild
x1
x2
y1
12
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Antivalenz (Exklusiv-Oder-Funktion / XOR):
0 I I
I I 0
I 0 I
0 0 0
y x2 x1
Wertetabelle
Negation (Nicht-Funktion / NOT):
0 I
I 0
y x
Wertetabelle
x1 x2
y
Ersatzschaltbild Funktionsschaltbild
x1
x2
y= 1
x
y
Ersatzschaltbild Funktionsschaltbild
X y = x
bzw. y
13
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Konjunktion (Und-Funktion / AND):
x1 x2
y
Ersatzschaltbild
I I I
0 I 0
0 0 I
0 0 0
y x2 x1
Wertetabelle
Konjunktion und Negation (Nicht-Und-Funktion / NOT AND NAND):
0 I I
I I 0
I 0 I
I 0 0
y x2 x1
Wertetabelle Funktionsschaltbild
x1
x2
y&y
Funktionsschaltbild
x1
x2
y&
x1
x2
y
Ersatzschaltbild
x1
x2
y&
Gilt für obere Werte- tabelle.
Gilt für untere Werte- tabelle.
14
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Disjunktion und Negation (Nicht-Oder-Funktion / NOT OR NOR):
0 I I
0 I 0
0 0 I
I 0 0
y x2 x1
Wertetabelle
x1 x2
y
Ersatzschaltbild Funktionsschaltbild
x1
x2
y1
Disjunktion (Oder-Funktion / OR):
I I I
I I 0
I 0 I
0 0 0
y x2 x1
Wertetabelle
x1
x2
y
Ersatzschaltbild Funktionsschaltbild
x1
x2
y1
15
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Antivalenz und Negation Äquivalenz (Nicht-Exklusiv-Oder / XNOR):
y
Ersatzschaltbild
x1 x2
Wertetabelle
I I I
0 I 0
0 0 I
I 0 0
y x2 x1
Funktionsschaltbild
x1
x2
y=
Antivalenz (Exklusiv-Oder-Funktion / XOR):
0 I I
I I 0
I 0 I
0 0 0
y x2 x1
Wertetabelle
x1 x2
y
Ersatzschaltbild Funktionsschaltbild
x1
x2
y= 1
16
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.1.3 Logische Grundfunktionen
Speichereinheit für 1 Bit (am Beispiel D-Flip-Flop)
Funktionsschaltbild Wertetabelle
D Q
vor Taktsignal
Q
nach Takts.
0 ? 0
I
0 0
0
D Q
QC I I
I I I
I 0 0
0 0 0
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.
Daten- eingang
Takt
Daten- Ausgang
negierter Daten- Ausgang
17
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 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
Flip-Flop
1 Bit
Flip-Flop
1 Bit
Flip-Flop
1 Bit
Flip-Flop
1 Bit
Flip-Flop
1 Bit
Flip-Flop
1 Bit
Flip-Flop
1 Bit Register
27 26 25 24 23 22 21 20 Stellen- wertigkeit
Rechner verfügen über mehrere dieser Register. Sie werden z.B. mit R0, R1, R2 usw. bezeichnet.
In Rechnern mit größerer Verarbeitungsbreite haben die Register entsprechend mehr Flip-Flops (16/32/64 Bit).
Register dienen zur unmittelbaren Bereitstellung der zu verknüpfenden Informationen, den sogenannten Operanden. Nach einer Rechenoperation nehmen sie das Ergebnis wieder auf.
18
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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)
19
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.1 C167 - Hauptbaugruppen
C167 - Blockdiagramm
Zentrale Recheneinheit
Speicher
Zusatz- baugruppen
Peripherie- baugruppen
...
internal
bis 128 KBytes
ROM
CPU-CORE
internal
2 KBytes
RAM
Watchdog PWM
PEC
Interrupt Controller
OSC.
Port
1
Port
0
Port
4 Port 6 Port 5 Port 3 Port 8 Port 7
CAPCOM 1
CAPCOM 2
GPT 1
GPT 2
HSSSI SSC
USART ASC0
10-bit ADC external
Bus- Controller
BRG BRG
T2
T4
T3 T5
T6 ... T
8 T 7
... T 1
T 0
32 Bit
16 Bit
16 Bit
16 Bit
16 Bit
16 Bit
8 Bit
16 Bit 16 Bit
Port
2 16 Bit
XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor
8 Bit 16 Bit bzw. 16 Leitungen 15 Bit 8 Bit 8 Bit
20
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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
21
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.2 CPU-Baugruppen
Mul./Div. Unit
Bit-Mask- Gen.
MDH
MDL
R15
R0
General Purpose Registers
Special Function Registers 240 Words
2 KBytes RAM
128 KBytes ROM
32 Bit
16 Bit
16 Bit
16 Bit
SP
STKOV
STKUN
Exec.Unit
Instr.Ptr.
Instr.Reg.
4-Stage
Pipeline
PSW
SYSCON
Data Page Pointer
Code Seg. Pointer
Context Ptr.
ALU
16 Bit
Barrel- Shifter
C P U
Zentrale Recheneinheit des C167 mit den Baugruppen:
- 16 Bit Verarbeitungswerk (ALU) mit leistungsfähigem Befehlssatz,
ergänzt um: - 16/32 Bit Multiplikations-/Divisionseinheit;
- Bit-Masken-Generator zur erweiterten Einzelbitverarbeitung;
- variables Schieberegister (Barrelshifter).
22
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.2 CPU-Baugruppen
Mul./Div. Unit
Bit-Mask- Gen.
MDH
MDL
R15
R0
General Purpose Registers
Special Function Registers 240 Words
2 KBytes RAM
128 KBytes ROM
32 Bit
16 Bit
16 Bit
16 Bit
SP
STKOV
STKUN
Exec.Unit
Instr.Ptr.
Instr.Reg.
4-Stage
Pipeline
PSW
SYSCON
Data Page Pointer
Code Seg. Pointer
Context Ptr.
ALU
16 Bit
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.)
23
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
Die Arbeitsregister werden aus dem internen RAM gespiegelt. Dabei enthält der Context-Pointer die Basisadresse (R0) der Registerbank im RAM.
6.2.2 CPU-Baugruppen
Mul./Div. Unit
Bit-Mask- Gen.
MDH
MDL
R15
R0
General Purpose Registers
Special Function Registers 240 Words
2 KBytes RAM
128 KBytes ROM
32 Bit
16 Bit
16 Bit
16 Bit
SP
STKOV
STKUN
Exec.Unit
Instr.Ptr.
Instr.Reg.
4-Stage
Pipeline
PSW
SYSCON
Data Page Pointer
Code Seg. Pointer
Context Ptr.
ALU
16 Bit
Barrel- Shifter
C P U
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.
24
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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.3 Verarbeitungswerk
25
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Mul./Div. Unit
Bit-Mask- Gen.
MDH
MDL
R15
R0
General Purpose Registers
Special Function Registers 240 Words
2 KBytes RAM
128 KBytes ROM
32 Bit
16 Bit
16 Bit
16 Bit
SP
STKOV
STKUN
Exec.Unit
Instr.Ptr.
Instr.Reg.
4-Stage
Pipeline
PSW
SYSCON
Data Page Pointer
Code Seg. Pointer
Context Ptr.
ALU
16 Bit
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.
26
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Verarbeitunswerk ALU
1. Operand 2. Operand
Ergebnis
Ergebnis = 1. Operand verknüpft mit 2. Operand
z.B. R0 z.B. R1
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.
z.B. R0 = R0 verknüpft mit R1
Eine Verknüpfungsoperation entspricht genau einem sog. Maschinenbefehl.
27
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Und-Verknüpfung / AND (logische Operation)
0 I I I 0 I 0 I
AND
1. Operand, z.B. R0
2. Operand, z.B. R1
Ergebnis, z.B. R0 0 0 I 0 I I 0 0
Als Maschinenbefehl geschrieben: AND R0,R1
27 26 25 24 23 22 21 20 Stellenwertigkeit
28
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Oder-Verknüpfung / OR (logische Operation)
0 I I I 0 I 0 I
OR
1. Operand, z.B. R0
2. Operand, z.B. R1
Ergebnis, z.B. R0 I I I 0 I I I I
Als Maschinenbefehl geschrieben: OR R0,R1
27 26 25 24 23 22 21 20 Stellenwertigkeit
29
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Antivalenz-Verknüpfung / XOR (logische Operation)
0 I I I 0 I 0 I
XOR
1. Operand, z.B. R0
2. Operand, z.B. R1
Ergebnis, z.B. R0 I I 0 0 0 0 I I
Als Maschinenbefehl geschrieben: XOR R0,R1
27 26 25 24 23 22 21 20 Stellenwertigkeit
30
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Komplement-Operation / CPL (logische Operation)
CPL
1. Operand, z.B. R0
Ergebnis, z.B. R0 I 0 0 I 0 0 I 0
Als Maschinenbefehl geschrieben: CPL R0
27 26 25 24 23 22 21 20 Stellenwertigkeit
Es gibt keinen 2. Operand. Alle Bits des 1. Operanden werden einzeln negiert. (Einer-Komplement)
31
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Subraktions-Verknüpfung / SUB (arithmetische Operation)
0 I I I 0 I 0 I
SUB
1. Operand, z.B. R0
2. Operand, z.B. R1
Ergebnis, z.B. R0 I 0 0 0 0 0 I 0
Als Maschinenbefehl geschrieben: SUB R0,R1
27 26 25 24 23 22 21 20 Stellenwertigkeit
I I
carry
0
33
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Nach links Schiebe-Operation / SHL (arithmetische Operation)
SHL
1. Operand, z.B. R0
Ergebnis, z.B. R0 0 0 I I 0 I I 0
Als Maschinenbefehl geschrieben: SHL R0,#1
27 26 25 24 23 22 21 20 Stellenwertigkeit
carry
I
Es gibt keinen 2. Operand. Alle Bits des 1. Operanden werden um eine Stelle nach links verschoben.
Das entspricht einer Multiplikation mit 2.
34
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Negation / NEG (arithmetische Operation)
NEG
1. Operand, z.B. R0
Ergebnis, z.B. R0 0 I 0 I 0 0 I 0
Als Maschinenbefehl geschrieben: NEG R0
27 26 25 24 23 22 21 20 Stellenwertigkeit
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)
carry
0
I 0 0 0 0 0 0 0 0
- I 0 I I 0 I I 0
35
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.3 Verarbeitungswerk
Beispiele für Verknüpfungsoperationen/Maschinenbefehle
(Der Einfachheit halber nur mit 8 Bit.)
I 0 I I 0 I I 0
Transport-Operation / MOV
0 I I I 0 I 0 I
MOV
1. Operand, z.B. R0
2. Operand, z.B. R1
Ergebnis, z.B. R0 I 0 I 0 I I I 0
Als Maschinenbefehl geschrieben: MOV R0,R1
27 26 25 24 23 22 21 20 Stellenwertigkeit
carry
wird nicht verknüpft, sondern nur überschrieben.
36
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik
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
37
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
C167 - Blockdiagramm
Peripherie- baugruppen
...
internal
bis 128 KBytes
ROM
CPU-CORE
internal
2 KBytes
RAM
Watchdog PWM
PEC
Interrupt Controller
OSC.
Port
1
Port
0
Port
4 Port 6 Port 5 Port 3 Port 8 Port 7
CAPCOM 1
CAPCOM 2
GPT 1
GPT 2
HSSSI SSC
USART ASC0
10-bit ADC external
Bus- Controller
BRG BRG
T2
T4
T3 T5
T6 ... T
8 T 7
... T 1
T 0
32 Bit
16 Bit
16 Bit
16 Bit
16 Bit
16 Bit
8 Bit
16 Bit 16 Bit
Port
2 16 Bit
XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor
8 Bit 16 Bit bzw. 16 Leitungen 15 Bit 8 Bit 8 Bit
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).
38
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
DPx Px DL x.0 OL
x.0
OL x.1
OL x.2
OL x.y
IL x.0
IL x.1
IL x.2
IL x.y
DL x.1
DL x.2
DL x.y
OB
OB
OB
OB
RB
RB
RB
RB
.
.
.
Grundstruktur der Ports in der Funktion für universelle binäre Ein-/Ausgangssignale
x = Portnummer 0 ... 8
y = Pinnummer für P0, P1, P2, P5 = 0 … 15 für P3 = 0 … 14 für P4, P6, P7, P8 = 0 … 7
DL = Direction Latch (0=Eing., I = Ausg.)
OL = Output Latch IL = Input Latch OB = Output Buffer RB = Read Buffer
(P5 nur für Eingangssignale)
interner Datenbus
Px.0
Px.1
Px.2
Px.y
39
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
C167 - Blockdiagramm
Zusatz- baugruppen
...
internal
bis 128 KBytes
ROM
CPU-CORE
internal
2 KBytes
RAM
Watchdog PWM
PEC
Interrupt Controller
OSC.
Port
1
Port
0
Port
4 Port 6 Port 5 Port 3 Port 8 Port 7
CAPCOM 1
CAPCOM 2
GPT 1
GPT 2
HSSSI SSC
USART ASC0
10-bit ADC external
Bus- Controller
BRG BRG
T2
T4
T3 T5
T6 ... T
8 T 7
... T 1
T 0
32 Bit
16 Bit
16 Bit
16 Bit
16 Bit
16 Bit
8 Bit
16 Bit 16 Bit
Port
2 16 Bit
XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor
8 Bit 16 Bit bzw. 16 Leitungen 15 Bit 8 Bit 8 Bit
Analog/Digital-Wandler
- 16 Eingänge (alternative Funktion von Port 5) multiplex auf einen Wandler
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
MUX
29 28 27 26 25 24 23 22 21 20
10 Bit Wandlerwert
Wandlerregister ADDAT
S&H analog
digital
Steuerregister ADCON
215 214 213 212
4 Bit Kanalnummer
UREF (5V)
UGND (0V)
Interrupt P5.0
P5.1
P5.2
P5.15
Analog/Digital-Wandler
2,0 V
Kanal 2
2,0 V 2,0 V
I 0 0 0 I 0 0 0 0 0 I I I I
Stufe 409 von 1024 Stufen
(= 199H)
41
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
C167 - Blockdiagramm
Zusatz- baugruppen
...
internal
bis 128 KBytes
ROM
CPU-CORE
internal
2 KBytes
RAM
Watchdog PWM
PEC
Interrupt Controller
OSC.
Port
1
Port
0
Port
4 Port 6 Port 5 Port 3 Port 8 Port 7
CAPCOM 1
CAPCOM 2
GPT 1
GPT 2
HSSSI SSC
USART ASC0
10-bit ADC external
Bus- Controller
BRG BRG
T2
T4
T3 T5
T6 ... T
8 T 7
... T 1
T 0
32 Bit
16 Bit
16 Bit
16 Bit
16 Bit
16 Bit
8 Bit
16 Bit 16 Bit
Port
2 16 Bit
XBUS-Module Full-CAN-Modul Fuzzy- Coprocessor
8 Bit 16 Bit bzw. 16 Leitungen 15 Bit 8 Bit 8 Bit
Capture-Compare-Einheiten
Jede CC-Einheit umfasst: - 2 Basistimer mit jeweils 16 Capture-Compare-Registern
- In der Capture-Funktion werden Impulsfolgen gemessen. Ports dienen als Eingänge.
- In der Compare-Funktion werden Impulsfolgen ausgegeben. Ports dienen als Ausgänge.
(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).
42
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
Captureregister z.B.CC0
S
Vorteiler
interner Rechner-
takt Timer- takt Basistimer
(16 Bit Abwärts- zähler) z.B. T0
Interrupt
Sensor z.B. P2.0
I I I I I I I I I I I I I I I I
(= FFFFH) 65.536 Zählschritte
z.B. 20 MHz
8:1
2,5 MHz
400 ns
a 400 ns
Ein voller Durchlauf dauert 26,2 ms.
Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
43
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
Captureregister z.B.CC0
S
Vorteiler
interner Rechner-
takt Timer- takt Basistimer
(16 Bit Abwärts- zähler) z.B. T0
Interrupt
Sensor z.B. P2.0
1 2
1 2
1 2
z.B. 20 MHz 2,5 MHz
400 ns
„interne Uhr“
Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
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.
44
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
Captureregister z.B.CC0
S
Vorteiler
interner Rechner-
takt Timer- takt Basistimer
(16 Bit Abwärts- zähler) z.B. T0
Interrupt
Sensor z.B. P2.0
1 2
1 2
1 2
z.B. 20 MHz 2,5 MHz
400 ns
„interne Uhr“
Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
Flanke 1: T0 CC0 R1, z.B. 4321H bzw. 17.185
0 0 I I 0 I 0 0 0 0 I 0 0 0 0 I
0 0 I I 0 I 0 0 0 0 I 0 0 0 0 I
Beispiel:
45
Prof. Dr.-Ing. M. Thein Kraftfahrzeug-Elektrik/Elektronik 6.2.4 Peripherie- bzw. Zusatzbaugruppen
Captureregister z.B.CC0
S
Vorteiler
interner Rechner-
takt Timer- takt Basistimer
(16 Bit Abwärts- zähler) z.B. T0
Interrupt
Sensor z.B. P2.0
1 2
1 2
1 2
z.B. 20 MHz 2,5 MHz
400 ns
„interne Uhr“
Capture-Compare-Einheit in der Funktion Messen von Impulsfolgen (Capture)
Flanke 1: T0 CC0 R1, z.B. 4321H bzw. 17.185
0 0 0 I 0 I I 0 I 0 0 I 0 0 0 0
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.