Forum: Mikrocontroller und Digitale Elektronik Auswahl eines Mikrocontrollers


von Manuel R. (uc_programmer)


Lesenswert?

Hallo,

ich beschäftige mich seit geraumer Zeit mit Mikrocontrollern.

Was mir abgesehen von der Programmierung Probleme macht, ist eine 
Übersicht über die Hardware zu gewinnen.

Ich habe in einem Workshop bereits an einem ATmega32 programmiert.
Dieser wurde in einem entsprechenden Sockel auf einem STK500 Board 
integriert.

Sehe ich das richtig, dass das STK500 nur in der Programmierphase 
verwendet wird um das Programm schnell ohne größeren Aufwand testen zu 
können, da beispielsweise Ausgänge des Mikrocontrollers sauber 
rausgeführt werden?

An das STK500 wurde dann ein JTAGICE mkII angeschlossen.
Welche Aufgabe hat das JTAGICE mkII?
Liegt dies an der ISP-Fähigkeit bzw. hat dies das STK500 nicht?
Man könnte doch auch das STK500 direkt an den PC über eine RS232 
Schnittstelle hängen oder?
Warum wurde damals in diesem Workshop diese Variante über den JTAGICE 
mkII verwendet?

Wie ihr sehen könnt: Fragen über Fragen.
Auch wenn die ein oder andere Frage banal klingt, hoffe ich doch dass 
man sie mir beantwortet.

Viele Grüße
uc_programmer

von uC (Gast)


Lesenswert?

Manuel R. schrieb:
> Hallo,
>
> ich beschäftige mich seit geraumer Zeit mit Mikrocontrollern.
>
> Was mir abgesehen von der Programmierung Probleme macht, ist eine
> Übersicht über die Hardware zu gewinnen.
>
> Ich habe in einem Workshop bereits an einem ATmega32 programmiert.
> Dieser wurde in einem entsprechenden Sockel auf einem STK500 Board
> integriert.
>
> Sehe ich das richtig, dass das STK500 nur in der Programmierphase
> verwendet wird um das Programm schnell ohne größeren Aufwand testen zu
> können, da beispielsweise Ausgänge des Mikrocontrollers sauber
> rausgeführt werden?

Ja.

>
> An das STK500 wurde dann ein JTAGICE mkII angeschlossen.
> Welche Aufgabe hat das JTAGICE mkII?
> Liegt dies an der ISP-Fähigkeit bzw. hat dies das STK500 nicht?
> Man könnte doch auch das STK500 direkt an den PC über eine RS232
> Schnittstelle hängen oder?
> Warum wurde damals in diesem Workshop diese Variante über den JTAGICE
> mkII verwendet?

Mit dem JTAGICE mkII wird der Mikrocontroller "InSystem" programmiert, 
also egal ob aufm STK500 oder in deiner Schaltung oder sonst wo, kann er 
mit diesem Programmer programmiert werden.

Ob das das STK ohne Programmer kann weiß ich nicht, kann aber gut sein. 
Habs bisher noch nie verwendet, kann vl. jemand anderer besser 
beantworten.

>
> Wie ihr sehen könnt: Fragen über Fragen.
> Auch wenn die ein oder andere Frage banal klingt, hoffe ich doch dass
> man sie mir beantwortet.
>
> Viele Grüße
> uc_programmer

grüße

von spess53 (Gast)


Lesenswert?

Hi

> An das STK500 wurde dann ein JTAGICE mkII angeschlossen.
> Welche Aufgabe hat das JTAGICE mkII?

Kommt darauf an, wo und wie das JTAGICE mkII angeschlossen wurde. Am 
6-pol. ISP-Anschluss fungiert es als Programmer und als DW-Debugger. 
Über Expand0 kann man über JTAG debuggen.

MfG Spess

von Manuel R. (uc_programmer)


Lesenswert?

Vielen Dank für die schnelle Rückmeldung.

uC schrieb:
> Ob das das STK ohne Programmer kann weiß ich nicht, kann aber gut sein.
> Habs bisher noch nie verwendet, kann vl. jemand anderer besser
> beantworten.

Habe es im Datenblatt des STK500 nachgelesen, dass eine direkte 
Programmierung möglich ist.
Bin auf diese Frage gestoßen, da im AVR Studio beim Verbinden zum uC 
zwischen den Platformen JTAGICE mkII, AVRISP mkII und eben auch dem 
STK500_or_AVRISP ausgewählt werden kann.

Ob diese auch In-System-Programmable ist weiß ich nicht?

