Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
elektronik:osccal [08.12.2024 21:53] – angelegt Martin Fitzel | elektronik:osccal [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== OSCCAL ====== | ||
+ | Bei einigen PICs (12F629 / 12F675 / 16F630 / 16F676) gibt es eine Besonderheit, | ||
+ | |||
+ | ===== Zweck von OSCCAL ===== | ||
+ | Es handelt sich um einen OSCillator CALibration Wert. Da der PIC mit einem internen Oszillator betrieben werden kann (dies spart einen externen Quarz), wird dieser Wert bereits in der Chip-Fabrik an einer Speicherstelle programmiert. Dadurch können Toleranzen in der Taktfrequenz abgefangen werden. | ||
+ | Der 16F627 besitzt den OSCCAL übrigens nicht! | ||
+ | |||
+ | ===== Warum wird der OSCCAL verwendet? ===== | ||
+ | Die Verwendung des OSCCAL-Wertes wurde notwendig, damit alle Kombinationen von Dekoder und Zentrale zusammen laufen. Denn auch die Zentrale hat gewisse Toleranzen. Wenn nun eine langsame " | ||
+ | |||
+ | ===== Wie funktioniert das? ===== | ||
+ | Der OSCCAL liegt in der letzten Speicherstelle des Programm-Speichers und wurde dort von der Chip-Fabrik einprogrammiert. Beim Start des PIC-Programmes wird dieser Wert dann ausgelesen. | ||
+ | |||
+ | ===== Wie kommt es zu Problemen? ===== | ||
+ | Beim Brennen des PIC wird der Programmspeicher mit dem eigentlichen Programm geladen. Und genau hier sieht man schon die Gefahr: dort liegt ja schon der OSCCAL rum. Um diesen nicht zu überschreiben, | ||
+ | Aber auch mit der guten PC-Programmier-Software kann es vorkommen, das der OSCCAL verloren geht. Wird der Programmier-Vorgang z.B. gestört, so ist evtl. der Speicher schon gelöscht, aber der OSCCAL-Wert noch nicht wieder zurück-programmiert worden. In diesem Fall: OSCCAL schnell notieren und später wieder einprogrammieren. | ||
+ | |||
+ | Unsere Software (PICkit 3 Programmer) zeigt den OSCCAL-Wert im Kopf an - dieser muss also beim ersten Auslesen des PICs notiert werden und zur Not später zurückgesetzt werden. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{tag> |