280 likes | 385 Views
EINGEBETTETE SYSTEME. Vorlesungen WS2010. MODA MODB. Quarz. IRQ XIRQ Reset. Betriebasrt- Steuerung. Takt. Unterbrechungs- Steuerung. ROM oder EPROM (Tabelle). Zähler/ Zeitgeber Capture/ Compare. PROZESSORKERN. Watchdog. EEPROM (Tabelle). RAM (Tabelle). Synchrone
E N D
EINGEBETTETESYSTEME Vorlesungen WS2010
MODA MODB Quarz IRQ XIRQ Reset Betriebasrt- Steuerung Takt Unterbrechungs- Steuerung ROM oder EPROM (Tabelle) Zähler/ Zeitgeber Capture/ Compare PROZESSORKERN Watchdog EEPROM (Tabelle) RAM (Tabelle) Synchrone serielle Schnittstelle SPI Asynchrone serielle Schnittstelle SCI Puls.Akkumulator Erweiterungsbus Adressen (8-15) Daten/Adressen (0-7) Analog/Digital Wandler Parallele Schnittstelle A Parallele Schnittstelle B Parallele Schnittstelle C Parallele Schnittstelle D Parallele Schnittstelle E Capture/Compare Parallele E/A Erweiterungsbus Parallele A Erweiterungsbus Parallele E/A Analoge E Parallele E Sync.&Async.serielle E/A Parallele E/A Aufbau des Microkontrollers MC68HC11 Single Chip Mode, Expanded Mode, Test Mode, Bootstrap Mode
MC68HC11- ein einfacher Mikrocontroller • Eigenschaften der MC68HC11- Familie • Prozessorkern • CISC-Architektur • Taktfrequenz bis 8MHz • 8 Bit Datenbus, 16 Bit Adressbus • 2 x 8 Bit oder 1 x 16 Bit Akkumulatorrregister • 2 x 16 Bit Indexregister • 6 Adressierungsarten • Unmittelbar, • Adressdirekt, • Adressdirekt mit verkürzter Adresse, • Registerindirekt mit Displacement, • Relativ zum PC und • Inhärent.
MC68HC11- ein einfacher Mikrocontroller • Gemeinsame Adressierung (Memory mapped IO) • 16/16 Bit Division • 8 x8 Bit Multiplikation • Speicher • statisches RAM • ROM oder EPROM, EEPROM
MC68HC11- ein einfacher Mikrocontroller • Zeitgeber und Ein-/Ausgabeeincheiten • 5 parallele Ein-/Ausgabeeincheiten, insgezamt 38 Bit • 1 synchrone serielle Ein-/Ausgabeeincheit • 1 asynchrone serielle Ein-/Ausgabeeincheit • 1 Watchdog • 1 Zähler-/Zeitgebereinheit mit einem 16-Bit-Zähler • 8 Digital/Analog-Wandlerkanäle, jeweils 8 Bit • 8 Bit Erweiterungsbus im Daten-/Adressmultiplexing, • 16 Bit Adressen
MC68HC11 Mikrocontroller- Komponenten Programmiermodel des MC68HC11 0000 RAM 256 – 768 Bytes D 16 Bit Akkumulator D oder A B 8 Bit Akkumulatoren A und B 1000 Ein-/Ausgabe Zähler/Zeitgeber 64 Bytes IX 16 Bit Indexregister IX 103F IY 16 Bit Indexregister IY SP 16 Bit Kellerzeiger SP 8600 EEPROM 512 -2048 Bytes PC 16 Bit Programmzähler PC PSW 8 Bit Prozessorstatuswort EPROM/ROM 12 – 20 KBytes C - Carry, V - Overflow, Z - Zero, N - Negative, H - Half Carry, S - Stop Disable, X,I – Interrupt Masken FFFF
Speicherabbild des MC68HC11 Single Chip und Bootstrap MODE
Erweiterrungsbus des MC68HC11 R/W Port C AS Port B Latch D0-D7 A0-A7 A8-A15
Speicherabbild des MC68HC11 Expanded Mode
Parallele Schnittstelle B Interner Datenbus 8 - Bit 1004h PORTB PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PORTB - Senzen der Ausgänge von Port B
Parallele Schnittstelle C Interner Datenbus 8 - Bit 1007h DDRC 1003h PORTC PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PORTC - I/O-Portzugriff auf Port C DDRC - Data-Direction-Register für Port C
A/D – Wandler des MC68HC11 Parallele Schnittstelle E • 8 analoge Eingänge, • Oder TTL-Eingänge • Arbeitet nach dem Wägeverfahren • Eine Messung dauert 32 E-Ziklen pro kanal, also 16 Mikrosekunden bei 8MHz • Zwei Betribsarten werden unterstützt: Single Chanel Operation Multiple Chanel Operation
8-Kanal-8-Bit A/D – Wandler des MC68HC11 Interner Datenbus 8 - Bit Ausgangsregister 1 Ausgangsregister 2 Ausgangsregister 3 Ausgangsregister 4 Digital DEMUX 8-Bit A/D-Wandler Analog MUX Analog In 7 Analog In 0
Parallele Schnittstelle E 1030h ADCTL – A/D Control-Register Conversions Complete Flag Bit7 CCF 100Ah PORTE Input-Port E Continuous-Scan-Control SCAN 1031h ADR1 A/D-Meßwert 1 Multille-Channel-Control MULT CD CC Channel- Select 1032h ADR2 A/D-Meßwert 2 CB Bit0 CA 1033h ADR3 A/D-Meßwert 3 1039h OPTION – System-Configuration-Options Bit7 ADPU ADWandler ausgeshaltet, wenn ADPU=0 ist 1034h ADR4 A/D-Meßwert 4 CSEL = 0, gemessen wird mit E-Takt Bit6 CSEL
Parallele/Serielle Schnittstelle D 102Bh BAUD SCI 102Ch SCCR1 SPI 1028h SPCR 102Dh SCCR2 1029h SPSR 102Eh SCSR 102Ah SPDR 102Fh SCDE MOSI MISO SCK TxD RxD SS SPI Serial Peripheral Intraface SCI Serial Communication Interface 1009h - DDRD 1008h - Port D PD5 PD4 PD3 PD2 PD1 PD0
Serial Peripheral Interface - SPI MOSI MOSI MISO MISO PCSO/SS PCSO/SS SCK SCK PCS1 PCS2 PCS3 MISO MOSI SCK MISO MOSI SCK PCSO/SS MISO MOSI SCK PCSO/SS PCSO/SS
Das Zähler- und Zeitgebersystem Taktgenarator Interner Prozessortakt Takt für SPI Prog. Vorteiler ÷2,4,16,32 Prog.Vorteiler ÷1…..1664 Takt für SCI Prog.Vorteiler ÷2/13-16 Periodische Unterbrechung Puls-Akkum. Unterbrechung Vorteiler ÷2/6 Puls-Akkumulator Externer Eingang Prozessor rücksetzen Vorteiler ÷2/15 Watchdog ÷1,4,16,64 Lebenszeichen Prog.Vorteiler ÷1,4,8,16 Capture- und Compare-Einheit
Die Capture- und Compare- Einheit Takt aus Vorteiler Freilaufender Zähler 16 Bit Compare 1/Unterbrechung Compare-Register1 Zählerbus Compare-Register4 Compare 4/Unterbrechung Interner Datenbus Capture-Register1 Capture 1 Capture-Register3 Capture 3 Compare-Register5 4/5 Capture-Register4
Eigenschaften der 8051 • 8-Bit-CPU • 8-Bit- Multiplikation und Division • Bitverarbeitungsbefehle • Boolscher Prozessor • 5 Interuptquellen mit zwei Prioritätsebenen • 4 Kbyte ROM, bis 64 Kbyte extern erweiterbar • 128 Byte RAM, zusätzlich 64 Kbyte extern erweiterbar • 128 direkt adressierbare Bit im RAM • 21 direkt adressierbare Special-Function-Register (SFR) • 48 direkt adressierbare Bit in den SFR • zwei 16-Bit-Zähler / Zeitgeber • Voll-duplex-serielle Schnittstelle
8051 - Befehlssatz • Datentypen: Bit, Byte und Doppelbyte • Bytetransport • Logik- und Arithmethikoperationen • – Addition, Subtraktion, Multiplikation, Division • – Inkrement, Dekrement, BCD-Dezimalkorrektur • – Vergleiche, Rotieren, Logische Befehle • Bit-Verarbeitung (Carry-Flag, bitadressierbarer Speicher) • – Setzen, Löschen, Invertieren • – bedingte Sprungbefehle • – Transport vom und zum Carry • – UND, ODER • Bedingte Sprünge
Charakterisierung eingebettete Systeme • Datenspeicher (RAM): • 00h - 1Fh: 4 Registerbänke • 20h - 2Fh: Bit-adressierbarer Speicher • 30h - 7Fh: interner Speicher • 80h - FFh: SFR • 0100h - 0FFFh: Lücke beim 8051 • 1000h - FFFFh: externer Speicher