F4 Fuse- und Lock-Bits

Ähnliche Dokumente
Selbstbau-USB-Programmiergerät für AVR

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

Programmierung Tiny45 für DCC Lokdecoder


Flashen von Atmel-Prozessoren mittels In System Programming (ISP).

Anschluss des ISP-Programmieradapters. Erste Programmierung mit Bascom

Eclipse. für die kleinen Dinge des (modernen) Lebens

AVR Web Server. Version 1.1. erstellt von. Ulrich Radig

Mikrocontroller - Schnelleinstieg

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- Bernhard Redemann

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

HVSP Fusebit Programmer von guloshop.de

Johannes Kelper Universität Linz. Institut für Elektrische Messtechnik. Dokumentation. ATmeag8-USB Modul. Bernd R. Arminger ATmega8-USB Modul 1

ATXMega256a3-Controllerboard. mit 4,3", 5" oder 7" Touch-LCD-Farbdisplay und High-Level-Grafikcontroller

Das Pollin Atmel Evaluationboard Ver unter Verwendung von MyAVR_Prog Tool und der Arduino IDE ein Kurztutorial

BOOTLOADER für AVR-Entwicklungsmodule

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

ATMEGA Mikrocontroller Einführung TEIL 1. 4.November 2009 Mönchengladbach

AT90USB Plug. Mini-Entwicklungswerkzeug. Nutzerhandbuch

ATmega169 Chip: Pin-Layout

ATMega2560Controllerboard

Übersicht der DIP-Schalter Einstellungen: AVR-ISP Programmer für Atmel AT90, ATMega, ATTiny Die Programmierung dieser Controller geschieht über die IS

Kapitel 04: Das erste Projekt Abschnitt 03: Das Programm flashen

Bau und Programmieranleitung für den IR - Booster. Vorbemerkungen

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang :

grifo Mini Module Test 2

Programmierung der Focuser-Firmware mittels Pony-Prog

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Radar Evaluation Board - REB165 Installation / Getting Started

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Einführung in die Welt der Microcontroller

Zähler- und Zeitgeber-Baugruppen

DCC Funktionsdecoder OD2_F Dec V1.0. Bild zeigt den funktionsfähigen Prototypen

Boot Loader für AVR ATmega Controller

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

