Infos












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 2

Zum mySmartUSB gehört auch das Programm "myAVR ProgTool Version 1.01". Damit kann man die Fuse-Bits einstellen. Aber das ist derzeit so schlecht und unpraktisch gelöst, dass es quasi nicht benutzbar ist. Man hat mir zugesagt, dass es in ein paar Wochen eine neue Version dieses Tools geben soll. Bis dahin empfehle ich nicht dieses Tool, sondern die Demo Version des Programmes "myAVR WorkpadPLUS" zum Einstellen der Fuse-Bits zu verwenden.


Hinweis von myAVR:
Inzwischen gibt es das "myAVR ProgTool 1.31". Sie können es auf shop.myavr.de kostenlos herunterladen. Die Menüs sind die gleichen wie beim myAVR Workpad.
(myAVR ProgTool 1.31 Download)


Zuerst holt man sich die aktuelle Demo Version die man unter der Adresse http://shop.myavr.de/index.php?sp=download.sp.php herunterladen kann. Suche dort einfach nach "myAVR Workpad PLUS". Während ich diesen Beitrag schreibe ist dort die "myAVR Workpad PLUS, Demo Version 1.4" aktuell. Nach dem Herunterladen kann das Programm wie üblich installiert werden.

Dann sollte man den mySmartUSB einstecken und an diesen einen ATmega8 anschließen. Z.B. über eines der empfohlenen Experimentierboards oder über ein Steckbrett. Dann kann man das Programm starten.

Über das Menü "Extras/Einstellungen" kommt man in das Fenster "Optionen - myAVR Workpad PLUS". In diesem kann man nun den "mySmartUSB" auswählen und testen. Links unten kann man noch den angeschlossenen Controller auswählen. Das sollte der "ATmega8" sein. Mit einem Klick auf die Schaltfläche "Speichern", werden die Einstellungen gespeichert und man kehrt zum Hauptfenster zurück.

     


Zu den Fuse-Bits kommt man über das Menü "Extras/Fuse- und Lock-Bits". Wenn der µC erkannt wird, dann sollte das Fenster in etwa so aussehen:





Einstellungen

Brown-Out

Mit einem Häckchen bei "Brown-out detection enabled" kann man den Brown-Out-Detektor einschalten. Dieser schaltet den µC in den Reset-Modus, solange die hier angegebene Spannung unterschritten wird. Wenn das Programm nur dann korrekt funktioniert wenn die Versorgungsspannung passt, dann ist die Brown-Out-Erkennung eine feine Sache. Z.B. braucht das Schreiben von Daten in den EEPROM eine Mindestspannung und würde nicht funktionieren wenn diese unterschritten wird. Es könnte z.B. sein, dass sich die Spannung beim Einschalten des Gerätes langsam aufbaut weil vielleicht ein großer Kondensator geladen werden muss. In so einem Fall kann man Brown-Out aktivieren, um das Programm erst dann starten zu lassen, wenn die benötigte Spannung am µC anliegt.

Ext-Clock




Mit diesen drei Einstellungen kann man den µC so einstellen, dass dieser seinen Takt von einem externen Taktgeber erhält. Diese Einstellung sagt dem µC, dass ein eigenständiges Taktsignal von einem Oszillator kommt -- bitte nicht mit einem Quarz verwechseln. Für einen Quarz gibt es andere Einstellungen.

Setzt man zusätzlich auf der nächsten Seite bei der Einstellung CKOPT ein Häckchen, dann wird ein eingebauter 36 pF Kondensator zwischen XTAL1 und GND aktiviert. Das Häckchen bei CKOPT sollte bei diesen drei Einstellungen normalerweise nicht gesetzt sein.

Detaillierte Informationen darüber findet man im ATmega8-Datenblatt im Kapitel "External Clock".

Die Angaben "6 CK + 0 ms", "6 CK + 4 ms" und "6 CK + 64 ms" geben an, wie lange der µC dem Oszillator Zeit geben soll um sich einzuschwingen. Viele Oscillatoren brauchen ein wenig Zeit bevor diese im richtigen Takt schwingen. Damit in dieser Zeit keine zeitkritischen Dinge vom µC erledigt werden, wartet der µC die angegebene Zeit ab bevor das Programm gestartet wird. Wenn es nicht wichtig ist, dass der µC sehr schnell nach dem Anlegen der Spannung verfügbar ist, dann sollte man dem Oszillator die maximale Zeit zum Einschwingen geben. Wenn es wichtig ist, dass der µC so schnell wie möglich verfügbar ist, dann sollte man zuerst das Kapitel darüber im Datenblatt lesen bevor man die Einschwingzeit verkürzt. Die hiermit eingestellte Einschwingzeit gilt auch für das Aufwachen des µC, wenn man diesen vorher in einen Schlafmodus gesetzt hat. Dieser Absatz gilt für alle weiteren, hier aufgeführten Clock-Einstellungen und wird für die anderen Einstellungen nicht mehr gesondert erklärt.

