switch to the English version of this text
Evertool! Eine weiterentwickelte Version des hier vorgestellten Geräts mit Programmier- und Debugging-Unterstützung, die zumindest ich interessanter finde, wird auf meiner Evertool-Seite vorgestellt.
Das ATMEL AVRISP Programmiergerät zur Im-System-Programmierung (ISP) ist ein Gerät zur Programmierung (Flash/EEPROM/Fusebit/Lockbits) von Atmel AVR Mikrocontrollern. Informationen zum Originalgerät von ATMEL finden sich auf einer Atmel-Seite. Hier wird ein Nachbau dieses Gerätes mit (fast) minimaler Hardware beschrieben. Der Hauptvorteil dieses Nachbaus ist die Kompatibilität zum Atmel AVRStudio und der darin enthaltenen sehr anwendungsfreundlichen Software. Da sowohl die genutzte Software auf dem Programmiergerät und die Bedienungssoftware vom Hersteller gepflegt und aktualisiert werden, sind beide immer auf sehr aktuellem Stand. Das Programmieren von Fuses verliert seinen "Schrecken" durch klare Beschreibungen in der Software (AVRStudio/Tools/STK500, AVRISP).
Bevor Sie den Nachbau dieses Geräts in Betracht ziehen, bedenken Sie bitte:
Hauptkomponenten:
| Part | Pieces | Function |
|---|---|---|
| ATMega8535(L) | 1 | Programming Controller, L-type for reliable programming of 3V targets |
| DIL40 Socket | 1 | for ATmega8535 |
| MAX3232 | 1 | RS232 level shifter and inverter, 3V-type for reliable programming of 3V targets |
| DIL14 Socket | 1 | for MAX(3)232 |
| 3,6864MHz Quarz | 1 | |
| ATtiny2313 | 1 | internal update controller |
| DIL20 Socket | 1 | for ATtiny2313 |
| 1uF Electrolyt-Capacitor | 4 | 4 for MAX(3)232 charge pumps |
| 22uF Electrolyt-Capacitor | 1 | stabilisation near ISP-connector |
| 100nF Capacitor | 5 | "block capacitors" 4 for AVRs, 1 for MAX(3)232 |
| 22pF Capacitor | 2 | near Quarz-Oscillator |
| 100nF Cap. | 2 | Filter at AVR Reset |
| 10kOhm Resistor | 2 | AVR Reset Pull-Ups |
| LED low-current (2mA) | 2 | Indicator LEDs |
| 1.5kOhm Resistor | 2 | LED current limiter |
| DSUB connector "female" | 1 | PC RS232 connection |
| Pin-Header 2*5 | 1 | ISP connection "Kanda-Standard" (see schematic) |
| Pin-Header 2*3 | 1 | ISP connection "Atmel-Standard" (see schematic) |
| Pin-Header 2*3 | 1 | ISP Resetline selector (see schematic) |
| Pin-Header 1*3 | 1 | Update-enable Jumper |
| Pin-Header 1*1 | 1 | Rescue-Clock connection (ca. 0,7 MHz) |
| Jumper | 2 | for reset-selector and update-enable |
| Pin-Header 1*2 | 1 | external power supply for internal programming with STK200-PPI (stable DC) |
| Prototype-Board 2,54 mm grid | 1 |
Die *2313-Firmware darf nur zu nicht-kommerziellen Zwecken genutzt werden! Falls Sie eine kommerzielle Version benötigen: Nehmen Sie bitte via e-mail mit mir Kontakt auf (Adresse s.u.)
Die Update-Firmware für den ATtiny2313 ist auch für andere Zielprozessoren ausser dem ATmega8535 erhältlich. Falls sie also eine Update-Funktion auf Ihren Eigenentwicklungen benötigen, aber keinen Bootloader in den Hauptprozessor integrieren wollen: nehmen Sie bitte Kontakt auf, angepasste Versionen sind bereits fertig oder kurzfristig lieferbar. Die eigentliche ATmega8535-Firmware ist nur von Atmel lieferbar, das Angebot gilt nur für die Update-Firmware des ATtiny2313. (Eine STK500.hex-Datei ist hier nicht erhältlich).
Diese Schritte müssen nur einmal abgearbeitet werden.
Die folgenden Schritte müssen zur Einrichtung und Aktualisierung der Programmierfirmware auf dem ATmega8535 durchgeführt werden. Also bei der Erstinbetriebnahme oder dann wenn die Firmware, die mit einer neuen Version von AVRStudio geliefert wird genutzt werden soll.
Das ispRE ist kompatibel zum Atmel AVRSIP (entspr. STK500 in low-voltage serial-programm/serial download). Die Zielplattform (Platine mit zu programmierendem AVR) wird mit einem der ISP-Anschlüssen auf dem AVR-ISP verbunden. Typisch erfolgt die Stromversorgung durch die Zielhardware über den ISP-Stecker. In AVRstudio Menü Tools->AVRISP/STK500 wählen: Es erscheint das avrisp/stk500-Plugin. Für weitere Informationen siehe AVRStudio online-Hilfe. Wichtig (es steht auch da): die ISP-Frequenz darf 1/4 der Frequenz des zu programmierenen AVR nicht überschreiten (z.B. Ziel "läuft mit" 1MHz, ISP-Frequenz max. 250kHz).
ispRE kann auch von der Open-Source Software avrdude angesteuert werden. Man beachte, dass mit AVRStudio 4.11 ein neues STK500-Protokoll eingeführt wurde, wenn die stk500.ebn-Datei aus neuen AVRStudio-Versionen (>=4.11) genutzt wird, ist für avrISP (wie auch das Orignal Atmel AVRISP und das STK500 mit Firmware 2.x) bei avrdude stk500v2 als Programmer anzugeben.
Ein 0,7MHz Takt für am RescueClock-Pin bereitgestellt (am ATtiny). Mit diesem Takt können AVRs "wiederbelebt" werden, bei denen die Fuse-Bits für die Taktgenerierung falsch eingestellt wurden. Einfach den Taktpin mit dem XTAL1-Anschluss des "zerschossenen" AVR verbinden, ISP-Verbindung herstellen und im stk500/avrisp-Plugin die richtige Fuse-Einstellung wählen. (Die Reset-Disable- oder Debugwire-Enable Fuse kann auf diese Weise jedoch nicht zurückgesetzt werden, nur die üblichen "Clock statt Quarz" Fehler). Bei Verwendung der 0,7MHz Takts ist zur Programmierung des "zu rettenden" AVR eine maximale ISP-Frequenz kleiner 0,7MHz/4 einzustellen.
zurück zu meiner AVR Projektseite
38879 hits since March 30, 2005
Last mod.: Wednesday, 29-Aug-2007 03:22:57 CEST