Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
embedded_systems:avr8:ntb_avr-headerboard [2010-12-07 13:13] – angelegt zueger1embedded_systems:avr8:ntb_avr-headerboard [2022-06-08 17:25] Urs Graf
Zeile 1: Zeile 1:
 ====== NTB AVR-Headerboard ====== ====== NTB AVR-Headerboard ======
 +<box green right 30% | Repository>
 +Div. Unterlagen, Altium Daten
 +  * [[https://svn-server.ntb.ch/inf/ch.ntb.inf.avrHeaderboard/ | AVR Headerboard]]
 +</box>
 +  * Atmel AT90USB1287 USB Mikrocontroller
 +  * 32 MBit serielles Flash (SPI)
 +  * 8 MHz
 +  * USB-Schnittstelle
 +  * JTAG-Schnittstelle
 +  * 3.3V I/Os
 +  * Versorgung über USB möglich
 +[{{ .:20131008_140239.jpg?300&direct|NTB AVR Headerboard}}]
 +===== Schema, User Manual und Datenblätter =====
 +  * [[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}}
  
 +===== Bootloader für Flip =====
 +{{:embedded_systems:avr8:at90usb128-bl-usb-1_0_1.hex|Bootloader für Flip}}
 +
 +===== Fuses =====
 +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 ^
 +| 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 [[http://embdev.net/topic/291954|hier]]).