Kleiner Bascom AVR Kurs
Der folgende Bascom AVR Kurs ist erstellt von Gerold Penz und kann auch auf seiner Website
nachgelesen werden. Zum Bascom-Kurs von Gerold Penz |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
Fuse- und Lock-Bits: Teil 1Hallo!Jetzt möchte ich ein Thema erklären, welches von vielen ungern angesprochen wird. Aber so undurchsichtig ist es eigentlich gar nicht -- wenn man die richtigen Werkzeuge zur Hand hat oder ein wenig im Datenblatt des jeweiligen µC stöbert. Ich spreche von den Fuse-Bits und den Lock-Bits. Die Fuse-Bits und Lock-Bits sind die Grundeinstellungen des AVR-Mikrocontrollers. Diese Grundeinstellungen werden nicht beim normalen Übertragen eines Programmes geändert oder gelöscht. Unter anderem wird in diesen Grundeinstellungen festgelegt, ob der µC mit dem internen RC-Oszillator oder mit einem externen Quarz betrieben wird. Der ATmega8 hat einen RC-Oscillator eingebaut. Dieser liefert in der Basiseinstellung einen Takt von 1 Mhz. Diese Basiseinstellung kann man verändern. Z.B. so, dass der interne RC-Oszillator mit 8 Mhz und nicht mehr mit 1 Mhz läuft. Das ist noch nicht schlimm. Aber damit kann man auch einstellen, dass der Takt von einem externen Quarz oder Oszillator kommt. Hat man das so eingestellt und schließt keinen Quarz an, dann läuft der µC nicht bis ein Quarz angeschlossen wird. Die Fuse- und Lock-Bits können mit einem Programmer verändert werden. Ist der Programmer ein ISP-Programmer (In System Programming), dann kann man alle Einstellungen, bis auf die Einstellung die dafür zuständig ist, dass man den µC per ISP programmieren kann, verändern. Die Fuse-Bits für den Systemtakt werden sehr detailliert im Kapitel "System Clock and Clock Options" im detaillierten ATmega8-Datenblatt erklärt. Dann gibt es noch Einstellungen, die den Brown Out Detektor, den Watchdog Timer und den Boot Loader betreffen. Das haben wir noch nicht besprochen, deshalb gehe ich jetzt nicht näher darauf ein. Es gibt da noch eine Einstellung mit der man den Reset-Pin in einen normalen I/O-Pin umschalten kann. Wenn man das macht, dann kann der µC nicht mehr über ISP programmiert werden. Also Finger weg von der Einstellung mit dem Namen "RSTDISBL". Das kann man nur wieder umstellen, wenn man den µC mit einem speziellen Programmer (z.B. dem AVR-Dragon) programmiert. Dann gibt es noch die Lock-Bits. Mit diesen Einstellungen kann man z.B. den Programmcode vor dem Auslesen schützen. Der eingebaute EEPROM-Speicher kann auch geschützt werden. Die Lock-Bits werden im detaillierten ATmega8-Datenblatt im Kapitel "Program And Data Memory Lock Bits" aufgelistet. Das Verwirrende bei den Fuse- und Lock-Bits ist, dass eine 1 bedeutet, dass die Einstellung NICHT gesetzt ist und eine 0 bedeutet, dass die Einstellung GESETZT ist. Es ist also genau umgekehrt als das, was wir gewohnt sind. Bei den Lock-Bits kann man nichts falsch machen wenn man sie einfach unprogrammiert (auf 1 gesetzt) lässt. Deshalb werde ich nicht weiter darauf eingehen. Wer mehr darüber wissen will, sollte sich im ATmega8-Datenblatt darüber informieren. Die Lock- und Fuse-Bits werden im detaillierten Datenblatt des ATmega8 im Kapitel "Memory Programming" genau erklärt. Die Fuse-Bits befinden sich in zwei Registern. Es handelt sich also um 16 Einstellungen (einzelne Bits) die auf 0 oder 1 gesetzt werden können. Diese zwei Register werden in den verschiedenen Programmen oft "High Byte" und "Low Byte" genannt. Diese werden in den Programmen, die man zum Einstellen der Fuse-Bits verwenden kann, auch manchmal einzeln angezeigt. Im Fuse High Byte des ATmega8 befinden sich diese Einstellungen: |
||||||||||||||||||||||||||||||||||||
Table 87. Fuse High Byte
|
||||||||||||||||||||||||||||||||||||
Notes:
|
||||||||||||||||||||||||||||||||||||
Im Fuse Low Byte des ATmega8 befinden sich diese Einstellungen: |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
Notes:
|
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
Die gleichnamigen Bits, wie z.B. SUT1 und SUT0 bilden zusammen eine Einstellung.
Und wenn man wissen will was eine Einstellung genau bewirkt, dann sollte man das ATmega8-Datenblatt nach
dieser Einstellung durchsuchen. Das funktioniert mit allen gängigen PDF-Reader wie z.B. dem "Foxit Reader" oder
dem "Adobe Reader". Im nächsten Beitrag erkläre ich, wie man mit dem mySmartUSB die Fuse-Bits einstellen kann. Den zugehörigen Original-Beitrag findest du im Loetstelle-Forum. |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
weiter zu Teil 2 |
myMCU Seminare |
SiSy Sprechstunde
Ab sofort können Sie online an unserer kostenlosen
SiSy-Sprechstunde teilnehmen. Sie findet jeweils am ersten Dienstag im Monat statt. |
Wir suchen noch Regionalpartner!
In Ihrem Land gibt es noch keinen Regionalpartner?
Nehmen Sie mit uns Kontakt auf und vertreiben Sie unsere Produkte in Ihrer Region! |
Wir sind Sponsor
... von Roboternetz, der größten deutschen Roboter-Community
»»»
|
Hinweis
Sie müssen Ihre Cookies eingeschalten haben, um unseren Shop vollständig nutzen zu können.
|