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