& & & & 7, * 5-6 & +&/ ++ ( ( +2:/ " ; + &/ < ' *6 " >. &/ , "? 2 > 4 " +" 3 &/ 3 + +? +&/ +? 2 &/ ! "# $% & ' ()* # +,- -)***.

Produktinformation USB AVR Lab

Hex Datei mit Atmel Studio 6 erstellen

Kurzanleitung. Hotel Modus. Version / MB82 / MB82S<, Stand Vestel Germany GmbH Parkring Garching bei München

Basisplatine PIC-Basis-V42. Abbildung: Features : PIC Programmier- und Übungsmodule. Basismodul. Best.-Nr

Handbuch. Prog-Studio Software

Parallel-IO. Ports am ATmega128

BLIT2008-Board. Uwe Berger

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- 07 Bernhard Redemann

Bau und Testanleitung für den Tiny44/Zetex DCC Decoder. Birkenwerder im Juli 2011 Toralf Wilhelm

Funktions-Postfach (Shared Mailbox) in Outlook 2010/2013 einrichten

Bild 1: Der Einstellungen-Dialog

embedded projects GmbH

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

USB-CNC Installation + Konfiguration

ateval-board Aufbauanleitung & Handbuch

AT90USB Plug. Mini-Entwicklungswerkzeug. Benutzerhandbuch

Errata dspic-boards Fachbereich MDT TU-Berlin

I2C-Echtzeituhr am Atmel AVR

Erste Schritte mit dem ATM18

Atmel AVR für Dummies

C4 Die SPI Schnittstelle

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Software ubiquitärer Systeme

AVG Free 201X Installation Die Screenshots sind von der Version 2014, gelten aber sinngemäß auch für neuere Versionen.

VVA und Microsoft Internet Explorer Pop-up Blocker

Bedienungsanleitung LCQ-Meter (DG5MK) Stand

Assembler und Hochsprachen

Entwicklungsboard 16F1824

Quanton Manual (de) Datum: URL: )

Teil 3 Mikrocontroller

Unterstützung bei Bedienungsproblemen der Webauskunft

Zusatzplatine MP-Bus HZS 562

FLASH USB Einführung DEUTSCH

Ausführliches Manual zum Microchip PIC-Programmer Version 7.33

Seriell programmierbarer Quarzoszillator

ALVIDI. AVR-Entwicklungsmodul. Modell: AL-AVREB_256. Übersicht. Maße. Beschreibung. Elektrische Eigenschaften. Programmierung.

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR

Rechnerarchitektur, Einführung in die Laborübungen

Batterie-Monitor für Hybrid- und E-Mobile mit 0,04% garantierter Genauigkeit

Anleitung für Korrektoren. Mac OS X. Stand

Vorbereitungen zur Funkamateur-Prüfung. Aufgaben B.007

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Brenner8 Revision 1. allgemeine Hinweise zu Aufbau und Betrieb. Unterschiede der verschiedenen Revisionen

Installation & Usage. Version 1.0. estickflashtool

mytinyprog MK2 USB Stefan Hoffmann

Einführung in die Microchip PIC-Controller vergleichende Betrachtung zu anderen Microcontrollern CLUG Matthias Kupfer

ES-M32. Entwicklungs- und Ausbildungssystem für ATmega32

AVR-Mikrocontroller mit dem GCC programmieren

80C535-Mikrocontroller-Board im Streichholzschachtelformat

Übertragung von MoData2 Dateien mit dem mobilen Gerätecenter unter Windows 7

USB-Control Installations- und Bedienungsanleitung Rev. 2.0 (06/08) Seite 1. USB-Control

Vorwort: Dieter-MUC

C++ mit dem Arduino (Uno und Mega2560)

Mikrocontroller. eine Einführung. Florian Schmitt / 34

digital Funktionsdecoder mit 6-pol. Schnittstelle

Mikrocontroller Grundlagen. Markus Koch April 2011

SATA 2 und 3. Gruppe 8. Unser Weg ist Ihr Ziel. Der Spezialist für ADD-On Produkte. Tel Fax Fax

Doku zum TFT-Adapter von UB. Inhaltsverzeichnis

TWIN-CENTER 6802 TWIN-CONTROL 6822

Experiment 2: Digital-Analog-Wandler über I2C

Transkript:

Im AVR gibt es eine Reihe von programmierbaren Schaltern, die wichtige Eigenschaften des Controller festlegen. Diese Schalter können nur mit dem Programmiergerät verändert werden (Ausnahme: Bootloader Programm)! Beim Programmieren dieser Schalter ist äußerste Vorsicht geboten!! Gesetzt (programmed) werden die Schalter mit Null, gelöscht (unprogrammed) mit einer Eins! Werden diese Schalter falsch programmiert, so kann der Controller unter Umständen nicht mehr mit einem normalen Programmiergerät6 angesprochen werden! Fuse-Bits des ATMega32A Beim ATmega32A, existieren 16 programmierbare Fuse Bits (2 Byte). Wichtige Fuse Bits beim höherwertigen Byte sind das JTAGEN und das SPIEN Bit. 6 Mit Hilfe eines speziellen Programmiergerätes das den parallelen Brennmodus beherrscht (STK 500, AVR Dragon) kann der Controller wieder zurückgesetzt werden. 33

JTAGEN sollte gelöscht werden, da sonst Probleme mit PC2-PC5 (TCK,TMS,TDO,TDI) auftreten können. Ist JTAGEN gesetzt und das JTD Bit im MCUCSR Register gelöscht, so werden diese Pins mit einem internen Pull Up Widerstand auf High Pegel gezogen. Werden sie dann gleichzeitig als Ausgangspin betrieben, so entsteht ein Spannungsteiler mit der Ausgangslast und die Ausgangsspannung hängt vom Widerstandsverhältnis ab. SPIEN muss unbedingt gesetzt bleiben, da sonst das Programmieren über die SPI Schnittstelle nicht mehr funktioniert. CKOPT ist für die Oszillator Verstärkung zuständig. Standardmäßig ist CKOPT nicht programmiert, also gelöscht (weniger Strom, geringere Störfestigkeit, geringere Bandbreite; siehe Datenblatt S 27). Diese Option ist allerdings nur bis 8 MHz zulässig! Wird ein Quarz mit höherer Frequenz eingesetzt, so muss CKOPT gesetzt werden! Beim niederwertigen Byte sind SUT0 und SUT1 sowie CKSEL0 CKSEL3 von Interesse. SUT steht für Start Up Time und diese zwei Bit zusammen mit CKSEL0 ermöglichen festzulegen wie viele Taktzyklen der Controller nach dem Abschalten benötigt um Einsatzbereit zu sein. Dies hängt natürlich vom verwendeten Quarz ab (Datenblatt S 28). CKSEL0 CKSEL3 ermöglicht es die Frequenz festzulegen. Bei der Auslieferung ist SUT = 0b10 (langsamste Aufwachzeit) und CSEL = 0b0001 (interner RC Oszillator 1 MHz) eingestellt. 34

Der Default Werte für die Fuse Bytes bei der Auslieferung des Chips ist 0x99E1. Mit Hilfe eines Online Rechners unter http://palmavr.sourceforge.net/cgi-bin/fc.cgi kann man die Fuse Bits einfach berechnen. Dies ist besonders hilfreich, wenn man ein anderes Programm als Studio 4 zur Programmierung der Fuse Bits benutzt. Nicht alle Fuse Bits werden nach dem Brennen sofort wirksam. Nach dem Ändern der Fuse oder Lock Bits soll deshalb die Betriebsspannung aus und wieder eingeschaltet werden. Bemerkung: Ein Löschen des Chips beeinflusst die Fuse und Lock Bits nicht. Externer Quarz mit 16 MHz Aus dem Datenblatt lässt sich entnehmen, dass zwei Kondensatoren mit 12 22pF zu wählen sind. Beide sollen natürlich genau gleich sein. Anzuschließen ist der Quarz nach folgendem Schema: Da eine langsame Aufwachzeit hier reicht wird SUT = 0b11 ausgewählt. Für die hohe Frequenz wird CSEL = 0b1111 eingestellt. Dies lässt sich im Studio 4 im Programmier Fenster (Menü "Tools/Programm AVR/Auto Connect..." oder Klick auf das entsprechende Icon (AVR)) einfach durch Auswählen von Ext. Crystal/Resonator High Freq.; Start up time: 16K CK + 64 ms unter SUT_CKSEL im "Fuses" Reiter markieren (siehe Screenshot). CKOPT muss für den 16 MHz Quarz programmiert werden (Häkchen setzen)! 35

Zusätzlich soll das JTAGEN Bit gelöscht werden indem das entsprechende Häkchen entfernt wird. Ein Klick auf die Schaltfläche programmiert den Controller. Der neue Wert für die Fuse Bytes nach der Umprogrammierung ist 0xC9FF. Lock-Bits des ATMega32A Die Lock Bits dienen dazu den gesamten AVR gegen Auslesen oder Veränderung zu sperren. Dies tun sie zuverlässig, da noch kein Fall bekannt wurde, wo der Schutz geknackt wurde. Das Löschen der Lock Bits kann nur durch ein Löschen des gesamten Bausteins (chip erease) erfolgen! Es existieren 6 Lock Bits. Zwei davon ( LB1 und LB2) werden für normale externe Operationen benötigt. Die anderen vier Boot Lock Bit betreffen den Bootloader Bereich. 36

Mit den zwei LB Bits lassen sich drei unterschiedliche Modi einstellen: Modus 1 (LB = 0b11): Der AVR ist ungeschützt (Standard Wert, default). Modus 2 (LB = 0b10): Der Controller (Flash und EEPROM) kann nicht mehr programmiert werden (auch nicht parallel!). Dies gilt auch für die Fuse Bit! Modus 2 (LB = 0b00): Der Controller (Flash und EEPROM) kann nicht mehr programmiert werden (auch nicht parallel!) und nicht mehr ausgelesen (überprüft) werden. Dies gilt auch für die Fuse Bit! Genau wie die Fuse Bits lassen sich die Lock Bits im entsprechenden Reiter programmieren: 37

38