grüße

von spess53 (Gast)


Lesenswert?

Hi

>Bin auf diese Frage gestoßen, da im AVR Studio beim Verbinden zum uC
>zwischen den Platformen JTAGICE mkII, AVRISP mkII und eben auch dem
>STK500_or_AVRISP ausgewählt werden kann.

JTAGICE mkII und AVR-Dragon können ISP- und JTAG-Programmierung.

MfG Spess

von Hannes L. (hannes)


Lesenswert?

Manuel R. schrieb:
> Hallo,
>
> ich beschäftige mich seit geraumer Zeit mit Mikrocontrollern.

Wie "geraum" ist diese Zeit? ;-)

>
> Was mir abgesehen von der Programmierung Probleme macht, ist eine
> Übersicht über die Hardware zu gewinnen.
>
> Ich habe in einem Workshop bereits an einem ATmega32 programmiert.
> Dieser wurde in einem entsprechenden Sockel auf einem STK500 Board
> integriert.
>
> Sehe ich das richtig, dass das STK500 nur in der Programmierphase
> verwendet wird um das Programm schnell ohne größeren Aufwand testen zu
> können, da beispielsweise Ausgänge des Mikrocontrollers sauber
> rausgeführt werden?

Ja, das STK500 ist ein Programmier- und Testboard.

>
> An das STK500 wurde dann ein JTAGICE mkII angeschlossen.
> Welche Aufgabe hat das JTAGICE mkII?

Das JTAGICE mkII ist ein Debugger. Es kommuniziert mit dem AVR über die 
JTAG-Schnittstelle und kann im AVR-Studio aktuelle Werte anzeigen. Es 
kann aber auch zum reinen Programmieren (Programm in Flash übertragen) 
verwendet werden.

> Liegt dies an der ISP-Fähigkeit bzw. hat dies das STK500 nicht?

Das STK500 kann ISP und Hochvolt (parallel und seriell), aber kein JTAG 
und auch kein DW (Debugwire).

> Man könnte doch auch das STK500 direkt an den PC über eine RS232
> Schnittstelle hängen oder?

Jawoll, das ist auch der Sinn des STK500. Und das funktioniert auch über 
USB-Seriell-Wandler.

> Warum wurde damals in diesem Workshop diese Variante über den JTAGICE
> mkII verwendet?

Weil man es hatte, es war schließlich ein "Workshop", und da schießt man 
bekanntlich mit Kanonen auf Spatzen. Man will schließlich Eindruck 
schinden.

>
> Wie ihr sehen könnt: Fragen über Fragen.
> Auch wenn die ein oder andere Frage banal klingt, hoffe ich doch dass
> man sie mir beantwortet.

Ich hoffe, dazu beigetragen zu haben.

>
> Viele Grüße
> uc_programmer

Tipp:

Installiere AVR-Studio und lies ein bissel in der Hilfe zu den Dich 
interessierenden Tools (STK500, STK600, AVR-ICE, Dragon, AVR-ISP, ...). 
Dann lade Dir noch die Datenblätter der Dich interessierenden AVRs 
herunter und schau Dir an, was die können und welche 
Programmierverfahren sie beherrschen.

Noch'n Tipp:

Wenn Du (privat zum Basteln) in die AVR-Geschichte einsteigen willst, 
dann beschaffe Dir (z.B. bei CSD) ein AVR-ISP mkII oder einen 
AVR-Dragon. Dazu ein paar AVRs im DIL-Gehäuse, ein paar IC-Fassungen, 
jede Menge 100nF-Kerkos, ein paar Lochraster-Platinen und etwas 
Kleinkram für die Peripherie (Taster, LEDs, Widerstände 1k, 10k, 
Transistoren BC337, ...). Und plane dabei nicht in Jahrzehnt-Etappen, 
sondern eher in Monats- oder Quartals-Etappen. Denn was Du wirklich 
brauchst, das merkst Du erst, wenn Du Dich intensiv damit beschäftigst. 
Suche dazu auch mal im Forum nach Einsteiger, einsteigen, Anfänger, usw, 
es wurde alles schon zigmal erschöpfend diskutiert.

Und dann schau mal hier: http://www.mikrocontroller.net/articles/AVR
da gibt es ein paar nette Tutorials, die jeden Workshop in den Schatten 
stellen.

...

von Frank K. (fchk)


Lesenswert?

Manuel R. schrieb:

