PIC-Flash-Controller-Übersicht


 zurück zu PIC-Prozessoren , ElektronikHomepage

PIC-Familien

PICs mit 8-Bit-Datenbreite

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


PICs mit 16-Bit-Datenbreite

die 24-Bit-Kern-PIC-Flash-Microcontroller mit 16-Bit-Datenverarbeitung


Beschriftung der PICs
Gehäusebauformen



PIC-Familien

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.

die
        PIC-Microcontroller-Familie

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:

Die Bit-Angabe hat nichts mit der Datenwortbreite im PIC zu tun, sondern nur mit der Codierung der Befehle des PIC. Eine größere Bit-Zahl deutet also auf einen komplexeren Controller mit leistungsfähigerem Befehlssatz hin.

PICs mit 8-Bit-Datenbreite
 
 
12-Bit-Kern Controller 14-Bit-Kern Controller 16-Bit-Kern Controller
(Base-Line-Family) (Mid-Range-Family) (High-End-Family  &  Enhanced-Family)
Datenwort 8 Bit
Befehlswort 12 Bit
typische Programmspeichergröße 256  .. 2k Worte
typische EEPROM-Größe 0
typische RAM-Größe 16 .. 134 Byte
Stack-Tiefe 2
Interrupts keine
Gehäusegrößen 6 .. 40 Pin
max. Taktfrequenz 4 MHz .. 20 MHz
verschiedene Befehle ~33
Hardwaremultiplikation nein
typische Vertreter: PIC10F200
PIC16F505
PIC16F59
.
Datenwort 8 Bit
Befehlswort 14 Bit
typische Programmspeichergröße 1  .. 8k Worte  -  segmentiert
typische EEPROM-Größe 0 .. 256 Byte
typische RAM-Größe 64 .. 368 Byte
Stack-Tiefe 8
Interrupts einfach
Gehäusegrößen 8 .. 40 Pin
max. Taktfrequenz 4 MHz .. 20 MHz
verschiedene Befehle ~35
Hardwaremultiplikation nein
typische Vertreter: PIC16F84
PIC16F876
PIC12F675
Typenliste
Typengrafik
Datenwort 8 Bit
Befehlswort 16 Bit
typische Programmspeichergröße 4k  .. 128k Byte  -  linear
typische EEPROM-Größe 0 .. 1024 Byte
typische RAM-Größe 256 .. 3936 Byte
Stack-Tiefe 31
Interrupts priorisiert
Gehäusegrößen 18 .. 100 Pin
max. Taktfrequenz 4 MHz .. 40 MHz
verschiedene Befehle ~75
Hardwaremultiplikation ja 8x8
typische Vertreter: PIC18F242
PIC18F2455
PIC18F4680
Typenliste
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.

Bevor man nun seinen Wunschtyp nur anhand technischer Daten und Softwarepreferenzen auswählt, sollte man mal einen Blick in die Kataloge einschlägiger Elektronikhändler werfen. Nur ein Teil der existierenden Typen ist dort auch gelistet, und steht dem Bastler damit zur Verfügung.

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)


 zurück zu PIC-Prozessoren , ElektronikHomepage

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.
 

Typ
Programm-
Speicher
[14-Bit-Worte]
RAM
[byte]
EEPROM
[byte]
Pins
(PDIP)
I/O-Pins
ADC-
Inputs
Com-
parator
USART
(RS232)
SSP
(I2C)
CCP
Timer
nanoWatt
ca. Preis 
bei Conrad
Preis 
bei Reichelt
von PBrenner / USBurn unterstützt
12F629
1k
64 
128
 8
6
-
1
 -
-
 -
2
-
€ 3,27
€ 1,15
ja
12F635
1k
64
128
8
6
-
1
-
-
-
2
ja
-
€ 1,35
ja
12F675
1k
64
128
8
6
4
1
 -
-
 -
2
-
€ 3,88
€ 1,25
ja
12F683
2k
128
256
8
6
4
1
-
-
1
2
ja
-
€ 1,40
ja
                               
16F630
1k
64
128
14
12
-
1
-
-
-
2
-
 -
€ 1,40
ja
16F636
2k
128
256
14
12
-
2
-
-
-
3
ja
-
-
ja
16F676
1k
64
128
14
12
8
1
-
-
-
2
-
 -
€ 1,60
ja
16F684
2k
 128
256
14
12
8
2
-
-
1
3
ja
-
€ 1,55
ja
16F687
2k
128
256
20
18
12
2
1
1
-
2
ja

