23
1 M.Milushev EINGEBETTETE SYSTEME Vorlesungen WS2010

EINGEBETTETE SYSTEME

  • Upload
    gabe

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

EINGEBETTETE SYSTEME. Vorlesungen WS2010. Übersicht der PIC Mikrocontrollern. Beschreibung des PIC16C7/8. Der Mikrocontroller PIC16C7/8 eignet auf Grund seiner Eigenschaften hervoragend, um im Umgang mit Embedded Mikrocontroller erste Erfahrungen zu sammeln Verfügbarkeit - PowerPoint PPT Presentation

Citation preview

Page 1: EINGEBETTETE SYSTEME

1M.Milushev

EINGEBETTETE SYSTEME

Vorlesungen WS2010

Page 2: EINGEBETTETE SYSTEME

2M.Milushev

Übersicht

der

PIC

Mikrocontrollern

Page 3: EINGEBETTETE SYSTEME

3M.Milushev

Beschreibung des PIC16C7/8

Der Mikrocontroller PIC16C7/8 eignet auf Grund seiner Eigenschaften hervoragend, um im Umgang mit Embedded Mikrocontroller erste Erfahrungen zu sammeln

Verfügbarkeit

Der Mikrocontroller ist sehr preiswert (viele Distributoren vertreiben den Chip). Als "quasi Second-Source" hat der Halbleiterhersteller Scenix eine Controllerfamilie mit noch höheren Verarbeitungsgeschwindigkeiten entwickelt, als sie die PIC-Controller von Microchip bereits bieten.

Page 4: EINGEBETTETE SYSTEME

4M.Milushev

Beschreibung des PIC16C7/8

Entwicklungsumgebung

Der Halbleiter Hersteller Microchip stellt eine Entwicklungsumgebung für die Programmentwicklung das Integrated Development Environment (IDE) MPLAB kostenlos zum Download auf seiner WEB-Site zur Verfügung. MPLAB beinhaltet eine Projektmanagmentfunktion, den Cross-Assembler MPASM und einen Simulator zum Austesten von selbst entwickelten Programmalgorithmen.

Sollte ein Programmer vom Typ PICSTART PLUS zur Verfügung stehen, so kann dieser problemlos von MPLAB angesteuert werden. Das nach der Assemblierung enstandene HEX-File kann damit in "wenigen Handgriffen" in einen Mikrocontroller "gebrannt werden.

Page 5: EINGEBETTETE SYSTEME

5M.Milushev

Beschreibung des PIC16C7/8

In-System-Programmierung

Alternativ dazu kann der ROM-Code auch in PIC16C7/8 transferiert werden, der sich bereits in einer Schaltung, also im Zielsystem befindet. Dazu sind einige Pins des Controllers mit doppelten Funktionen belegt. Für den Programmierfall müssen mit etwas zusätzlicher Hardware diese Funktionen quasi freigeschaltet werden.

Page 6: EINGEBETTETE SYSTEME

6M.Milushev

Blockschaltbild des PIC16C7/8

ROMProgrammzähler

Stack

Decoder UndAblauf-steuerung

ALU

Reset

Oszillator

RAM EE-RAM

Timer

Port A

Port B

SF-

Reg

iste

r

Imte

rru

pt-

con

trol

ler

Page 7: EINGEBETTETE SYSTEME

7M.Milushev

Blockschaltbild des PIC16C84

Page 8: EINGEBETTETE SYSTEME

8M.Milushev

Beschreibung des PIC16C7/8

BefehlssatzDer leicht erlernbare Befehlssatz umfasst nur 35 Instruktionen. Microchip hat inzwischen eine ganze Familie von Mikrocontrollern kreiert, deren ROM auf EE-Prom bzw. Flash Technologie basiert. Zusätzlich sind 64Byte nichtflüchtiges EE-Prom zur Datenspeicherung untergebracht.

Hardware-Eigenschaften des MikrocontrollersAuf dem Chip befinden sich gängige Peripherie wie ein Watchdog, ein 8-Bit Timer, ein Interruptcontroller und 13 I/O-Ports. Das auszuführende Programm wird in einem 1024 Speicherzellen (14Bit-Wortbreite) umfassenden ROM-Speicher untergebracht. Zur Datenspeicherung während der Programmausführung stehen 36 Byte RAM on-chip zur Verfügung. Zur Abarbeitung von Subroutinen besitzt der Controller einen 8 Worte tiefen Stack (Kellerspeicher).

Page 9: EINGEBETTETE SYSTEME

9M.Milushev

Eigenschaften des Mikrokontrolers

Merkmal Besondere Hinweise

Architektur Havard-Struktur

CPU-Core

RISC-CPU mit 35 Befehlen. Alle Befehle werden in einem Zyklus abgearbeitet, Ausnahme sind Verzweigungen, SprüngeInstruktionswortbreite 14 Bit Datenwortbreite: 8Bit

Befehlsausführungszeit

Prozessortakt/4 d.h. min. 400ns bei 10MHz Quarzfrequenz

Speicher und Register

1k x 14Bit EE-Prom 36 x 8 Bit SRAM 64 x 8 Bit EE-Prom Datenspeicher 15 Funktionsregister zur Steuerung der on-chip Peripherie

Page 10: EINGEBETTETE SYSTEME

10M.Milushev

Eigenschaften des Mikrokontrolers

on-chip Peripherie

13 digitale I/O Pins 1 Timer mit Vorteiler Resetgenerator (Power-on Reset) Oszillator Watchdog-Timer Power-Save Sleep Mode serielle in-System-Programmierung