> An das STK500 wurde dann ein JTAGICE mkII angeschlossen.
> Welche Aufgabe hat das JTAGICE mkII?
> Liegt dies an der ISP-Fähigkeit bzw. hat dies das STK500 nicht?
> Man könnte doch auch das STK500 direkt an den PC über eine RS232
> Schnittstelle hängen oder?
> Warum wurde damals in diesem Workshop diese Variante über den JTAGICE
> mkII verwendet?

Bei Atmel gibts im Unterschied zu den PICs zwei 
Programmierschnittstellen: ISP und JTAG (nur bei den größeren MEGAs). 
ISP ist nur dafür geeignet, den Programmcode in den Chip 
hineinzubekommen, mehr nicht. Über JTAG kannst Du den Prozessor viel 
mehr kontrollieren, Register und Speicher lesen und schreiben, 
Einzelschrittbetrieb etc etc.

Das STK500 hat nur einen ISP-Programmer. Für JTAG braucht man das 
relativ teure JTAG mkII.

Bei Microchip kannst bei mit dem vergleichsweise preiswerten PicKit3 
fast alle aktuellen PICs programmieren UND debuggen, und Du brauchst 
dort auch nur zwei Pins dafür.

fchk

von Simon K. (simon) Benutzerseite


Lesenswert?

Es gibt auch noch debugWire als dritte AVR Programmierschnittstelle.

von Thomas E. (thomase)


Lesenswert?

Simon K. schrieb:
> Es gibt auch noch debugWire als dritte AVR Programmierschnittstelle.

Gibt es nicht. Das ist eine Debug-Schnittstelle.

mfg.

von Seltsamer (Gast)


Lesenswert?

"Workshop" der solche elmentaren Fragen offen läßt.
Wer war denn der Veranstalter, damit man diesen meidet ?

von Hannes L. (hannes)


Lesenswert?

Frank K. schrieb:
> Bei Atmel gibts im Unterschied zu den PICs zwei
> Programmierschnittstellen: ISP und JTAG (nur bei den größeren MEGAs).

Nööö, Du hast Hochvolt unterschlagen. Reine Programmierschnittstellen 
sind (außer bei den ganz neuen AVRs) SPI und Hochvolt (seriell bei 
kleinen Gehäusen, wo die Pins für parallel nicht reichen, ansonsten 
parallel). JTAG und DW sind Debugger-Schnittstellen, wobei JTAG wohl 
auch zum Programmieren geeignet ist.

> ISP ist nur dafür geeignet, den Programmcode in den Chip
> hineinzubekommen, mehr nicht.

Richtig, Hochvolt-Programming aber auch.

> Über JTAG kannst Du den Prozessor viel
> mehr kontrollieren, Register und Speicher lesen und schreiben,
> Einzelschrittbetrieb etc etc.

Das ist ja auch eine Debug-Schnittstelle. Die hat aber (im Gegensatz zu 
ISP und HV) nicht jeder AVR.

...

von Knut (Gast)


Lesenswert?

Den Workshop würde ich verklagen, der hat dir offensichtlich nichts 
beigebracht...


Knut

von Manuel R. (uc_programmer)


Lesenswert?

spess53 schrieb:
> Kommt darauf an, wo und wie das JTAGICE mkII angeschlossen wurde. Am
> 6-pol. ISP-Anschluss fungiert es als Programmer und als DW-Debugger.
> Über Expand0 kann man über JTAG debuggen.


Wenn ich das jetzt richtig verstanden haben, dann stellt das STK500 zwei 
Optionen bereit. Zum einen kann ich den JTAGICE über die 
ISP-Schnittstelle anschließen und bekommen zusätzlich ein DW-Debugger.
Zum anderen kann ich über eine zweite Schnittstelle (Expand0) JTAG 
nutzen, das bereits Debugger, Programmer usw. vereint.


Sehe ich das richtig?
Bzw. warum werden diese beiden Alternativen gegeben?

von Thomas E. (thomase)


Lesenswert?

Manuel R. schrieb:
> Sehe ich das richtig?
> Bzw. warum werden diese beiden Alternativen gegeben?

Das sind keine Alternativen.

Es gibt zwei Debug-Varianten. Debug-Wire und JTAG. Debug-Wire benötigt 
nur einen Pin, den Reset-Pin, zum debuggen, JTAG braucht 4 Pins.

Die kleinen Controller, neuere Tinys und der Mega 48/88..., haben 
Debug-Wire, die großen ab 40 Pins, JTAG.

mfg.

von Manuel R. (uc_programmer)


Lesenswert?

Ok vielen Dank an alle :)

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.