Typenübersicht der 14-Bit-Kern-PIC-Flash-Microcontroller / Zeitleiste mit Übersichtsplan
Typenübersicht der 12-Bit-Kern-PIC-Flash-Microcontroller
Typenübersicht der 16-Bit-Kern-PIC-Flash-Microcontroller
die 24-Bit-Kern-PIC-Flash-Microcontroller mit 16-Bit-Datenverarbeitung
Beschriftung
der
PICs
Gehäusebauformen
Während früher die
Microcontroller
nur ein mal programmiert werden konnten (OTP), sind seit einigen
Jahren
Controller
auf dem Markt, deren Programmspeicher ein Flash-Speicher ist,
der sich
hunderte oder tausende male löschen und neu beschreiben
lässt.
Ich beschäftige mich ausschließlich mit solchen Flash-Controllern.
Die folgende Grafik zeigt die Unterteilung der PICs in
Produktgruppen
(Familien)
unterschiedlicher Leistungsfähigkeit. Links stehen die
billigen,
leistungsschwächeren Typen, rechts die teuren
leistungsstärkeren. Für den Hobbybastler sind vor
allem die
Familien PIC16Fxxx und PIC18Fxxxx
von Bedeutung.

Von Microchip gibt es inzwischen
mindestens 400 unterschiedliche Flash-Controller, die im Baukastensystem
aus einem Prozessorkern, Speicher und einigen
Peripheriemodulen
zusammengesetzt
sind.
Anhand des Prozessorkerns
unterscheide
ich fünf große Familien:
| 12-Bit-Kern Controller | 14-Bit-Kern Controller | 16-Bit-Kern Controller | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (Base-Line-Family) | (Mid-Range-Family) | (High-End-Family & Enhanced-Family) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| klein, billig, leistungsschwach, Gut geeignet, um alte Software, die für die 12-Bit PICs aus der vor-Flash-Zeit geschrieben wurde, weiterzunutzen. |
Eingeführte Standardtypen, für die viele
Programme
zur Verfügung
stehen. Werden von vielen Händlern angeboten. |
Leistungsstark. Optimiert für den Einsatz von höheren Programmiersprachen. Erfordern längere Einarbeitungszeit. |
Je nachdem wie viele
Peripheriemodule
um
den Kern angesiedelt sind, benötigt der PIC-Controller ein
mehr
oder
weniger großes Gehäuse (6 .. 100 Pins) und kostet
dementsprechend
mehr oder weniger. Auf den Preis wirkt sich auch die
Speicherausstattung
des PIC aus.
Entscheidungshilfe: Welcher PIC ist nun für den Bastler der Richtige?
Oft will man ein Gerät
nachbauen,
für
das man im Internet den Stromlaufplan und die PIC-Software
(als
HEX- oder ASM-File) gefunden hat. In diesem
Fall sollte man
den dort vorgesehenen PIC-Typ auch verwenden, um Anpassungen an
der
Software
zu vermeiden. Ein HEX-File (also das Programm), das z.B.
für
einen
PIC16F84 bestimmt ist, muss in keinem anderen PIC funktionieren.
Besitzt man aber auch das ASM-File
(Assembler
Quelltext des Programms), kann man mit ein wenig Erfahrung das
Programm
an einen anderen PIC anpassen. Der neue PIC sollte dann aber der
gleichen
PIC-Familie (12-, 14- oder 16-Bit-Kern) angehören. So
lässt
sich ein PIC16F84-Programm z.B. recht
einfach
an
den moderneren und preiswerteren PIC16F628
anpassen.
Oft findet man im Web Projekte, die
noch
ältere PIC-Controller ohne Flash-Speicher (OTP) benutzen.
(Sie
tragen im Typbezeichner ein C anstelle des F.) Hat man
das
ASM-File,
ist eine Anpassung an einen Flash-Controller recht einfach, man
sollte
aber innerhalb der jeweiligen Familie bleiben. Ein
PIC16C505-Programm
lässt
sich z.B. leicht an den PIC16F505
anpassen.
Ist nur das HEX-File vorhanden, dann
kann
man das HEX-File mit einem Disassembler in ein ASM-File wandeln
(Disassembler
sind in meinen Brennprogrammen
enthalten, geben dort den ASM-Quelltext aber nur in ein Fenster
aus,
aus
dem man es von Hand in ein Text-File mit der Dateiendung ASM
kopieren
muss).
Die Anpassung eines solchen disassemblierten Programms ist aber
nur
etwas
für erfahrene PIC-Anwender.
Bei einer Eigenentwicklung ist man in der Wahl des PIC naturgemäß freier.
Controller im klassischen gut handhabbaren DIL-Gehäuse gibt es mit 8 Pins bis 40 Pins. Controller mit bis zu 44 Pins sind auch als SMD-Typen für den Bastler gut verwendbar, da sie mit einem Pinabstand verfügbar sind, der das Herstellen von Leiterplatten im Bastelkeller möglich macht. PICs mit 64, 80 oder gar 100 Pins haben einen Pinabstand von nur 0,5 mm oder 0,4 mm. Das ruft nach industrieller Platinenfertigung.
weiter: Taktversorgung des PIC
14-Bit-Kern-PIC-Flash-Controller-Übersicht
Mid-Range-Family /
8
Bit
Datenbreite
(PIC16Fxxx /
PIC12Fxxx)
Typenübersicht der 14-Bit-Kern-PIC-Flash-Controller
Die nachfolgende Tabelle listet nur populäre 14-Bit-Kern-PICs auf. (Eine vollständige Liste alle mir bekannten 14-Bit-Typen findet man hier.)
Eine übersichtlichere grafische Übersicht findet man hier.
Alle Typen in dieser Liste
werden
von meiner Software PBrenner in der aktuellen (oder
spätestens in
der übernächsten) Version unterstützt. Meine
Lieblingstypen
habe ich durch Fettdruck gekennzeichnet. Sie haben ein
gutes
Preis-Leistungsverhältnis
und sind auch verfügbar.
|
|
Speicher [14-Bit-Worte] |
[byte] |
[byte] |
(PDIP) |
|
Inputs |
parator |
(RS232) |
(I2C) |
|
|
|
bei Conrad |
bei Reichelt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16F687 |
2k |
128 |
256 |
20 |
18 |
12 |
2 |
1 |
1 |
- |
2 |
ja |
€ 1,65 | ja | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16F690 |
4k |
256 |
256 |
20 |
18 |
12 |
2 |
1 |
1 |
1 |
3 |
ja |
€ 1,95 | ja | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16F716 |
2k |
128 |
- |
18 |
13 |
4* |
- |
- |
- |
1 |
3 |
- |
€ 1,65 | ja | |
| 16F722 |
2k |
128 |
- |
28 |
25 |
11* |
- |
1 |
1 |
2 |
3 |
ja |
€ 1,55 | ja | |
| 16F723 |
4k |
192 |
- |
28 |
25 |
11* |
- |
1 |
1 |
2 |
3 |
ja | € 1,55 | ja | |
| 16F724 |
4k |
192 |
- |
40 |
36 |
14* |
- |
1 |
1 |
2 |
3 |
ja | € 2,05 | ja | |
| 16F726 |
8k |
368 |
- |
28 |
25 |
11* |
- |
1 |
1 |
2 |
3 |
ja | € 1,75 | ja | |
| 16F727 |
8k |
368 |
- |
40 |
36 |
14* |
- |
1 |
1 |
2 |
3 |
ja | € 2,10 | ja | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* - ADC mit 8-Bit-Auflösung
Legende:
Programm-Speicher:
Ist als Zahl der
14-Bit-Speicherzellen
dargestellt, wobei k für den Faktor 1024 steht. So bedeutet
also
"2k",
dass ein PIC 2048 Speicherplätze für jeweils einen
14-Bit-Befehl
hat.
Ist die Größe des
Programmspeichers
rot
eingetragen, dann bedeutet das, dass der PIC in seinen seinen
Programmspeicher
selbst hinein schreiben kann.
Pins:
Die Anzahl der Pins am Gehäuse.
Daran
erkennt man die physische Größe des Schaltkreises.
Die
kleinsten
PICs haben 8 Pins und die größten in der obigen Liste
40
Pins.
Die Pin-Zahl bezieht sich auf DIL-Gehäuse (PDIP). Beim
Einsatz von
SSOP, QFT oder PLCC-Gehäusen haben die PICs 2 bzw. 4
zusätzliche
Pins. Werden z.B. 40-polige PICs in PLCC-Gehäuse verpackt,
dann
haben
sie 44 Pins.
I/O-Pins:
Anzahl der Pins, die als Bestandteil
eines
Ports
(PORTA..PORTE) als Ein- oder
Ausgangsleitung
dienen können.
ADC:
Eingänge für den
Analog/Digital-Wandler.
Ein PIC hat immer nur einen ADC, es können aber mehrere
Eingänge
wechselweise zum ADC zugeschaltet werden. Die ADCs haben
normalerweise
eine Auflösung von 10 Bit. Die mit "*"
gekennzeichneten ADCs
sind nur 8 Bit breit.
USART:
(oder auch SCI)
Serielle Schnittstelle, die sich z.B.
als RS232 verwenden lässt.
SSP: (oder auch
MSSP)
Synchrone serielle Schnittstelle, die
sich als SPI wie auch als I2C
verwenden
lässt.
Die MSSP-Schnittstelle
unterstützt
Slave- und Master-Funktionen, während die SSP-Hardware nur
Slave-Funktionen
unterstützt.
I2C:
I2C-Bus Anschluss. Dieser
Anschluss
ist Bestandteile der SSP (synchroner serieller Port).
CCP:
Anzahl der Capture/Compare/PWM-Module.
Mit
diesen
Modulen
lassen
sich
Impulse
Messen
und
Erzeugen.
Außerdem
können
pulsweitenmodulierte
Signale
ausgegeben
werden.
Timer:
Anzahl der Timer. Ist nur 1 Timer
vorhanden,
handelt es sich um einen 8-Bit-Timer. Bei 3 Timern sind 2 davon
16-Bit
breit. Der Watchdogtimer ist in dieser Zahl noch nicht
enthalten.
nanoWatt
Stromspartechnologie, die vor allem
auf
einen kalibrierten, internen Taktgenerator beruht, dessen
Frequenz
während
der Laufzeit umgeschaltet werden kann.
Preis
Die Conrad-Preise sind Einzelpreise
für die teuersten Varianten der Schaltkreise (Stand Mitte
2006).
Bei
der Wahl einfacherer Gehäuse, niedrigerer Taktfrequenz oder
größerer
Stückzahlen (ab 3 Stk.) sind die Preise z.T. deutlich
niedriger.
Die Reichelt-Preise sind Preise der
PICs
in der jeweils schnellsten Variante im DIL-Gehäuse. (Stand
Mai
2006.)
Von PBrenner
unterstützt
Wenn PBrenner zusammen mit einem Brenner5
oder Brenner3 diesen
PIC
programmieren
kann, so ist das hier erwähnt. Manchmal steht dort auch, ab
welcher
Programmversion die Unterstützung eingearbeitet ist.
Wenn die Unterstützung gerade
eingearbeitet
wird oder für die nähere Zukunft geplant ist steht das
ebenfalls
hier.
Auf jedem PIC befindet sich die Typenangabe mit angehangenen Zusätzen nach folgendem Muster:
PIC16Fxxx - AAB /CC
| AA | die maximale Taktfrequenz in MHz: |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| B | Temperaturbereich |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| CC | Gehäuse
(Zahlen in Klammern
sind |
|
Quelle: Datenblätter der Firma microchip