Copyright c Welzel GbR Steinstrasse 56 35390 Giessen 16. August 2003
Inhaltsverzeichnis 1 Einleitung 1 2 Hardware-Beschreibung 1 2.1 Programmierstecker.......................... 2 2.2 SUB-D Buchse............................ 3 2.3 LED Anzeige............................. 3 2.4 Anschlussbeispiel........................... 3 3 Software-Beschreibung 4 3.1 Allgemeine Einstellungen....................... 5 3.2 Programmieren............................ 6 3.3 Lock-Bits............................... 7 3.4 Fuse-Bits................................ 7 3.5 Projektverwaltung.......................... 8 Copyright c Welzel GbR I
1 Einleitung Um die Entwicklung von Mikrocontroller unterstützter Hardware zu erleichtern, wurde in den letzten Jahren die In-System-Programmierung (ISP) immer beliebter. Sie bietet den Vorteil, daß ein bestehendes Hardware Projekt nicht erneut aufgebaut werden muß, wenn sich die Software (Firmware) des Kontrollers geändert hat. D.h., Sie können den eingebauten Kontroller fast beliebig oft wiederprogrammieren, ohne größeren zeitlichen Aufwand. Ohne dieses ISP-Interface müßte der Kontroller bei jedem Programmiervorgang aus dem Sockel gezogen und mittels eines separaten Programmers umprogrammiert werden. Das einzige, was schon beim Hardware-Design berücksichtigt werden muß, ist das Vorhandensein eines genormten Pfostensteckers als Programmierschnittstelle. Die Fa. Atmel TM hat sich mit Ihren Kontrollern auf diese Anwendung spezialisiert und unterstützt bei allen Typen der AVR-Serie diese In-System-Programmierung. Dazu wurde ein 10 poliges Interface (siehe Abschnitt 2.1) von der Fa. Atmel TM entwickelt und genormt. Auf diese genormte Schnittstelle setzt der Digi-Prog auf. 2 Hardware-Beschreibung Der Digi-Prog wird über die serielle Schnittstelle (RS-232) an den PC angeschlossen. Der Anschluss an das Zielsystem erfolgt mittels des genormten 10 poligen Pfostensteckers. Ein entsprechendes Kabel liegt dem Gerät bei. Die Spannungsversorgung übernimmt hierbei das Zielsystem (5V), so daß kein externes Netzteil benötigt wird. Abbildung 1: Digi-Prog mit Zielsystemkabel Copyright c Welzel GbR 1
2.1 Programmierstecker Es ist umbedingt darauf zu achten, daß das Verbindungskabel zum Zielsystem richtig herum aufgesteckt wird. Hierzu ist Pin 1 des Kabels rot markiert. Die folgende Abbildung zeigt die Belegung des Pfostensteckers (von oben). Abbildung 2: Belegung des Programmiersteckers Tabelle 1: Beschreibung der ISP Pins Pin Name Funktion SCK Serial Clock Programmiertakt, generiert vom In-System Programmer (Master) MOSI Master Out - Slave In Programmierleitung vom In-System Programmer (Master) zur Ziel AVR MCU (Slave) MISO Master In - Slave Out Leseleitung von der AVR MCU (Slave) zum In-System Programmer (Master) RESET Ziel AVR MCU Reset Zur In-System Programmierung muß die Resetleitung der Ziel AVR MCU aktiv sein. Daher kann der ISP diese kontrollieren VCC Ziel Spannungsversorgung Versorgungsspannungsanschluß für den In-System Programmer GND Gemeinsame Masse Beide Systeme müssen eine gemeinsame Masse haben Bei Verpolung kann der Programmer, sowie das Zielsystem Schaden nehmen! Die zulässige Betriebsspannung beträgt 5V. Andauernde Kurzschlüsse 2 Copyright c Welzel GbR
auf den Programmerpins oder Spannungen über 5V führen zur Zerstörung des Programmers. Deshalb dürfen nur elektrisch einwandfreie Zielsysteme angeschlossen werden. 2.2 SUB-D Buchse Über die SUB-D Buchse wird der Programmer mit einem seriellen 1:1 Kabel (kein Nullmodemkabel) an den PC angeschlossen. Ein entsprechendes Kabel liegt dem Gerät bei. 2.3 LED Anzeige Nach dem das Zielsystem und somit auch der Programmer angeschaltet wurde, leuchtet die grüne Bereitschafts-LED. Der Programmer ist nun betriebsbereit und die Software kann gestartet werden. Tabelle 2: Funktion der LED s LED grün gelb rot Funktion Bereitschaft Lesevorgang Schreibvorgang 2.4 Anschlussbeispiel In Abbildung 3 sehen Sie ein Anschlussbeispiel des ISP-Steckers an einem Entwicklungssystem (Ziel-System). Der ISP-Stecker kann parallel zu den I/O-Pins beschaltet werden. Dabei sind die Spezifikationen von Atmel zu beachten. Damit der Digi-Prog die drei benötigten Leitungen beim ISP-Vorgang kontrollieren kann, sollte in jede Leitung ein Widerstand in Serie geschaltet werden (siehe Abbildung 4). Der Wert hängt dabei von der restlichen Applikation ab. Er muß aber so bemessen sein, daß der Digi-Prog diese Leitungen kontrollieren kann. Kann die restliche Applikation keinen Einfluss auf diese drei Leitungen nehmen, kann auf die Widerstände verzichtet werden. Copyright c Welzel GbR 3
Abbildung 3: Anschlussbeispiel Abbildung 4: Beschaltung Digi-Prog - AVR µc - I/O 3 Software-Beschreibung Starten Sie die Digi-Prog Software unter Windows. Digi-Prog versucht nun einen angeschlossenen Programmer zu finden. Dies kann unter Umständen etwas dauern, falls nicht der richtige COM-Port angegben wurde. Ein (nicht) gefundener Programmer wird im Statusfenster am unteren Rand angezeigt (siehe Abbildung 5). Zusätzlich wird die Hardware- und Softwareversion ausgegeben. Sollte kein Programmer gefunden werden, stellen Sie im Menü Einstellungen Hardware den richtigen COM-Port ein und bestätigen Sie mit OK. Der Digi-Prog Hauptbildschirm gliedert sich in drei Bereiche. Auf der linken Seite befindet sich der Projektbereich. In diesem werden der Projektname, der Flash-Dateiname sowie der EEPROM-Dateiname angezeigt. Mit einem rechten Mausklick auf einen Dateinamen erscheint ein Popup-Menü, über das die Datei aus dem Projekt gelöscht werden kann. Auf der rechten Seite befindet sich 4 Copyright c Welzel GbR
Abbildung 5: Digi-Prog Hauptbildschirm die Allgemeinen Einstellungen und die Programmieroptionen auf dem ersten Reiter. Der Zweite beinhaltet die Lock-Bit- und der Dritte die Fuse-Bit- Programmierung. 3.1 Allgemeine Einstellungen In diesem Bereich können Sie den verwendeten Mikrocontroller einstellen oder automatisch (Mikrocontrollertype automatisch) anhand der Signatur suchen lassen. Der gefundene Type wird im Statusfenster angezeigt. Desweiteren können Sie einstellen ob die Signatur überprüft, ein Speicherleertest durchgeführt oder der Mikrocontroller gelöscht werden soll vor jedem Schreibvorgang. Im Info-Bereich werden Daten zum ausgewählten Mikrocontroller angezeigt. Copyright c Welzel GbR 5
3.2 Programmieren Über die beiden Sppeed-Buttons können Sie die Flash- sowie die EEPROM-Datei auswählen und laden. Diese werden dann in den nebenstehenden Feldern und im Projektbereich angezeigt. Das Laden kann auch über das Dateimenü erfolgen. Unterstützt werden das Intel-HEX und das Generic Format. Mit den Checkboxen legen Sie fest, ob nur der Flash, nur das EEPROM oder beide Bereiche geschrieben oder gelesen werden. Wird zusätzlich die Verifizieren Checkbox ausgewählt, wird nach dem Schreibvorgang der Flash und/oder das EEPROM verifiziert. Ausgelesener Flash- und EEPROM-Speicher kann über das Dateimenü gespeichert werden. Abbildung 6: Digi-Prog Lock-Bit Programmierung 6 Copyright c Welzel GbR
3.3 Lock-Bits Wird auf diesen Reiter gewechselt, werden die Lock-Bits des Mikrocontrollers ausgelesen und angezeigt (siehe Abbildung 6). Sie können diese nun über die Dropdownlisten ändern und über den Button Schreiben sichern. Über den Button Lesen kann jederzeit der aktuelle Zustand erneut ausgelesen werden. 3.4 Fuse-Bits Wird auf den Reiter Fuse-Bits gewechselt werden diese vom Mikrocontroller ausgelesen und angezeigt (siehe Abbildung 7). Sie können nun die Fuse-Bits über die Checkboxen und die Dropdownmenüs verändern und über den Button Schreiben sichern. Über den Button Lesen kann jederzeit der aktuelle Zustand erneut ausgelesen werden. Abbildung 7: Digi-Prog Fuse-Bit Programmierung Copyright c Welzel GbR 7
Vorsicht Wird das Fuse-Bit SPI Enable gelöscht (Checkbox nicht angeklickt) ist kein serielles Programmieren des Mikrocontrollers mehr möglich. Dies kann nur mit einem parallel Programmer rückgängig gemacht werden. 3.5 Projektverwaltung Die Projektverwaltung erleichtert das Arbeiten an verschiedenen Projekten. Im Dateimenü kann ein Projekt geladen oder gespeichert werden. Dabei werden nicht nut der Flash- und der EEPROM-Dateiname nebst kompletten Pfad gespeichert, sondern auch der Mikrocontroller Type und die kompletten Einstellungen des Reiters Standard. 8 Copyright c Welzel GbR