Seite 1 Prof. J. WALTER Kurstitel Stand: März 2004 mc Aufbau von µ-Controllern der 8051-Familie...
-
Upload
eberhart-heitkamp -
Category
Documents
-
view
107 -
download
1
Transcript of Seite 1 Prof. J. WALTER Kurstitel Stand: März 2004 mc Aufbau von µ-Controllern der 8051-Familie...
Seite 1Prof. J. WALTER Kurstitel Stand: März 2004
mc
Aufbau von µ-Controllern der 8051-Familie
Folien Kapitel 3
Seite 2Prof. J. WALTER Kurstitel Stand: März 2004
mc Logisches Symbol des 8051
Port 0Adress- und
Datenbus
Port 1
Port 2Port 3
Adressbus
8051
RxDTxD/INT0/INT1T0T1
/RD/WR
ALE
/PSEN
/EA
RST/V
XTAL1
XTAL2
PD
VSSVCC
Seite 3Prof. J. WALTER Kurstitel Stand: März 2004
mc Tabelle 3.1 Pin-Definitionen und Funktionen DIL-Ver.
Symbol Pin Input I Output O
Funktionen
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 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.
ALE 30 O 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.
Seite 4Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.2. Prinzipieller Aufbau eines 8051-Ports
Port
LatchCLK
Port
Treiber
PortPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb
Seite 5Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.3. Datenweg: Zustand des Port-Pins lesen
Port
LatchCLK
Port
Treiber
PortPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb freigegeben
gesperrt
Seite 6Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.4. Datenweg: Pin beschreiben mit Speichern
Port
LatchCLK
Port
Treiber
PortPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb
gesperrt
gesperrt
Seite 7Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.5. Zustand des Port-Latches lesen
Port
LatchCLK
Port
Treiber
PortPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb
freigegeben
gesperrt
Seite 8Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.6. Aufbau des Treiberbausteins Port 1 bis 5
Port
LatchCLKPortPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb
n1
VCC
VDD
ca.
50k
Seite 9Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.7. Funktionsweise der FET’s im Controller
+5V
0V
+5V
0V
1
0 1
0D
SG
+5V
0V
A B C
Ausgang
Eingang
Seite 10Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.8. Port 0 als Adressausgang mit 0-Pegel am Ausgang
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P0.xPin
im Baustein außerhalb
n1
VCC
VDD
Address DataControl
&
MUX
1
0 1
1 leitend
0 sperrt
0
Seite 11Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.9. Port 0 als Adressausgang mit 1-Pegel am Ausgang
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P0.xPin
im Baustein außerhalb
n1
VCC
VDD
Address DataControl
&
MUX
1
0
1
1 leitend
0 sperrt1
Seite 12Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.10. Port 0 als Datenausgang mit 0-Pegel
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P0.xPin
im Baustein außerhalb
n1
VCC
VDD
Address DataControl
&
MUX
X
X 1 leitend
0 sperrt
0
00 0
Seite 13Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.11. Port 0 als Datenausgang mit 1-Pegel am Ausgang
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P0.xPin
im Baustein außerhalb
n1
VCC
VDD
Address DataControl
&
MUX
x
x0 sperrt
1
0
0 sperrt
11
float
Seite 14Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.12. Port 1 als bidirektionaler Port mit internem Pull-up Widerstand
Port
LatchCLKP1.xPin
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
im Baustein außerhalb
n1
VCC
VDD
ca. 50 K
Seite 15Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.13. Port 2 als bidirektionaler Port mit internem Pull-up-Widerstand
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P2.xPin
im Baustein außerhalb
n1
VCC
VDD
Address Data
Control
MUX
Seite 16Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.14. Port 3 als bidirektionaler Port mit Alternate Functions
Port
LatchCLK
ReadLatch
WriteLatch
internerBus
D Q
/Q
ReadPin
P3.xPin
im Baustein außerhalb
VCC
VDD
Alternate
Control
MUX
Output Function
&
Alternate Input
Function
1
Seite 17Prof. J. WALTER Kurstitel Stand: März 2004
mc Tabelle 3.2. Alternative Funktionen an Port 3
Port Pin
Bezeichnung
Ein-, 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
Seite 18Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.15 Blockdiagramm 8051 – 8051A
Oscillator
&Timing
4096 ByteProgram Memory
128 Byte
Data Memory
Two 16-Bit
Timer/Event
Counters
8051
CPU
64 KByte Bus
Expander
Control
Programmable
I/O
ProgrammableSerial port
Full duplex UARTSynchronous Shifter
Interrupts
Interrupts
8051A only
Frequency Reference
SerialIN
SerialOUT
Parallel Ports
Adress Data Bus
and I/O Pins
Counters
Seite 19Prof. J. WALTER Kurstitel Stand: März 2004
mc Verfeinertes Blockdiagramm des 8051 –8051A
B-Register
Adressen
StatuswortAkkumulator
Programm
Register
Temporäresdecoder
Befehls-
Dekodierer
RAMRAM
128x8 ROM
4Kx8
Register
Temporäres
logische
Arithmetisch
Einheit
Port 2
Port 0
Port 1
Port 3
Pointer
Stack
PCL DPL
DPHPCH
DekodiererRAM-Adressen
Steuersignale
Steuerlogik
IE
IP
SCON
SBUF(Senden)
SBUF(Empfang)
TCON
TMOD
TL0
TH0
TL1
TH1
Statuswort
Zähler/Zeitgeb.
Steuerung
Unterbrechungs-
Steuerung
Port
Serielles
/EA ALE /PSEN RST
VPD
Oszillator
XTAL1 XTAL2
Seite 20Prof. J. WALTER Kurstitel Stand: März 2004
mc Verwendete Abkürzungen im verfeinerten Blockbild des 8051
Seite 21Prof. J. WALTER Kurstitel Stand: März 2004
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
Seite 22Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.17. Klassischer Aufbau eines Digitalrechners
Eingabeeinheit Ausgabeeinheit
Leitwerk Rechenwerk
¯ ¯¯¯ ¯¯
Speicher
Seite 23Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.18. Verfeinertes Blockdiagramm des 8051 mit Zuordnungen zu den Einheiten eines Digitalrechners
B-Register
Adressen
StatuswortAkkumu- Programm
RegisterTemporäres
decoderBefehls-
Dekodierer
RAMRAM128x8 ROM
4Kx8
RegisterTemporäres
logische
Arithmet.
Einheit
Port 2
Port 1
Port 3
Pointer
Stack
PCL DPLDPHPCH
DekodiererRAM-Adres.
Steuersignale
Steuerlogik
IE
IP
SCON
SBUF(Senden)
SBUF(Empfang)
TCON
TMOD
TL0
TH0
TL1
TH1
Statuswort
Zähler/
SteuerungUnterbrech.-
Port
Serielles
/EA ALE /PSEN RST
VPD
Oszillator
XTAL1 XTAL2
Port 0
lator
Zeitgeber
Seite 24Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.19. 80C535 Erweiterungen
Seite 25Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.20. 80C515 / 80535 Blockdiagramm (grau - zum 8051 zusätzliche Einheiten)
Oscillator
&Timing
Data Memory
Two 16-Bit
Timer/Event
Counters
80C51
CPU
64 KByte Bus
Expanter
Control
Programmable
I/O
Interrupts
Interrupts
80C515A only
Frequency Reference
SerialIN
SerialOUT
Parallel PortsAdress Data Bus
and I/O Pins
Counters
8K x 8
ROM
256x8 Timer 2Compare/CaptureRegister
BaudratenGenerator
S&H MUX
ProgrammableSerial port
UARTSynchronous Shifter
VARef
VAGND
Watchdog
P0 P1 P2 P3 P4 P5
Progr. Ref.
Spannung
A/D
P6
7
5
Seite 26Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.21. Adressbereiche 8051 mit den Befehlen zum Ansprechen
Adressbereiche
Programmspeicher
intern/EA=1 und
Adresse <1000H
extern intern extern
Datenspeicher
/RD-/WR-Signal aktiv
MOVX A,@DPTR
obere 128 Bytes untere 128 Bytes
MOV A,RO
MOV A,PSWMOV A,@RO
SFR
MOV A,@RO
/PSEN aktiv
Seite 27Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.22. Von-Neumann-Architektur - Harvard-Architektur
Daten
Speicher
Daten
Adressen
Peri-pherie
Daten
Adressen
CPUDaten
Adressen
ProgrammProgramm
Programm
Programm
Daten
Daten
Daten-speicher
Daten
Adressen
Peri-pherie
Daten
Adressen
Programmspeicher
Daten
Adressen
CPUDaten
Adressen
Seite 28Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.24. Erzeugen der Von-Neumann-Architektur
/PSEN /RD /OE
0 0 0
0 1 0
1 0 0
1 1 1
Seite 29Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.25. Bedeutung der Signalformen
Seite 30Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.26. Prinzip für Lesen des Programmspeichers
PSEN
Daten
Adresse A0-A15
Instr. N
Übernahme der Instruktionaus dem Programmspeicher
vom Controller
vom EPROM
vom Controller
Seite 31Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.27. Programmspeicher lesen ohne Multiplex-Verfahren
PSEN
Daten
Adresse A0-A15
Instr. N
tPLIV
tAVIV
tPXIZ
Übernahme der Instruktionaus dem Programmspeicher
vom Controller
vom EPROM
vom Controller
Seite 32Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.28. Programmspeicher lesen vereinfacht
ALE
PSEN
Port 0
Port 2
A0-A7
A8-A15
Instr. N A0-A7
tPLIV
tAVIV
t PXIZ
tLLIV
Seite 33Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.29. Blockbild für einfache Timingberechnungen
Port 0
Port 2
ALE
/PSEN
Adress-Latch Eprom
80535
Low-Byte-Adresse / Datum
High-Byte-Adresse
Port 3
LE
74HC573
27128JL-25
TMS
/CE20
49
1150
/OE22
Low-Byte-Adresse
Seite 34Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.30. Programmspeicher Lesezugriff vollständig
ALE
PSEN
Port 0
Port 2
A0-A7
A8-A15
Instr. N A0-A7
tLHLL
tAVLL tPLPH
tAZPL
tLLAX
tLLPL
tPLIV
tAVIV
tPXIX
t PXIZ
t PXAV
tLLIV
Seite 35Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.31. Zeitbedingungen für EPROM und 80C535 in einem Signal-Zeit-Diagramm
ADDR:
P0:
ALE:
/PSENTPLIV
(tOE)
TPXIZtDF
TLLIV
(tCE)tDF
PCL PCLINSTR.
TAVIV
(tACC)
Tprop
Hier könnte der Controller die Instruktion übernehmen
Hier übernimmt der Controller die Instruktion
Seite 36Prof. J. WALTER Kurstitel Stand: März 2004
mc Die vier wichtigsten Überprüfungen im Timing
TAVIV - TPROP > tACC Speicherzugriffszeit
TLLIV > tCE Chipauswahl
TPLIV > tOE Daten auf Datenbus
TPXIZ > tDF Datenbus freigeben
Seite 37Prof. J. WALTER Kurstitel Stand: März 2004
mc Tabelle 3.6. Timing-Werte für Controller 80C535 und EPROM
Symbol Parameter min12MHz
max12MHz
Ein-heit
(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
Seite 38Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.32. Vor und nach der Adreßspiegelung
0000H
7FFFH8000H
FFFFH
0000H
7FFFH8000H
FFFFH
ROM
bzw.
EPROM
RAM
ROM
bzw.
EPROM
RAM
Vor Adreßspiegelung Nach Adreßspiegelung
Seite 39Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.33. Zustand nach dem Einschalten oder Reset
0 0
0
1
CE Rom
CE Ram3
A 15
PSEN
RS Tast
Seite 40Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.34. Zustand bei Zugriff auf Adresse > 8000H
1 1
0
1
1 110
1
10
CE Rom
CE Ram
A 15
PSEN
RS Tast
Seite 41Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.35. Funktionsweise - Timing für Adressumschaltung (nicht zeitgetreu)
D=A15
/PSEN
Q=NORE
CLK=NORA
/Q
/CE ROM
/CE RAM
Seite 42Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.36. Blockbild für Timingberechnungen am RAM
Port 0
Port 2
ALE
Adress-Latch RAM
80535
High-Byte-Adresse
Port 3
LE
74HCT573
62256A-10L
/OE22
1150
/RD
/WE
/WR
/CS20
27
28
27
Low-Byte-AdresseLow-Byte-Adresse / Datum
Seite 43Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.37. Signal-Zeit Diagramm für Datenspeicher lesen am 80C535
ALE
PSEN
RD
Port 0
Port2
A0-A7 fromRi or DPL
Data IN
P2.0-P2.7 or A8-A15 from DPH
tAVWL
AVDV
AVLL
LLAX2
RLDV
RLAZ
RHDZ
RHDX
t
t
t
t
t
t
A8 - A15 from PCH
A0-A7from PCL
Instr.IN
t WHLH
LLDV
LLWL RLRH
t
tt
Seite 44Prof. J. WALTER Kurstitel Stand: März 2004
mcTabelle 3.7. Wichtigste Timing-Werte für Controller 80C535 externer Datenspeicher lesen (Datenbuch Siemens 80C535 )
Symbol Parameter min12MHz
max12MHz
Ein-heit
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
Seite 45Prof. J. WALTER Kurstitel Stand: März 2004
mcTabelle 3.8. Wichtigste Timing-Werte für den RAM-Speicher 55257 AFL-10 (Baugleich mit 62256A‑10L) sind ( Datenbuch Toshiba MOS Memory)
Symbol Parameter min12MHz
max12MHz
Ein-heit
(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
Seite 46Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.38. Schaltungsteil zur Erzeugung der Von-Neumann-Architektur
Vcc
1
2
3J4
> = 1
> = 1
> = 1
OE RAM
PSEN
RD
Seite 47Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.39. Zustand bei Zugriff auf Adresse > 8000h
Seite 48Prof. J. WALTER Kurstitel Stand: März 2004
mc Bild 3.40. Signal-Zeit-Diagramm für Datenspeicher schreiben am 80C535
ALE
PSEN
WR
PORT 0A0-A7 fromRi or DPL
Data OUT A0-A7from PCL Instr. IN
tWHLH
tWLWH
tQVWX
tAVLL
tLLWL
tLLAX2
tAVWL
tWHQX
tQVWI
tAVLL
PORT 2 P2.0-P2.7 or A8 - A15 from DPH A8 - A15 from PCH
Seite 49Prof. J. WALTER Kurstitel Stand: März 2004
mc Tabelle 3.9. Wichtigste Timing-Werte für Controller 80C535 externer Datenspeicher schreiben (Datenbuch Siemens 80C535 )
Symbol Parameter min12MHz
max12MHz
Ein-heit
TAVWL Adress valid to /WR 203 ns
TLLWL ALE to /WR or /RD 200 300 ns
TQVWH Data setup before /WR 288 ns
TWHQX Data hold after /WR 13 ns
Seite 50Prof. J. WALTER Kurstitel Stand: März 2004
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 min12MHz
max12MHz
Ein-heit
(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 0 ns