230 likes | 352 Views
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
E N D
EINGEBETTETESYSTEME 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 • 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.
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.
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.
Beschreibung des PIC16C7/8 • Befehlssatz • Der 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 Mikrocontrollers • Auf 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).
PROGRAM MEMORY MAP AND STACK Programmspeicher, Stack und 13 Bit Programmzähler
REGISTER FILE MAP system und universelle 8-bit-Register unimplemented data memory location; read as ‘0’
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.
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, • DC=digit carry/borrow, • Z=zero, • TO= Timer 0 Flag, • PD=Power down Flag
CLOCK/INSTRUCTION CYCLE INSTRUCTION PIPELINE FLOW