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