Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
embedded_systems:avr8:ntb_avr-headerboard [2014-03-31 16:19] – kalberer | embedded_systems:avr8:ntb_avr-headerboard [2022-06-08 17:25] – Urs Graf |
---|
[{{ .:20131008_140239.jpg?300&direct|NTB AVR Headerboard}}] | [{{ .:20131008_140239.jpg?300&direct|NTB AVR Headerboard}}] |
===== Schema, User Manual und Datenblätter ===== | ===== Schema, User Manual und Datenblätter ===== |
* {{:Datenblaetter:at90usb64x_at90usb128x_userguide.pdf|AT90USB64x/AT90USB128x User Guide (PDF)}} | * [[https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiLpcj2lJ74AhWwgf0HHV9iCrMQFnoECBMQAQ&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2Fdoc7593.pdf&usg=AOvVaw0geVVt-gKG7olktutVeBKm|AT90USB64x/AT90USB128x User Guide (PDF)]] |
* {{.:Schema_AVR-USB-Headerboard.pdf|Schema}} | * {{.:Schema_AVR-USB-Headerboard.pdf|Schema}} |
| |
| ===== Bootloader für Flip ===== |
| {{:embedded_systems:avr8:at90usb128-bl-usb-1_0_1.hex|Bootloader für Flip}} |
| |
===== Fuses ===== | ===== Fuses ===== |
Am NTB werden die AVR Microcontroller mit nachfolgender Konfiguration eingesetzt. Die Grundkonfiguration kann mit einem JTAG über das [[:Software:Atmel AVR Studio:start | 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: | Am NTB werden die AVR Microcontroller mit nachfolgender Konfiguration eingesetzt. Die Grundkonfiguration kann mit einem JTAG über das Microchip 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 ^ | ^ Fuse ^ Wert ^ |
| BODLEVEL | 2V6 | | | BODLEVEL | 2V6 | |
| BOOTSZ | 4096W_F000 | | | BOOTSZ | 4096W_F000 | |
| BOOTRST | UNCHECKED | | | BOOTRST | UNCHECKED | |
| CLKDIV8 | ✔ | | | CKDIV8 | ✔ | |
| CKOUT | UNCHECKED | | | CKOUT | UNCHECKED | |
|SUT_CKSEL | EXTXOSC_8MHZ_XX_258CK_65MS | | |SUT_CKSEL | EXTXOSC_8MHZ_XX_258CK_65MS | |
| |
===== Ändern des Clock-Prescalers zur Laufzeit ===== | ===== Ändern des Clock-Prescalers zur Laufzeit ===== |
Falls der System Clock des AVRs geändert werden möchte, kann dies über den Clock-Prescaler erfolgen. Dazu wird das CLKPR-Register auf den gewünschten Wert gesetzt. Die Tabelle welcher Wert welchem Teiler entspricht ist im Datenblatt in der Tabelle 6-12 ersichtlich. \\ | 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 ins CLKPR-Register geschrieben wird (siehe [[http://embdev.net/topic/291954|hier]]). | **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 [[http://embdev.net/topic/291954|hier]]). |