14-Bit-Kern-PIC-Flash-Controller-Übersicht

 8-Bit Datenbreite
(PIC12Fxxx /PIC16Fxxx)


 zurück zu PIC-Prozessoren , ElektronikHomepage

14-Bit-Kern-Typen-Historie
Übersichtsgrafik
 

zurück zur PIC-Flash-Controller Gesamtübersicht



14-Bit-Kern-Typen-Historie

Wenn man die 14-Bit-Kern-PICs in Gruppen einteilen will, dann orientiert man sich dabei am Besten an der Anzahl der Pins der DIL-Gehäuse. Dabei ergeben sich dann drei Gruppen, deren Mitglieder direkt verwandt sind:


Am Anfang war der PIC16F84 ..............
Natürlich gab es schon vorher PICs, aber deren Programmspeicher ließ sich nur ein Mal beschreiben und nicht wieder (oder nur mit UV-Licht) löschen (OTP). Für den experimentierfreudigen Bastler war das alles andere als ideal. Erst PICs mit Flash-Prorammspeicher machten es den Bastlern einfach.

Wenn man sich dann die zeitliche Entwicklung seit dem Erscheinen des PIC16F84 ansieht, dann erkennt man vor allem das Bestreben der Entwickler, den Energieverbrauch der PICs zu optimieren. aber es wird auch stets versucht, dass "Brennen" der PICs zu beschleunigen sowie mehr Hardware in die Chips zu integrieren.

1. Generation (1998..2000)

Mit dem PIC16F84 (18 Pins) kam der erste PIC mit Flash-Speicher auf den Markt, den man praktisch unbegrenzt oft programmieren konnte. Ein Programm musste also nicht schon beim ersten Mal perfekt funktionieren, man konnte Fehler nach und nach finden und den PIC mit immer neuen verbesserten Programmen beschreiben. Allerdings war der 18-beinige PIC16F84 sehr spartanisch ausgestattet. Außer Flash, RAM, EEPROM und drei Timern hatte er nicht viel zu bieten.

Es folgte die PIC16F87x-Familie mit 28 und 40 Pins. Die hatten nicht nur mehr Pins, sondern auch eine Reihe zusätzlicher Interface-Hardware. Außerdem integrierte man eine Typenkennung, die von Programmiergeräten ausgelesen werden konnte und erhöhte den maximalen Arbeitstakt auf 20 MHz. (der PIC16F84 hatte nur 10 MHz).

Der mit dem 16F87x gesetzte Standard wurde auf den 16F84 übertragen und das Ergebnis war der PIC16F84A. Das ist ein 16F84 mit einer auslesbaren Typenkennung und einer maximalen Taktfrequenz von 20 MHz.

Als preisgünstigeren Alternative zu den PIC16F87x produzierte man PIC16F7x, die nicht über einen EEPROM verfügten.


1.5 Generation

Die 16F87x wurden überarbeitet, und das Ergebnis waren die PIC16F87xA. Aus Sicht des Anwenders ist der einzige größere Unterschied zum Vorgänger die Integration von Comparatoren. Das Hauptziel war aber wohl die Beschleunigung des Brennprozesses. Für Industriekunden mit laufender Serienproduktion ist das ein bedeutender Parameter, für den Bastler interessieren ein paar Sekunden Zeitgewinn beim Basteln kaum.


2. Generation  (INTOSC)

Alle bisherigen Flash-PICs benötigen einen externen Oszillator oder Resonator zur Takterzeugung. Im RC-Mode reicht zwar ein Widerstand und ein Kondensator, aber an Genauigkeit oder Stabilität des Taktes durfte man dann keine hohen Ansprüche stellen. Mit den nächsten PICs führte man interne Oszillatoren ein. Das vereinfacht zum einen die Schaltung, ermöglicht es aber auch, zwei zusätzliche Pins für I/O-Funktionen zu benutzen.
Der Vorreiter war hier der PIC16F62x (18 Pins) der eigentlich den 16F84A überflüssig machte, da er ihn mehr als ersetzen konnte. Der Chip wurde später zum 16F62xA überarbeitet. Das einzige, was den 16F62x im Vergleich zu den großen 16F87x, fehlte war ein ADC.