Int. RC Osc.



Mit diesen Einstellungen stellt man den µC so ein, dass dieser ohne externen Oscillator oder Quarz funktioniert. Es wird der in den µC eingebaute RC-Oscillator verwendet. Dieser eingebaute RC-Oscillator kann auf 1, 2, 4 und 8 MHz eingestellt werden. Die Standardeinstellung ist 1 MHz. Das ist nicht sonderlich schnell, braucht aber weniger Strom als eine hohe Frequenz. Je höher die Frequenz, desto öfter wird das Programm durchlaufen. Desto öfter werden Messungen vorgenommen und Pins auf HIGH oder LOW gesetzt. Die Frequenz kann bis zu 3% (1% wenn kalibriert) von der Vorgabe abweichen. Der eingebaute RC-Oscillator kann nie so genau wie ein Quarz sein. Aber für viele, nein sogar für die allermeisten, Anwendungen wird der eingebaute RC-Oscillator genügen. Wählt man eine dieser Einstellungen, dann muss auf der nächsten Seite das Häckchen von der Einstellung CKOPT entfernt werden, damit nicht noch zusätzlich die eingebauten 36 pF Kondensatoren aktiviert werden.

Da ich in den nächsten Beiträgen vermehrt auf die Verbindung zwischen µC und Computer über RS-232 eingehen werde, ist es interessant, hier auf 8 MHz zu stellen. Warum das für die Kommunikation mit dem Computer besser als 1 MHz ist werden ich später erklären.

Ext. RC Osc.



Man kann mit einem Widerstand (R) und einem Kondensator (C) einen eigenen RC-Oscillator aufbauen. Je nach Größe des Widerstands und Kapazität des Kondensators schwingt dieser RC-Oscillator in verschieden hohen Frequenzen. Um einen externen RC-Oscillator als Taktgeber zu verwenden, nimmt man diese Einstellungen. Es muss nur noch angegeben werden, wie hoch in etwa die Frequenz des RC-Oscillators ist, damit sich der µC intern besser auf die Frequenz einstellen kann. Setzt man auf der nächsten Seite ein Häckchen bei CKOPT, dann wird zwischen XTAL1 und GND ein 36 pF Kondensator aktiviert. So kann man den externen RC-Oscillator mit nur einem Widerstand aufbauen. Ein Schaltplan dafür ist im ATmega8-Datenblatt zu finden.

Ext. Low-Freq. Crystal



Diese Einstellung nimmt man, wenn man einen 32.768 Hz Uhrenquarz anschließt. Setzt man auf der nächsten Seite das Häckchen bei der Einstellung CKOPT, dann kann man sich die externen Kondensatoren sparen. Mit CKOPT werden die internen 36 pF Kondensatoren an den Pins XTAL1 und XTAL2 aktiviert.

Ext. Cristal/Resonator



Damit kann man an die Pins XTAL1 und XTAL2 einen Quarz anschließen. Beide Pins des Quarz müssen mit jeweils einem 22 pF Keramikkondensator gegen GND geschaltet werden.



Dadurch ist es möglich, den µC sehr genau zu takten. Das ist für die verschiedensten Anwendungen wichtig. Z.B. wenn man eine Frequenz messen oder eine genaue Frequenz erzeugen möchte. Oder wenn mit hoher Geschwindigkeit mit dem Computer oder mit anderen µControllern kommuniziert wird. Der interne RC-Oscillator kann maximal 8 Mhz erzeugen. Mit einem externen Quarz kann der µC mit bis zu 16 Mhz betrieben werden.

Low Freq.:
  • 0,4 bis 0,9 Mhz
  • nur Keramik-Oszillator
Medium Freq.:
  • 0,9 bis 3 Mhz
High Freq.:
  • 3-8 Mhz
  • mit einem Häckchen bei CKOPT bis zu 16 Mhz
Um einen Quarz mit einer Frequenz zwischen 8 und 16 Mhz anschließen zu können, muss ein Häckchen bei der Einstellung CKOPT (auf der nächsten Seite) gesetzt werden.

Vorsicht!
Nachdem die Fuse-Bits umgestellt wurden, muss der µC kurz von der Versorgungsspannung getrennt werden. Erst dann werden die neuen Einstellungen wirksam.


Den zugehörigen Original-Beitrag findest du im Loetstelle-Forum.



zurück zu Teil 1 weiter zu Teil 3




myMCU Seminare

Ab sofort bieten wir auch Seminare zur Mikrocontroller-Programmierung an
Mehr Informationen erhalten Sie hier   

AVR-Produktlinie

mySmartUSB

myEthernet

Unsere Regionalpartner

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.