mc - HIT Karlsruhe

Werbung
mc
Aufbau von µ-Controllern der 8051-Familie
Folien Kapitel 3
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 1
mc
Logisches Symbol des 8051
V SS
V CC
XTAL1
XTAL2
RST/V
PD
/EA
RxD
TxD
/INT0
/INT1
T0
T1
/W R
/RD
Prof. J. WALTER








Kurstitel Stand: März 2004


/PSEN

ALE

Port 3








8051








Port 0








Port 1








Port 2








Adress- und
Datenbus








Adressbus
Seite 2
mc
Tabelle 3.1 Pin-Definitionen und Funktionen DIL-Ver.
Symbol
Pin
Vss
20
O-Potential - Digitale Masse
Vcc
40
+5V Spannungsversorgung
XTAL1
19
Eingang zum Oszillatorverstärker. Wird gebraucht, wenn ein Quarz benutzt wird. Wird mit Vss
verbunden, wenn eine externe Quelle an XTAL2 benutzt wird.
XTAL2
18
Ausgang vom Oszillatorverstärker. Eingang zum internen Timing-Teil. Ein Quarz oder eine
externe Quelle kann benutzt werden.
RST/VPD
9
I
Reset - Ein 1-Pegel setzt den Baustein zurück. Ein kleiner, interner Pulldown-Widerstand
erlaubt beim Einschalten ein Reset nur durch Zuschalten eines einfachen Kondensators.
Weiterhin kann der VVPD zum Steuern von standby power verwendet werden.
/EA
31
I
Bei 0-Pegel holt der 8051 alle Instruktionen vom externen Programmspeicher. Bei 1-Pegel bis
zu den Adressen 4096, d.h. die unteren 2KByte vom internen Speicher.
/PSEN
29
O
ALE
30
O
Program Storage Enable. Ist ein zum Controlbus gehöriges Signal für den externen
Programmspeicherzugriff. Es wird alle 6 Oszillatorperioden aktiviert. Es bleibt auf 1-Pegel,
wenn interner Programmspeicherzugriff erfolgt.
Dient zur Steuerung des externen Adresslatches für das zeitliche Demultiplexen der Daten
und Adressen. Es wird alle 6 Oszillatorperioden bei externem Speicherzugriff aktiviert.
P0.0-P0.7
39-32
I/O
Port 0 ist ein bidirektionaler open drain I/O Port. Wird auch für die Adressen und Daten
verwendet bei der zweiten Betriebsart.
P1.0-P1.7
1-8
I/O
Ist ein 8-Bit quasibidirektionaler Ein-, Ausgangsport.
P2.0-P2.7
21-28
I/O
Ist ein 8-Bit quasibidirektionaler Ein-, Ausgangsport. In der zweiten Betriebsart stellt er die
oberen acht Bit der Adressen zur Verfügung.
P3.0-P3.7
10-17
I/O
Ist ein 8-Bit quasibidirektionaler Ein-, Ausgangsport. In der zweiten Betriebsart stellt er
wichtige alternative Funktionen zur Verfügung.
Prof. J. WALTER
Input I
Output O
Kurstitel Stand: März 2004
Funktionen
Seite 3
mc
Bild 3.2. Prinzipieller Aufbau eines 8051-Ports
Read
Latch
interner
Bus
Write
Latch
D
Port
CLK Latch
Q
Port
/Q
Treiber
Read
Pin
im Baustein
Prof. J. WALTER
Kurstitel Stand: März 2004
Port
Pin
außerhalb
Seite 4
mc
Bild 3.3. Datenweg: Zustand des Port-Pins lesen
Read
Latch
gesperrt
interner
Bus
Write
Latch
Read
Pin
freigegeben
Prof. J. WALTER
Kurstitel Stand: März 2004
D
Port
CLK Latch
Q
Port
/Q
Treiber
im Baustein
Port
Pin
außerhalb
Seite 5
mc
Bild 3.4. Datenweg: Pin beschreiben mit Speichern
Read
Latch
gesperrt
interner
Bus
Write
Latch
Read
Pin
gesperrt
Prof. J. WALTER
Kurstitel Stand: März 2004
D
Port
CLK Latch
Q
Port
/Q
Treiber
im Baustein
Port
Pin
außerhalb
Seite 6
mc
Bild 3.5. Zustand des Port-Latches lesen
Read
Latch
freigegeben
interner
Bus
Write
Latch
Read
Pin
gesperrt
Prof. J. WALTER
Kurstitel Stand: März 2004
Q
D
Port
Port
CLK Latch
/Q
Treiber
im Baustein
Port
Pin
außerhalb
Seite 7
mc
Bild 3.6. Aufbau des Treiberbausteins Port 1 bis 5
Read
Latch
VCC
ca.
50k
interner
Bus
Write
Latch
D
Port
CLK Latch
Q
Port
Pin
/Q
n
1
VDD
Read
Pin
im Baustein
Prof. J. WALTER
Kurstitel Stand: März 2004
außerhalb
Seite 8
mc
Bild 3.7. Funktionsweise der FET’s im Controller
+5V
0
Ausgang
Eingang
D
G
A
Kurstitel Stand: März 2004
1
0
1
S
0V
Prof. J. WALTER
+5V
+5V
0V
B
0V
C
Seite 9
mc
Bild 3.8.
Port 0 als Adressausgang mit 0-Pegel am Ausgang
Address Data
VCC
Control
0
Read
Latch
interner
Bus
Write
Latch
1
0 sperrt
&
D
Q
Port
CLK Latch
/Q
P0.x
Pin
1
1
MUX
0
leitend
n1
VDD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
im Baustein
außerhalb
Seite 10
mc
Bild 3.9.
Port 0 als Adressausgang mit 1-Pegel am Ausgang
Address Data
VCC
Control
1
Read
Latch
interner
Bus
Write
Latch
1
&
D
Port
CLK Latch
1 leitend
Q
0
0 sperrt
/Q
MUX
P0.x
Pin
1
n1
VDD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
im Baustein
außerhalb
Seite 11
mc
Bild 3.10. Port 0 als Datenausgang mit 0-Pegel
Address Data
V
CC
Control
X
Read
Latch
interner
Bus
Write
Latch
0
&
0
0
D
0 sperrt
Q
Port
CLK
Latch /Q
X
1
MUX
P0.x
Pin
0
leitend
n1
V
DD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
im Baustein
außerhalb
Seite 12
Bild 3.11. Port 0 als Datenausgang mit 1-Pegel am
Ausgang
mc
Address Data
VCC
Control
x
Read
Latch
interner
Bus
0
&
1
1
Write
Latch
D
Port
CLK Latch
0 sperrt
Q
x
0 sperrt
/Q
MUX
P0.x
Pin
n1
1
float
V
DD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
im Baustein
außerhalb
Seite 13
mc
Bild 3.12. Port 1 als bidirektionaler Port mit internem
Pull-up Widerstand
Read
Latch
VCC
ca.
50 K
interner
Bus
Write
Latch
D
Q
Port
CLK Latch
/Q
P1.x
Pin
n
1
VDD
Read
Pin
im Baustein
Prof. J. WALTER
Kurstitel Stand: März 2004
außerhalb
Seite 14
Bild 3.13. Port 2 als bidirektionaler Port mit internem
Pull-up-Widerstand
mc
V
CC
Address Data
Read
Latch
Control
MUX
interner
Bus
Write
Latch
D
Port
CLK Latch
Q
/Q
P2.x
Pin
n
1
V
DD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
im Baustein
außerhalb
Seite 15
Bild 3.14.
Port 3 als bidirektionaler Port mit Alternate Functions
mc
Alternate
Output
Function
1
Read
Latch
VCC
Control
MUX
interner
Bus
Write
Latch
D
Port
CLK Latch
P3.x
Pin
Q
&
/Q
VDD
Read
Pin
Prof. J. WALTER
Kurstitel Stand: März 2004
Alternate
Input
Function
im Baustein
außerhalb
Seite 16
mc
Tabelle 3.2. Alternative Funktionen an Port 3
Port
Pin
Bezeichnun Ein-,
g
Ausgang
Alternative
Funktionen
P3.0
RxD
Eingang
serieller Empfang
P3.1
TxD
Ausgang
serielles Senden
P3.2
/INT0
Eingang
Interrupt 0
P3.3
/INT1
Eingang
Interrupt 1
P3.4
T0
Eingang
Timer 0
P3.5
T1
Eingang
Timer 1
P3.6
/WR
Ausgang
externes
Schreibsignal
P3.7
/RD
Ausgang
externes Lesesignal
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 17
mc
Bild 3.15 Blockdiagramm 8051 – 8051A
Counters
Frequency Reference
Oscillator
&
Timing
4096 Byte
128 Byte
Program Memory
8051A only
Data Memory
64 KByte Bus
Expander
Programmable
Two 16-Bit
Timer/Event
Counters
8051
CPU
Control
I/O
Program m able
Serial port
Full duplex UART
Synchronous Shifter
Interrupts
Interrupts
Parallel Ports
Adress Data Bus
Serial Serial
IN
OUT
and I/O Pins
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 18
mc
Verfeinertes Blockdiagramm des 8051 –8051A
4Kx8
RAM
Adressen
Dekodierer
Akkumulator
Temporäres
Register
128x8
RAM-Adressen
Dekodierer
ROM
PCH
PCL
RAM
Programm
Statuswort
DPH
DPL
Befehlsdecoder
B-Register
Stack
Pointer
Port 2
IE
IP
UnterbrechungsSteuerung
Port 0
Arithmetisch
SCON
logische
SBUF(Senden)
Temporäres
Register
Einheit
SBUF(Empfang)
Serielles
Port
Port 1
Steuersignale
TCON
TMOD
TL0
Oszillator
Steuerlogik
TH0
TL1
TH1
XTAL1
XTAL2
/EA
ALE
/PSEN
RST
VPD
Prof. J. WALTER
Kurstitel Stand: März 2004
Zähler/Zeitgeb.
Statuswort
Steuerung
Port 3
Seite 19
mc
Prof. J. WALTER
Verwendete Abkürzungen im verfeinerten Blockbild des
8051
Kurstitel Stand: März 2004
Seite 20
mc
Tabelle 3.4. Port 3 Alternative Funktionen
Pin
Bedeutung
RxD
serieller Empfang
TxD
serielles Senden
/INT0
Interrupt 0
/INT1
Interrupt 1
T0
Timer 0
T1
Timer 1
/WR
externes Schreibsignal
/RD
externes Lesesignal
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 21
mc
Bild 3.17. Klassischer Aufbau eines Digitalrechners
¯ ¯ ¯ ¯ ¯ ¯
Eingabeeinheit
- - - - - - Ausgabeeinheit
Leitwerk
Rechenwerk
Speicher
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 22
mc
Bild 3.18. Verfeinertes Blockdiagramm des 8051 mit
Zuordnungen zu den Einheiten eines Digitalrechners
4Kx8
RAM
Adressen
Dekodierer
Akkumulator
Temporäres
Register
128x8
RAM
ROM
RAM-Adres.
Dekodierer
PCH DPH
PCL
DPL
Programm
Statusw ort
B-Register
Bef ehlsdecoder
Stack
Pointer
Port 2
IE
IP
Unterbrech.Steuerung
Port 0
Arithmet.
SCON
logische
SBUF(Senden)
Temporäres
Register
Einheit
SBUF(Empfang)
Serielles
Port
Port 1
Ste ue rs ignale
TCON
TMOD
TL0
Oszillator
Steuerlogik
TH0
TL1
TH1
XTAL1
Prof. J. WALTER
XTAL2
Kurstitel Stand: März 2004
/EA
ALE
/PSEN RST
VPD
Zähler/
Zeitgeber
Statuswort
Port 3
Seite 23
mc
Bild 3.19. 80C535 Erweiterungen
Interrupt
System
ROM
RAM
80C51
Kern
Sieben
Ports
Prof. J. WALTER
Kurstitel Stand: März 2004
Watchdog
Timer
Timer 2
mit
PWM
A/D
Wandler
Seite 24
Bild 3.20. 80C515 / 80535 Blockdiagramm (grau zum 8051 zusätzliche Einheiten)
mc
8K x 8
Oscillator
&
Timing
VARef
Counters
Frequency Reference
ROM
80C515A only
256x8
Data Memory
Two 16-Bit
Timer/Event
Counters
Timer 2
Compare/
Capture
Register
Watchdog
VAGND
Progr. Ref.
Spannung
80C51
CPU
5
7
64 KByte Bus
Expanter
Control
Interrupts
Interrupts
Prof. J. WALTER
Kurstitel Stand: März 2004
Programmable
I/O
P0 P1 P2 P3
Programmable
Serial port
UART
Synchronous Shifter
Baudraten
Generator
Parallel Ports
Adress Data Bus Serial Serial
IN OUT
and I/O Pins
A/D
P4
P5
S&H
MUX
P6
Seite 25
mc
Bild 3.21. Adressbereiche 8051 mit den Befehlen zum
Ansprechen
Adressbereiche
Programmspeicher
intern
/EA=1 und
Adresse <1000H
extern
MOV A,@RO
Kurstitel Stand: März 2004
intern
extern
/RD-/WR-Signal aktiv
/PSEN aktiv
obere 128 Bytes
Prof. J. WALTER
Datenspeicher
MOVX A,@DPTR
untere 128 Bytes
MOV A,@RO
MOV A,RO
SFR
MOV A,PSW
Seite 26
Bild 3.22. Von-Neumann-Architektur - HarvardArchitektur
mc
Speicher
Adressen
Daten
Programm
Programm
Daten
Programm
Daten
Programm
Adressen
CPU
Daten
Daten
Adressen
Peripherie
Daten
Prof. J. WALTER
Kurstitel Stand: März 2004
Adressen
Datenspeicher
Daten
Adressen
Programm
speicher
Daten
Adressen
CPU
Daten
Adressen
Peripherie
Daten
Seite 27
mc
Bild 3.24. Erzeugen der Von-Neumann-Architektur
/PSEN
/RD
0
0
Prof. J. WALTER
/OE
0
1
0
0
1
0
0
1
1
1
Kurstitel Stand: März 2004
vom Prozessor
RAM
/PSEN
/RD
&
/OE
Seite 28
mc
Bild 3.25. Bedeutung der Signalformen
Signalform
Prof. J. WALTER
Kurstitel Stand: März 2004
Eingang
Ausgang
Muß stabil sein
Muß stabil sein
Kann von "1" nach
"0"wechseln
Kann von "1" nach
"0"wechseln
Kann von "0" nach
"1"wechseln
Kann von "0" nach
"1"wechseln
nicht beachten
Jeder Wechsel erlaubt
Wechselt
Zustand nicht bekannt
macht keinen
Sinn
Mittellinie bedeutet
"kein hochohmiger Zustand"
Seite 29
mc
Bild 3.26. Prinzip für Lesen des Programmspeichers
Übernahme der Instruktion
aus dem Programmspeicher
PSEN
vom Controller
Daten
vom EPROM
A dresse
vom Controller
Prof. J. WALTER
Kurstitel Stand: März 2004
Instr. N
A 0-A 15
Seite 30
mc
Bild 3.27. Programmspeicher lesen ohne MultiplexVerfahren
Übernahme der Instruktion
aus dem Programmspeicher
t PLIV
PSEN
vom Controller
t P X IZ
Daten
vom EPROM
Adresse
vom Controller
Prof. J. WALTER
Kurstitel Stand: März 2004
Instr. N
t AVIV
A0-A15
Seite 31
mc
Bild 3.28. Programmspeicher lesen vereinfacht
ALE
t LLIV
t PLIV
PSEN
t PXIZ
Port 0
A0-A7
Instr. N
A0-A7
t AVIV
Port 2
Prof. J. WALTER
Kurstitel Stand: März 2004
A8-A15
Seite 32
mc
Bild 3.29. Blockbild für einfache Timingberechnungen
Port 0
74HC573
Low-Byte-Adresse / Datum
ALE
AdressLatch
Low-Byte-Adresse
Eprom
LE
50
11
Port 2
TMS
High-Byte-Adresse
20
80535
/PSEN
27128JL-25
49
22
/CE
/OE
Port 3
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 33
mc
Bild 3.30. Programmspeicher Lesezugriff vollständig
t LHLL
ALE
t AVLL
t PLPH
t LLPL
t LLIV
t PLIV
PSEN
t PXAV
t PXIZ
t AZPL
t LLAX
Port 0
A0-A7
t
PXIX
Instr. N
A0-A7
t AVIV
Port 2
Prof. J. WALTER
Kurstitel Stand: März 2004
A8-A15
Seite 34
Bild 3.31. Zeitbedingungen für EPROM und 80C535 in
einem Signal-Zeit-Diagramm
mc
Hier übernimmt der Controller die Instruktion
Hier könnte der Controller die Instruktion
übernehmen
Tpr op
(tACC)
ADDR:
TAV IV
P0:
INSTR.
PCL
TLLIV
ALE:
Prof. J. WALTER
Kurstitel Stand: März 2004
tDF
(tCE)
TPLIV
/PSEN
PCL
TPXIZ
tDF
(tOE)
Seite 35
mc
Die vier wichtigsten Überprüfungen im Timing
TAVIV - TPROP > tACCSpeicherzugriffszeit
Prof. J. WALTER
Kurstitel Stand: März 2004
TLLIV > tCE
Chipauswahl
TPLIV > tOE
Daten auf Datenbus
TPXIZ > tDF
Datenbus freigeben
Seite 36
Tabelle 3.6. Timing-Werte für Controller 80C535 und
EPROM
mc
Symbol
Parameter
(tACC)
Access time Eprom
250
ns
TAVIV
Adress to valid instruction in
302
ns
(tCE)
/CE to Output Valid
250
ns
TLLIV
ALE to valid instruction in
233
ns
(tOE)
/OE To Output Valid
70
ns
TPLIV
/PSEN to valid instruction in
150
ns
(tDF)
Output in High-Z
60
ns
TPXIZ
Input instruction float after /PSEN
63
ns
Prof. J. WALTER
Kurstitel Stand: März 2004
min
12MHz
max
Ein12MHz heit
Seite 37
mc
Bild 3.32. Vor und nach der Adreßspiegelung
Vor Adreßspiegelung
0000H
Nach Adreßspiegelung
0000H
RAM
ROM
bzw.
EPROM
7FFFH
8000H
7FFFH
8000H
ROM
bzw.
EPROM
RAM
FFFFH
Prof. J. WALTER
Kurstitel Stand: März 2004
FFFFH
Seite 38
mc
A 15
Bild 3.33. Zustand nach dem Einschalten oder Reset
0
0
CE Rom
0
PSEN
3
CE Ram
1
RS Tast
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 39
mc
A 15
Bild 3.34. Zustand bei Zugriff auf Adresse > 8000H
1
1
1
0  1
1
PSEN
CE Rom
0
1
0
1
CE Ram
1
RS Tast
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 40
Bild 3.35. Funktionsweise - Timing für
Adressumschaltung (nicht zeitgetreu)
mc
D=A15
/PSEN
Q=NORE
CLK=NORA
/Q
/CE ROM
/CE RAM
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 41
mc
Bild 3.36. Blockbild für Timingberechnungen am RAM
Port 0
7 4 H C T5 7 3
Low-Byte-Adresse / Datum
ALE
AdressLatch
Low-Byte-Adresse
RAM
LE
50
11
Port 2
High-Byte-Adresse
20
80535
Port 3 /WR
/RD
62256A-10L
27
22
/CS
/WE
/OE
27
28
Prof. J. WALTER
Kurstitel Stand: März 2004
Seite 42
mc
Bild 3.37. Signal-Zeit Diagramm für Datenspeicher
lesen am 80C535
t
WHLH
ALE
PSEN
t
LLDV
tLLW L
t
RLRH
RD
t RLDV
t
AVLL
t RHDZ
t
LLAX2
t RHDX
t RLAZ
Port 0
A0-A7 from
Ri or DPL
Data IN
A0-A7
from PCL
Instr.
IN
t
AVW L
AVDV
Port2
Prof. J. WALTER
P2.0-P2.7 or A8-A15 from DPH
Kurstitel Stand: März 2004
A8 - A15 from PCH
Seite 43
Tabelle 3.7. Wichtigste Timing-Werte für Controller
80C535 externer Datenspeicher lesen (Datenbuch
Siemens 80C535 )
mc
Symbol
Parameter
TAVDV
Adress to valid data in
585
ns
TLLDV
ALE to valid data in
517
ns
TRLDV
/RD to valid data in
252
ns
TRHDZ
DATA float after /RD
97
ns
Prof. J. WALTER
Kurstitel Stand: März 2004
min
12MHz
max
Ein12MHz heit
Seite 44
Tabelle 3.8. Wichtigste Timing-Werte für den RAMSpeicher 55257 AFL-10 (Baugleich mit 62256A-10L)
sind ( Datenbuch Toshiba MOS Memory)
mc
Symbol
Parameter
(tACC)
Access time RAM
100
ns
(tCE)
/CE to Output Valid
100
ns
(tOE)
/OE To Output Valid
50
ns
(tOD)
Output in High-Z
50
ns
Prof. J. WALTER
Kurstitel Stand: März 2004
min
12MHz
max
Ein12MHz heit
Seite 45
mc
Bild 3.38. Schaltungsteil zur Erzeugung der VonNeumann-Architektur
Vcc
J4
3
>
=
PSEN 2
1
1
>
=
RD
Prof. J. WALTER
Kurstitel Stand: März 2004
>
=
1
OE RAM
1
Seite 46
mc
Bild 3.39. Zustand bei Zugriff auf Adresse > 8000h
RD
PSEN
OE RAM
Fall 1
Prof. J. WALTER
Kurstitel Stand: März 2004
Fall 2
Seite 47
mc
Bild 3.40. Signal-Zeit-Diagramm für Datenspeicher
schreiben am 80C535
t AVLL
t WHLH
ALE
PSEN
t WLWH
t LLWL
WR
t QVWX
t AVLL
t WHQX
t LLAX2
PORT 0
A0-A7 from
Ri or DPL
t QVWI
Data OUT
A0-A7
from PCL
Instr. IN
t AVWL
PORT 2
Prof. J. WALTER
P2.0-P2.7 or A8 - A15 from DPH
Kurstitel Stand: März 2004
A8 - A15 from PCH
Seite 48
Tabelle 3.9. Wichtigste Timing-Werte für Controller
80C535 externer Datenspeicher schreiben
(Datenbuch Siemens 80C535 )
mc
Symbol
Parameter
TAVWL
Adress valid to /WR
TLLWL
ALE to /WR or /RD
200
TQVWH
Data setup before /WR
288
ns
TWHQX
Data hold after /WR
13
ns
Prof. J. WALTER
Kurstitel Stand: März 2004
min
12MHz
max
Ein12MHz heit
203
ns
300
ns
Seite 49
mc
Tabelle 3.10.
Wichtigste Timing-Werte für den RAM-Speicher 55257
AFL-10 schreiben (Baugleich mit 62256A-10L) sind
(Datenbuch Toshiba MOS Memory):
Symbol
Parameter
min
12MHz
(tWC)
Write Cycle Time
100
ns
(tCW)
Chip Selection to End of Write
90
ns
(tDS)
Data Set up Time
40
ns
(tDH)
Data Hold Time
0
Prof. J. WALTER
Kurstitel Stand: März 2004
max
Ein12MHz heit
0
ns
Seite 50
Herunterladen