€ 1,65 ja
16F688
4k
256
256
14
12
8
2
1
-
-
2
ja
-
€ 1,65
ja
16F690
4k
256
256
20
18
12
2
1
1
1
3
ja

€ 1,95 ja
                               
16F84(A)
1k
68
64
18
13
-
-
-
-
-
1
-
 € 11,39
€ 4,35(3,85)
ja
16F87
4k
368
256
18
16
-
2
1
1
1
3
ja
-
-
ja
16F88
4k
368
256
18
16
7
2
1
1
1
3
ja
-
€ 3,10
ja
16F627(A)
1k
224
128
18
16
 -
2
1
-
1
-
€ 4,04
€ 2,85(1,90)
ja
16F628(A)
2k
224
128
18
16
-
2
1
-
1
3
-
 € 4,61
€ 2,85(1,95)
ja
16F648A
4k
224
128
18
16
-
2
1
-
1
3
-
-
€ 2,30
ja
16F818
1k
128
128
18
16
5
-
-
1
1
3
ja
-
€ 2,75
ja
16F819
2k
256
256
18
16
5
-
-
1
1
3
ja
-
€ 2,35
ja
16F870
2k
128
64
28
22
5
-
1
-
1
3
-
 € 8,71
€ 2,95
ja
16F871
2k
128
64
40
33
8
-
1
-
1
3
-
 -
€ 3,50
ja
16F872
2k
128
64
28
22
5
-
 -
1
1
3
-
 € 8,71
€ 2,95
ja
16F873
4k
192
128
28
22
5
-
1
1
2
3
-
 € 9,78
€ 5,40
ja
16F874
4k
192
128
40
33
8
-
1
1
2
3
-
 € 10,86
€ 5,95
ja
16F876
8k
368
256
28
22
5
-
1
1
2
3
-
 € 10,72
€ 6,20
ja
16F877
8k
368
256
40
33
8
-
1
1
2
3
-
 € 11,65
€ 4,95
ja
16F87xA
wie 16F87x
wie 16F87x
wie 16F87x
wie 16F87x
wie 16F87x
wie 16F87x
2
wie 16F87x
wie 16F87x
wie 16F87x
wie 16F87x
-
-
etwas billiger
ja
16F882
2k
128
128
28
24
11
2
1
1
2
3
ja


ja
16F883
4k
256
256
28
24
11
2
1
1
2
3
ja


ja
16F884
4k
256
256
40
35
14
2
1
1
2
3
ja


ja
16F886
8k
368
256
28
24
11
2
1
1
2
3
ja


ja
16F887
8k
368
256
40
35
14
2
1
1
2
3
ja


ja
                               
16F72
2k
128
-
28
22
5*
-
-
1
1
3
-
 -
-
ja
16F73
4k
192
-
28
22
5*
-
1
1
2
3
-
 € 11,36
€ 3,40
ja
16F74
4k
192
-
40
33
8*
-
1
1
2
3
-
 € 13,16
€ 5,85
ja
16F76
8k
368
-
28
22
5*
-
1
1
2
3
-
 € 12,26
€ 4,40
ja
16F77
8k
368
-
40
33
8*
-
1
1
2
3
-
 € 16,57
€ 4,85
ja
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
16F737
4k
368
-
28
25
11
2
1
1
3
3
ja
 -
€ 3,90
ja
16F747
4k
368
-
40
36
14
2
1
1
3
3
ja
 -
 -
ja
16F767
8k
368
-
28
25
11
2
1
1
3
3
ja
 -
 -
ja
16F777
8k
368
-
40
36
14
2
1
1
3
3
ja
 -
-
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.



Beschriftung der PICs

Auf jedem PIC befindet sich die Typenangabe mit angehangenen Zusätzen nach folgendem Muster:

PIC16Fxxx - AAB /CC

dabei bedeuten:
 
AA die maximale Taktfrequenz in MHz:
04 4 MHz
10 10 MHz
20 20 MHz
B Temperaturbereich
leer 0°C ... 70°C
I -40°C ... +85°C
E -40°C ... +125°C
CC Gehäuse

(Zahlen in Klammern sind 
die Gehäusebreite ohne Pins)


P
PDIP
(DIL 13,6 mm / 600 mil)
Reihenabstand 15 mm
Pinabstand 2,54 mm
40 Pins

werden Schaltkreise mit <40 Pins 
mit P bezeichnet, so ist SP gemeint!


SP
PDIP
(DIL 6,5 mm / 300 mil)
Reihenabstand 7,5mm
Pinabstand 2,54 mm
8/14/18/28 Pins

