Forum: Mikrocontroller und Digitale Elektronik Schaltungsdesign TINY vs. ISP


von Hans-juergen M. (hjuergen)


Lesenswert?

Hallo Experten ;-),

ich nutze einen STK500 einschl. mitgeliefertem ATmega8515. Ich habe mich 
nun leidlich eingearbeitet und wollte einige
Projekte mit Tinys (oder besser Tynies ;-) realisieren.

Ich habe noch Probleme beim Verstädnis bzgl. der Doppelbelegung
der PINS: Port+Programmierung.

Zunächst habe ich versucht mich im "AVR042: AVR Hardware Design 
Considerations" schlau zu machen. Irgendwie kamen mir die Hinweise etwas
"generisch" vor.

Kann mir jemand auf die Sprünge helfen?

1) Wie trennt man Schaltungstechnisch am geschicktest die Programmierung
von der Portnutzung (Ich weiss, dass das dies natuerlich davon abhängt 
was am Portpin im einzeln hängt - die Frage ist, ob es eine generelle 
Vorgehenseise gibt, die zukünftigen Aufwand bei einer potentiellen 
Änderung spart)

2) Was fuer Spannungen spuckt der STK500 beim programmieren so aus? Mein 
Hoffnung wäre, dass er die im AVR Studio eingestellte Betriebspannung 
für den AVR nicht ueberschreitet - kann das jemand bestätigen?

Herzlichen Dank im voraus!
Hans-Juergen

von Johannes M. (johnny-m)


Lesenswert?

Hans-juergen Mueller wrote:
> 1) Wie trennt man Schaltungstechnisch am geschicktest die Programmierung
> von der Portnutzung (Ich weiss, dass das dies natuerlich davon abhängt
> was am Portpin im einzeln hängt - die Frage ist, ob es eine generelle
> Vorgehenseise gibt, die zukünftigen Aufwand bei einer potentiellen
> Änderung spart)
Da gibt es tatsächlich keine allgemeine Vorgehensweise. Es muss darauf 
geachtet werden, dass nichts an den Portpins dranhängt, was den ISP 
nennenswert belastet.

> 2) Was fuer Spannungen spuckt der STK500 beim programmieren so aus? Mein
> Hoffnung wäre, dass er die im AVR Studio eingestellte Betriebspannung
> für den AVR nicht ueberschreitet - kann das jemand bestätigen?
Was für eine Spannung ausgegeben wird, hängt davon ab, ob der 
VTarget-Jumper gesetzt ist oder nicht. Wenn er gesetzt ist, dann wird 
die STK500-Versorgungsspannung (5V) an den ISP weitergegeben. Wenn er 
nicht gesetzt ist, wird das ganze über die Zielhardware versorgt (was 
bei den reinen ISP-Programmern, z.B. AVRISP, generell der Fall ist). 
Wenn die Versorgungsspannung der Zielhardware nicht 5 V beträgt, dann 
muss das auch so gemacht werden.

von Sebastian Heyn (Gast)


Lesenswert?

Wenn du zukünftig Änderungen einfach machen willst, kannst du
1) den IC Sockeln
2) Die Pinne direkt an einen ISP Port hängen, den Rest an den Pins über 
einen  220 Ohm entkoppeln.

So wie bei 2) hab ich das schon öfters gemacht. Programmieren dann 
allerdings über einen STK200 (ISP Adapter) - Der is einfach nicht so 
groß :-))

von Peter D. (peda)


Lesenswert?

Bei den 8-Pinnern ist es in der Tat tricky, die 4 ISP-Pins mit der 
Anwendung zu sharen.
Auch sind, wenn ISP enabled bleiben soll, nur 5 IOs nutzbar.

Ich brenne daher in die 8-Pinner meinen 1-Draht Bootloader rein.  Dann 
sind alle 6 IOs nutzbar und man hat nur einen Pin zu beachten. Den kann 
man z.B. mit ner Taste sharen.
Man braucht auch kein STK500 mehr, geht direkt auf die PC-UART.


Peter

von Andreas K. (a-k)


Lesenswert?

Hans-juergen Mueller wrote:

> 1) Wie trennt man Schaltungstechnisch am geschicktest die Programmierung
> von der Portnutzung

Wer auf Nummer sicher gehen will, um sich das Denken für den Einzelfall 
zu ersparen, der baut einen Analog-Muxer dran, der über das Reset-Signal 
gesteuert die Pin-Funktionen trennt. Das ist aber in den meisten Fällen 
übertrieben.

Häufig sind die ISP-Pin mit den SPI/USI-Pins identisch (nicht: 
Mega128&Co) und es hängen dementsprechend eines oder mehrere SPI-Devices 
dran. Wenn wie üblich diese SPI-Devices ihren Ausgang (an MISO) floaten 
lassen, wenn sie nicht angesprochen werden, ist das kein Problem. Man 
muss dann nur per Pullup-Widerstand am Slave-Select-Anschluss für 
geordnete Verhältnisse während Reset sorgen. Manche SPI-Slaves haben den 
auch schon eingebaut.

In anderen Fällen kann ein Serienwiderstand von ein paar KOhm 
ausreichen, ein aktiv den Pin treibendes Device vom ISP abzukoppeln.

> 2) Was fuer Spannungen spuckt der STK500 beim programmieren so aus? Mein
> Hoffnung wäre, dass er die im AVR Studio eingestellte Betriebspannung
> für den AVR nicht ueberschreitet - kann das jemand bestätigen?

Ist so, dafür hat der eigens diskrete Pegelwandler für die Signale vom 
ISP-Anschluss drin.

von Andreas K. (a-k)


Lesenswert?

220 Ohm sind zur Entkopplung ISP/Device etwas arg klein. 2200 besser.

von Hans-juergen M. (hjuergen)


Lesenswert?

Recht herzlichen Dank an Alle fuer die schnelle Unterstützung!!!
Hans-Juergen

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.