***************************************************************************************
HTBLA Eisenstadt             ReadMe-MegaPAC-deutsch.txt                     2003-05-18
***************************************************************************************
                             BITTE UNBEDINGT DURCHLESEN!

Unsere CD enthaelt nur Programme, die im Web frei erhaeltlich sind. Alle Programme,
die nicht von mir erstellt wurden, enthalten unten die Quellenangaben und den Dank 
an die Autoren.
  

INHALT DIESES ORDNERS UND EIGENSCHAFTEN DES BOARDS:
---------------------------------------------------
In diesem Ordner enthalten ist Software zum Programmieren des 8 Bit- Mikrocontrollers
ATMEL ATMega8 in "C" und die Unterlagen zur Hardware der low-cost Enwicklungsplatine
MegaPAC der Abteilung Mechatronik der technischen Schule HTBLA Eisenstadt in Oesterreich. 
Nachdem wir in den letzten Jahren schon Boards fuer die 8051-Serie und den PIC 16F84
entwickelt haben, liegt nun das leistungsfaehigste und gleichzeitig billigste Board
vor.   
Der ATMega8 ist ein preiswerter, schneller Mikrocontroller (16 MHz) mit 10-Bit- AD-
Wandler und USART. Unser Entwicklungsboard kann serielle In-circuit-Programmierung, hat 
ein 1x16 Zeichen LC-Display, 4 Open-collector Ausgangstreiber (max. 0,5A), Spannungs-
regler usw. und viel Platz fuer eigene Erweiterungen auf einer Eurokarte (100x160 mm).
Die Gesamtkosten liegen unter 50 Euro incl. Flachbandkabel zum Programmieren und zur
seriellen Kommunikation ueber RS-232. 
Damit ist diese Grundausstattung fuer Schueler und Studenten sehr gut zum "Einstieg" 
in die C-Programmierung von modernen Mikrocontrollern geeignet.
Das Board ist auf einer einseitig kaschierten Leiterplatte realisiert und wird von
unseren Schuelern im 3. Jahr ihrer Ausbildung selbst hergestellt und bestueckt.
Die gesamte hier verwendete Software und die Programmierung funktionieren
unter WIN 98, WIN 2K und WIN XP.
Die mitgelieferten Bibliotheksfunktionen (vor allem fuer die LCD-Ansteuerung, incl.
Sourcecode) und einige Beispielprogramme erleichtern den Einstieg fuer Neulinge.

----------------------------------------------------------------------------------------
ORDNER:			
-------

\AVR-Studio-ATMEL	Integr. Entwicklungsumgebung (IDE) der Fa. ATMEL (Freeware).
			Stellt den Debugger/Simulator fr den CV-AVR-Compiler
			zur Verfgung. 
			DOWNLOAD >>> http://www.atmel.com/  Thanks to ATMEL !

\CVAVR			Code-Vision - C-Compiler und IDE (Entwicklungsumgebung).
			Evaluation - Version, d.h. freie Vollversion, aber nur 
			memory model "TINY" moeglich. Zum Arbeiten aber ausreichend!
			DOWNLOAD >>> http://www.hpinfotech.ro/html/download.htm
			Thanks to Pavel Haiduc !

\documents		Pdf-Files:  Datenbltter und Applikationsbeispiele.
			Datenblatt des ATmega8. 
			DOWNLOAD >>> http://www.atmel.com/   Thanks to ATMEL !

\MegaPAC		Unterlagen zum Evaluation-board MegaPAC der HTBLA Eisenstadt
			DOWNLOAD >>> http://www.flamisch.at/download

\projects		Beispiel- und Testdateien fuer MegaPAC, + spezielle INCLUDE-
			und LIBRARY - Dateien (z.B. fuer die LCD)
			DOWNLOAD >>> http://www.flamisch.at/download
			
\PonyProgram		Freie WIN-Programmiersoftware, geeignet fr die serielle
			In-circuit-Programmierung des MegaPAC. 
			DOWNLOAD >>> http://www.lancos.com/prog.html
			Thanks to Claudio Lanconelli !

\Progr in C		Webkurs zum Programmieren von AVR-Controllern in "C"
			DOWNLOAD >>> http://www.mikrocontroller.net/articles/c/
			Thanks to Christian Schifferle !
			Achtung! Manche Beispiele sind nicht 1:1 auf
			eine andere Hardware uebertragbar!

\utilities		Einige nuetzliche Tabellen zum Arbeiten mit
			Mikrocontrollern in C.

----------------------------
Installation der Programme:
----------------------------

   Falls nicht auf CD-ROM vorhanden, benoetigte Dateien zuerst downloaden
   (Links siehe oben) und - falls notwendig - in temporaere Ordner entzippen.

1. AVR-Studio-ATMEL mit Setup installieren (wird fuer Simulator benoetigt)
   Alle "Default-Einstellungen" koennen bei der Installation uebernommen werden.
   
2. CVAR (Code Vision Compiler) mit Setup installieren
   Alle "Default-Einstellungen" koennen bei der Installation uebernommen werden,
   (ggf. ohne Programmaufruf "RUN" am Ende...)

3. Programmiersoftware Pony Prog durch Setup installieren.
   Programm gibt bei 1. Aufruf 2 Meldungen aus, vorerst mit o.k. bestaetigen.
   
4. Verzeichnis ..\cvavr\projects einrichten und alle Programmbeispiele von CD-ROM
   ..\Atmel-AVR\projects (mit Unterordnern) dorthin kopieren und SCHREIBSCHUTZ aufheben!

5. Die fuer den MegaPac erstellten Library- und Include-Dateien aus den Ordnern
   ..\projects\save-lib und  \projects\save-inc in die Standardverzeichnisse des 
   Compilers ..\cvavr\lib  bzw.  ..\cvavr\inc kopieren.

