EINGEBETTETE SYSTEME

Post on 23-Jan-2016

37 views 0 download

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

Transcript of EINGEBETTETE SYSTEME

1M.Milushev

EINGEBETTETE SYSTEME

Vorlesungen WS2010

2M.Milushev

Übersicht

der

PIC

Mikrocontrollern

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.

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.

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.

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

7M.Milushev

Blockschaltbild des PIC16C84

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).

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

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)

11M.Milushev

PROGRAM MEMORY

MAP AND STACK

Programmspeicher, Stackund 13 Bit Programmzähler

12M.Milushev

REGISTER FILE MAP

unimplemented data memory location; read as ‘0’

system und universelle 8-bit-Register

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.

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

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

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

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

18M.Milushev

Beschreibung des PIC16C84

19M.Milushev

CLOCK/INSTRUCTION

CYCLE

INSTRUCTION PIPELINE FLOW

20M.Milushev

21M.Milushev

22M.Milushev

23M.Milushev

END