Gleichzeitig erschien die PIC1xF6xx-Familie (12F629/675, 16F630/676) auf dem Markt. Die gibt es als PIC12F6xx mit 8 Pins sowie als PIC16F6xx mit 6 zusätzlichen I/O-Pins (also 14 Pins). Es gab sie von Anfang an mit internem Oszillator und es gab auch sofort Versionen mit ADC. Die kleine Gehäusebauform führte zu geringen Kosten und reichte für viele einfache Anwendungen aus. Während der interne Oszillator des 16F62x noch einen Frequenzfehler von einigen Prozent aufweisen konnte, konnte der Oszillator des1xF6xx per Software justiert werden. Den nötigen Korrekturwert brannte der Hersteller in den Programmspeicher. Das war etwas umständlich (der Kalibrierwert konnte durch Brennfehler verloren gehen) garantierte aber Frequenzfehler von unter 1 Prozent.


3. Generation  (nanoWatt  2003..2010)

Die nachfolgende Generation zeichnet sie durch einen weiter verbesserten internen Oszillator aus. Dieser konnte zwar immer noch per Software fein abgestimmt werden, allerdings war das kaum nötig, da er schon während der Herstellung auf einen Fehler von unter 1 % justiert wurde. Außerdem war nun  nicht mehr nur eine oder zwei Frequenzen verfügbar, sondern es konnte aus einer ganzen Reihe von Frequenzen ausgewählt, und diese im Betrieb umgeschaltet werden. Das Ziel war ein PIC mit minimiertem Stromverbrauch.
Für praktisch alle bisherigen PICs wurden Nachfolger mit dieser nanoWatt-Technik hergestellt.

°
12F629/675   ==> 
12F635/683

° 16F630/676   ==>  16F636/684/688

° 16F84A   ==>  16F87/88   ==>  16F818/819
° 16F7x   ==>  16F7x7

° 16F87xA   ==>  16F88X


Obendrein wurden aus den 14-Pin Typen 16F6xx neue 20-Pin Typen entwickelt, indem man noch einmal 6 zusätzliche I/O-Pins hinzufügte.
Spezielle Typen zur Ansteuerung von LCDs wurden mit 28, 40 und erstmals auch mit 64 Pins herausgebracht.


4. Generation  (enhanced  2009 ....)

Was immer man bisher auch an den PICs verändert hatte, so war doch der eigentliche CPU-Kern nicht angetastet worden. Das hatte es für die Entwickler sehr einfach gemacht, ein Programm von einem PIC auf einen anderen zu portieren. Die alten 14-Bit-Kerne hatten aber auch einige Schwachpunkte, insbesondere wenn man  sie nicht in Assembler programmieren wollte. Deshalb überarbeitete man den Kern, spendierte ihm eine 16-bittige indirekte Adressierung, die Möglichkeit einen zusammenhängenden linear adressierbaren Speicher abzubilden sowie einige zusätzliche Befehle, die eine Programmierung in C deutlich vereinfachten. Dabei blieb der Kern aber abwärtskompatibel zu den herkömmlichen PICs. Alter Code lässt sich problemlos auf den Enhanced-PIC portieren. Der umgekehrte Weg ist nicht uneingeschränkt möglich, aber warum auch. Schließlich wurden praktisch für aller herkömmlichen Familien nun Nachfolger mit Enhanced-Kern produziert. Man erkennt sie an der 4-stelligen Subtypennummer.

° 16F88x   ==> 
16F151x
° 16F9xx   ==> 
16F19xx
° 16F7x7   ==> 
16F178x
° 16F818/819   ==> 
16F??
° 16F62xA
  ==> 
16F1826/1827/1847

14-Bit-Stammbaum

.


 zurück zu PIC-Prozessoren , ElektronikHomepage


Autor: sprut
erstellt: 25.05.2011
letzte Änderung 24.08.2011

Quelle: Datenblätter der Firma microchip