Dies ist eine alte Version des Dokuments!


NTB AVR-Headerboard

Repository

Div. Unterlagen, Altium Daten
  • Atmel AT90USB1287 USB Mikrocontroller
  • 32 MBit serielles Flash (SPI)
  • 8 MHz
  • USB-Schnittstelle
  • JTAG-Schnittstelle
  • 3.3V I/Os
  • Versorgung über USB möglich
NTB AVR Headerboard

Schema, User Manual und Datenblätter

Bootloader

Fuses

Am NTB werden die AVR Microcontroller mit nachfolgender Konfiguration eingesetzt. Die Grundkonfiguration kann mit einem JTAG über das Atmel AVR Studio unter dem Punkt Fuses eingestellt werden. Die Fuses können unter Tools - AVR Programming verändert werden. Die Konfiguration ist dabei wie folgt:

Fuse Wert
BODLEVEL 2V6
HWBE
OCDEN UNCHECKED
JTAGEN
SPIEN
WDTON UNCHECKED
EESAVE UNCHECKED
BOOTSZ 4096W_F000
BOOTRST UNCHECKED
CKDIV8
CKOUT UNCHECKED
SUT_CKSEL EXTXOSC_8MHZ_XX_258CK_65MS

Ändern des Clock-Prescalers zur Laufzeit

Falls der System Clock des AVRs geändert werden möchte, kann dies über den Clock-Prescaler erfolgen. Zum einen kann dieser über das Fuse-Bit CKDIV8 durch 8 dividiert werden oder zur Laufzeit kann das CLKPR-Register auf den gewünschten Wert gesetzt werden. Die Tabelle welcher Wert welchem Teiler entspricht ist im User Guide des AVRs in der Tabelle 6-10 (Seite 48) ersichtlich.
Um den Prescaler zu ändern, ist die Funktion clock_prescale_set(x) aus <avr/power.h> zu verwenden. Dies ist nötig, da nach Setzen des Change Enable-Bit im Register innerhalb von 4 Clock-Cycles der neue Teilerwert geschrieben werden muss. Dies ist jedoch nicht der Fall, wenn zweimal nacheinander ins CLKPR-Register geschrieben wird (siehe hier).