Interruptcontroller5 externe Interrupt-Request an Pin RB0, B4...RB7 Timer0 EE-Prom Schreibzugriff

Technologie und elektrische Kenndaten

CMOS Low-power, voll statisches Design (DC...10MHz)Betriebsspannung: 2,0V ...6.0V Stromaufnahme<2mA bei 5V, 4MHz60uA bei 2V, 32kHz26uA im Sleep-Mode (Stand-by : 2V)

Page 11: EINGEBETTETE SYSTEME

11M.Milushev

PROGRAM MEMORY

MAP AND STACK

Programmspeicher, Stackund 13 Bit Programmzähler

Page 12: EINGEBETTETE SYSTEME

12M.Milushev

REGISTER FILE MAP

unimplemented data memory location; read as ‘0’

system und universelle 8-bit-Register

Page 13: EINGEBETTETE SYSTEME

13M.Milushev

Der Timer

Der Timer0 (TMR0) ist wahlweise ein, vom Prozessortakt abhängiger, 8-Bit Timer oder Zähler. Dies kann im Option-Register durch Bit 5 festgelegt werden (0=intern=Timer; 1=extern=Zähler an RA4). Das TMR0-Register (Bank 0, 01h), in dem gezählt wird, kann ebenso beschrieben wie gelesen werden. Zur Verlängerung der Zeitperiodendauer oder bei sehr großen Zählfrequenzen kann ein Prescaler vorgeschaltet werden (dieser kann beschrieben, jedoch nicht gelesen werden). Dieser ist alternativ beim WDT oder TMR0 einsetzbar. Die Zuweisung erfolgt durch Bit 3 im Option-Register (0=TMR0; 1=WDT). Der Wert des Prescalers wird durch die Bits 2-0 im Option-Register bestimmt.

Page 14: EINGEBETTETE SYSTEME

14M.Milushev

Beschreibung des PIC16C7/8

Folgende Tabelle listet den Befehlsvorrat des PIC16C8x auf. Die

Beschreibung der Befehle ist zunächst im Herstellerdatenblatt

übernommen, um den Wortlaut des Mnemonic's zu entschlüsseln.

Die beinflussten Flagbits (Tabelle Spalte 5) sind wie folgt kodiert:

C =carry, C =carry,

DC=digit carry/borrow,DC=digit carry/borrow,

Z=zero,Z=zero,

TO= Timer 0 Flag, TO= Timer 0 Flag,

PD=Power down FlagPD=Power down Flag

Page 15: EINGEBETTETE SYSTEME

15M.Milushev

Beschreibung des PIC16C8x

Maschinen-befehl

Operanden

Beschreibung Zyklen Status

ADDWF f, d Add W and f 1 C,DC,Z

ANDWF   AND W with f 1 Z

CLRF f Clear f 1 Z

CLRW - Clear W 1 Z

COMF f, d Complement f 1 Z

DECF f, d Decrement f 1 Z

DECFSZ f, d Decrement f, Skip if 0 1(2) NONE

Bit orientierte Befehle

BCF f, b Bit Clear f 1 NONE

BSF f, b Bit Set f 1 NONE

BTFSC f, b Bit Test f, Skip if Clear 1(2) NONE

BTFSS f, b Bit Test f, Skip if Set 1(2) NONE

Page 16: EINGEBETTETE SYSTEME

16M.Milushev

Beschreibung des PIC16C84

INCF f, d Increment f 1 Z

INCFSZ f, d Increment f, Skip if 0 1(2) NONE

IORWF f, d Inclusive OR W with f 1 Z

MOVF f, d Move f 1 Z

MOVWF f Move W to f 1 NONE

NOP - No Operation 1 NONE

RLF f, dRotate Left f through Carry

1 C

RRF f, dRotate Right f through Carry

1 C

SUBWF f, d Subtract W from f 1 C,DC,Z

SWAPF f, d Swap nibbles in f 1 NONE

XORWF f, d Exclusive OR W with f 1 Z

Page 17: EINGEBETTETE SYSTEME

17M.Milushev

Beschreibung des PIC16C84

Konstantenoperationen und Steuerfunktionen der Mikrocontrollerfunktionen

ADDLW k Add literal and W 1 C,DC,Z

ANDLW k AND literal with W 1 Z

CALL k Call subroutine 2 -

CLRWDT - Clear Watchdog Timer 1 TO,PD

GOTO k Go to address 2 NONE

IORLW k Inclusive OR literal with W 1 Z

MOVLW k Move literal to W 1 NONE

RETFIE - Return from interrupt 2 NONE

RETLW k Return with literal in W 2 NONE

RETURN - Return from Subroutine 2 NONE

SLEEP - Go into standby mode 1 TO,PD

SUBLW k Subtract W from literal 1 C,DC,Z

XORLW k Exclusive OR literal with W 1 Z

Page 18: EINGEBETTETE SYSTEME

18M.Milushev

Beschreibung des PIC16C84

Page 19: EINGEBETTETE SYSTEME

19M.Milushev

CLOCK/INSTRUCTION

CYCLE

INSTRUCTION PIPELINE FLOW

Page 20: EINGEBETTETE SYSTEME

20M.Milushev

Page 21: EINGEBETTETE SYSTEME

21M.Milushev

Page 22: EINGEBETTETE SYSTEME

22M.Milushev

Page 23: EINGEBETTETE SYSTEME

23M.Milushev

END