SO
SOIC
(7,5 mm / 300 mil)
Pinabstand 1,27 mm
18/28 Pins

SL
SOIC
(3,9 mm / 150 mil)
Reihenabstand ca. 5,2 mm
Pinabstand 1,27 mm
14 Pins

SN
SOIC
(6,0 mm / 150 mil)
Reihenabstand 7,5 mm
Pinabstand 1,27 mm
8 Pins

SS
SSOP
(5,3 mm / 209 mil)
Pinabstand 1,27 mm
20/28 Pins

MS
MSOP
(3mm)
Reihenabstand ca. 4 mm
Pinabstand 0,65 mm
8 Pins

ST
TSSOP
(4,4mm)
Reihenabstand ca. 6 mm
Pinabstand 0,65 mm
14 Pins

PT
TQFP
(10x10x1mm)
Pinabstand 0,8 mm
44 Pins

(10x10x1mm)
Pinabstand 0,5 mm
64 Pins

(12x12x1mm)
Pinabstand 0,5 mm
80 Pins

(12x12x1mm)
Pinabstand 0,4 mm
100 Pins
.

PF TQFP
(14x14x1mm)
Pinabstand 0,8 mm
64 Pins

(14x14x1mm)
Pinabstand 0,65 mm
80 Pins

(14x14x1mm)
Pinabstand 0,5 mm
100 Pins


PQ
MQFP
(10x10x2mm)
Pinabstand 0,8 mm

MF
DFN-S
(6 x 5 mm)
Pinabstand 1,27 mm
8 Pins

MF
MLF
(6 x 5 mm)
Pinabstand 1,27 mm
8 Pins

MLF
(6 x 6 mm)
Pinabstand 0,65 mm
28 Pins


ML
MLF
(6x6mm  QFN)
Pinabstand 0,65 mm
28 Pins

L
PLCC
(17x17x4,4mm)
Pinabstand 1,27 mm
44 Pins
SOT-23
(3,0 x 1,6 x 1,1 mm)
Reihenabstand ca. 2,5 mm
Pinabstand 0,95 mm
6 Pins



Gehäusebauformen
 
PDIP ist das normale DIL-Gehäuse für die Montage auf gebohrten Leiterplatten oder in DIL-Fassungen. Der Reihenabstand beträgt bei 8-/14-/18- und 28-poligen ICs 7,5mm (Gehäusekennung SP). Nur 40-polige ICs werden mit 15-mm-Reihenabstand hergestellt (Gehäusekennung P).
Der Pin-Abstand ist 2,54 mm (1/10 Zoll)
PDIP
SOIC ist ein 1,5-mm-dickes SMD-Gehäuse zur Oberflächenmontage. Es gibt unterschiedliche Versionen mit verschiedenen Gehäusebreiten (SO, SL, SN). 
Der Schaltkreis ist ohne Pins 4 mm, 6,5 mm oder 7,5 mm breit.
Die Länge hängt von der Zahl der Pins ab.
Der Pinabstand ist 1,27 mm.
SOIC
DFN-S ist ein besonders flaches SMD-Gehäuse mit unter das Gehäuse gebogenen Lötflächen. Der Schaltkreis ist 6 mm breit und nur 1 mm dick. Es entspricht im Wesentlichen dem MLF-Gehäuse.
MLF-S ist ein besonders flaches SMD-Gehäuse mit unter das Gehäuse gebogenen Lötflächen. Der Schaltkreis ist 6 mm breit und nur 1 mm dick.
TSSOP ist ein besonders flaches SMD-Gehäuse mit einem PIN-Abstand von nur 0,65 mm. Der Schaltkreis ist dadurch sehr kurz und nur 1 mm dick.
TQFP bzw. MQFP sind quadratische SMD-Gehäuse. Die beiden Ausführungen haben leicht unterschiedliche Abmaße.

Bei 64- 80- und 100-Pin TQFP-Gehäusen gibt es jeweils zwei unterschiedliche Ausführungen mit verschiedenen Pinabständen (PT bzw. PF).
TQFT 80-pin
PLCC ist ein quadratisches  Gehäuse, das sich nicht nur zum SMD-löten, sondern auch zum Einsatz in Schaltkreisfassungen (PLCC-Fassung) eignet.  PLCC

 zurück zu PIC-Prozessoren , ElektronikHomepage
Autor: sprut
erstellt: 02.10.2001
letzte Änderung 20.11.2008

Quelle: Datenblätter der Firma microchip