--------------------------------------------
Erster Aufruf und Einrichten der Programme:
--------------------------------------------

1. 	CodeVision AVR C starten
	File-> NewProject -> OHNE Code Wizard im Verzeichnis "\projects" neues Projekt
	z.B. "MPACTest.prj" anlegen.
	Add files -> Soucefile "MegaPAC1.c" oeffnen
	Reiter "C-compiler": Chip "ATMega8" einstellen, Clock 16,00 MHz. Rest lassen.
	Mit o.k. bestaetigen. 
	Mit project -> Make compilieren, auf Fehlermeldungen achten (findet der 
	Compiler alle Include und Library - Dateien?, etc. ...)
	Wenn keine Fehler angezeigt werden, ist der Compiler richtig eingerichtet.
	Achtung: Der "Programmer" von Code Vision AVR ist NICHT fuer unsere Hardware
	geeignet, deswegen verwenden wir Pony Program (siehe unten)! 

2.	Mit "Run Debugger" (rote "Wanze") in CVAVR den Simulator (= AVR-Studio 4)
	aufrufen. Damit er gefunden wird, "AVR Studio4" einstellen und Pfad dorthin
	mit "Browse" suchen (normalerweise: ..\Programme\Atmel\AVR Tools\AVR Studio 4\
 	\AVRStudio.exe).
	Bei "Create new project" "OPEN" die Datei "MegaPac1.cof" (beim Compilieren
	erzeugte DEBUG-Datei) waehlen.
	Debug Platform: "AVR Simulator", Device: "ATMega8", -> "Finish".
	Debug-Fenster mit Code muss erscheinen. Wenn o.k., den Debugger AVR-Studio 
	vorerst einmal beenden. 

3.	Programmiersoftware Pony Program aufrufen, (ev. Sound disable), wenn
	2 Meldungen, diese vorerst mit o.k. bestaetigen.
	Setup -> Calibration  aufrufen, damit Timing der Schnittstelle eingestellt wird.
	Setup -> Interface Setup COM1 oder COM2 einstellen, den Rest so lassen
	(Serial, SIProg API). Ein Test mit "Probe" liefert erst dann o.k., wenn die
	Hardware (MegaPAC) auch angeschlossen ist (Stecker XP) und funktioniert.
	Programm laden mit "Open device file".  In ..\cvavr\projects suchen, (Datei-
	Anzeige *.hex),  "MegaPAC1.hex" oeffnen.
	in den 2 Fenstern rechts oben "AVR Micro" und "ATMega8" einstellen.

ACHTUNG: >>>>>>>
 	Nur beim ersten (!) Programmieren des AtMega8 muss auch der verwendete
	Taktgeber richtig programmiert werden. Mit Command -> "Configuration and
	Security Bits" werden wichtige Grundeinstellungen programmiert. Werden hier
	gedankenlos Bits falsch gesetzt, kann der Chip  n i e  mehr seriell 
	programmiert werden, wenn nicht in einem "echten" Programnmer, z.B. mit dem
	GALEP-4 (an der HTL vorhanden) die Fuse-bits wieder zurckgesetzt werden.
	Die fabriksmssigen Default-Einstellungen des Mega8 sind auf dem Screenshot
	"PonyProg-M8-ConfBits-original.jpg" in diesem Ordner zu sehen.
	Achtung: 	Config. Bit unprogrammiert = kein Hakerl = logisch 1 !
			Config. Bit programmiert = Hakerl = logisch 0 !

	Daher:
	Mit "Read" diese speziellen Bits (auch "Fuse-Bits" genannt) zuerst einmal
	aus dem Chip auslesen. Dann, wenn nicht sowieso zutreffend,
	die "Hakerln" bei CKSEL1, CKSEL2 und CKSEL3 wegnehmen. Das programmiert den
	Taktgeber auf den externen 16 MHz-Quarz! Sonst bei einem funktionierenden 
	Chip keine Bits veraendern !!!
	Diese Einstellung mit "write" auf den Chip zurueckschreiben! Diese Prozedur
	ist nur bei der ersten Inbetriebnahme des Chips notwendig!

	Jetzt kann das eigentliche Programm in den Programmspeicher gebrannt werden.
	Mit Comand -> "Write all" (oder dem ICON dazu) den Programmiervorgang starten 
	und bestaetigen. Die gruene Power-Led des MegaPAC geht dabei nach kurzem 
	Blinken aus. Nach erfolgreichem Programmdownload den MegaPAC resettieren
	oder kurz aus- und wieder einschalten, falls das Programm nicht sauber 
	startet.  Waehrend des Programmiervorganges bleiben etwaige LCD-Texte 
	unveraendert, da das Display einen eigenen Speicher besitzt.
	Das Programm ggf. testen (T1 druecken usw.; siehe Programmbeschreibung).

4.	Das Testprogramm schickt nach Druecken von T1 auch den AD-Wert von AD0 als
	ASCII-Zeichen ueber die serielle Schnittstelle aus. Steckt man das Flachband-
	kabel auf XC um und ruft im CVAVR das Hilfsprogramm "TERMINAL" auf, sollte
	im Terminalfenster eine Zahl von ca. 0 - 1023 fuer die Stellung des
	Potentiometers R3 ausgegeben werden (10 bit- Wandlung -> 2^10 = 1024!).
	Nach dem Test mit "Disconnect" die Schnittstelle wieder fuer den Programmer
	freigeben und das Kabel wieder auf XP zurueckstecken.



	VIEL SPASS BEIM PROGRAMMIEREN!    S. Flamisch    
	
	Fehlermeldungen bite direkt an mich >>> siegfried@flamisch.at
