Forum: Mikrocontroller und Digitale Elektronik Programmieren eines ATMega32


von ahnungsloser (Gast)


Lesenswert?

Hallo,
ich kapiere nichts mehr. Es ist doch so, dass ich einen ISP-Programmer 
zum beschreiben brauche,oder? Bei Ebay gibts Boards mit serieller 
Schnittstelle und einer ISP-Schnittstelle. Und es soll möglich sein nur 
über rs232 zu programmieren. Kann mir das jemand ein für alle mal 
erklären was nun richtig ist ????

von Frank (Gast)


Lesenswert?

der Rechner der den Controller programmieren soll hat keine ISP 
Schnittstelle, der Controller schon. Also brauch man einen Adapter, der 
eine am PC vorhandene Schnittstelle so umsetzt, das man damit die ISP 
Schnittstelle ansprechen kann. Und genau das machen die üblichen 
Programmieradapter. Sie setzen die Signale die aus einer USB, RS232 oder 
einer parallelen Schnittstelle rauskommen auf die für den Controller 
verständliche ISP Schnittstelle um. Ist doch logisch, oder?

bye

Frank

von johnny.m (Gast)


Lesenswert?

Wenn entweder der ISP-Programmer mit auf dem Board ist oder der zu 
prgrammierende µC einen Bootloader hat (was aber bei einem fabrikneuen 
nicht der Fall ist), dann kann man direkt mit der seriellen 
Schnittstelle über eine geeignete Programmiersoftware den µC 
Programmieren. Bei vielen Boards (ich weiß jetzt nicht, was Du da bei 
Ebay gesehen hast, da gibts sicher so ziemlich alle Varianten) ist auf 
dem Board eine mehr oder weniger einfache Schaltung (oft 
SI-Prog-Interface, das mit PonyProg zusammenarbeitet und meines Wissens 
der hardwaremäßig einfachste ISP-Adapter ist, da er nur aus ein paar 
Widerständen, Dioden und einem Transistor besteht, z.B. bei den 
Pollin-Boards), über die der µC direkt mit der betreffenden 
Programmiersoftware kommunizieren kann.

von Bjoern M. (salival)


Lesenswert?

Datenblatt Seite 256-286 (viele Wege fuehren nach rom; 98% der user hier 
verwendet low-voltage-serial). ausserdem gibts noch bootloader:

http://www.mikrocontroller.net/articles/AVR_In_System_Programmer
http://www.mikrocontroller.net/articles/Bootloader

von Rahul D. (rahul)


Lesenswert?

>Ist doch logisch, oder?
Logisch vielleicht, aber verständlich?

Mein Versuch (ich kenne die Boards bei Ebay nicht):
ISP braucht man um einen "nackten" Controller zu programmieren.
Dafür braucht man ein Programmieradapter. Die gibt es in 
Einfachst-Ausführungen bestehend aus ein paar Widerständen oder 
Logik-Bausteinen - die werden dann an die parallele oder serielle 
Schnittstelle angeschlossen.
Der Programmieralgorithmus inkl. Timing wird dann durch den PC 
realisiert.

Aufwändigere Programmieradapter haben einen eigenen Controller drin. 
Damit ist es dann möglich Controller über die serielle Schnittstelle 
oder USB zu programmieren per ISP zu programmieren (Für AVR: STK500, 
AVRISP [mkII]).

Will man einen Controller ohne externen Programmer direkt über die 
serielle Schnittstelle programmieren, muß dieser die Möglichkeit bieten, 
einen Bootloader zu beherbergen. Dieser Bootloader ist ein Programm, das 
beim Controller-Start ([Power-on] reset) zuerst ausgeführt wird.
Wird jetzt ein spezielles Signal über eine Schnittstelle empfangen 
(UART, CAN, Ethernet, I²C...), dann richtet er sich darauf ein, die 
Applikationssoftware neu in den Programmspeicher zu schreiben.
Auf dieses Signal hin erwartet der Bootloader dann die Programm-Daten.

Erhält er kein "Programmiersignal", startet die eigentliche Applikation 
und läuft bis zum nächsten Reset.

ISP braucht man also, um zumindest den Bootloader in den Controller zu 
programmieren (es gibt auch Controller von Atmel, die mit einem 
Bootloader geliefert werden; allerdings sind das 8051er).

von ahnungsloser (Gast)


Lesenswert?

Das ging ja super schnell :) :) :). Jetzt ist alles klar :).

von ahnungsloser (Gast)


Lesenswert?

Vielen Dank an Alle:):)
@Rahul...super Beschreibung :):).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.