Forum: Mikrocontroller und Digitale Elektronik ISP-Ports als I/O


von Oli (Gast)


Lesenswert?

Hallo,

ich bin absoluter Anfänger im µC-Bereich und mir bewusst, dass diese 
Frage sicher nicht zum ersten Mal auftaucht.

Mir schwebt ein Projekt mit relativ vielen I/O-Pins an einem Mega32 vor 
-- so viele, dass ich die Portpins PB5-7 ebenfalls belegen muss. Soweit 
ich mich bislang eingelesen habe, sollte das ja auch funktionieren. Nun 
habe ich aber die Wahl, je nach «Design», diese Ports entweder als Ein- 
oder Ausgang zu belegen -- bin aber nicht sicher, was davon wirklich 
sinnvoller ist.

Die Eingänge wollte ich, wie im Tutorial «Entprellung» beschrieben, über 
74xx14-Inverter realisieren, die Ausgänge sollen, wie in 
«Schieberegister» beschrieben auf 74xx595 führen.

Meine Überlegung: Nutze ich die ISP-Pins für Eingänge, wird mir 
vermutlich der 74xx14 dauerhaft einen High- oder Low-Pegel auf die 
Leitung «drücken» wollen, was der ISP-Sache wohl nicht dienlich ist. 
Könnte das einfach durch einen Widerstand (10k? ??) zwischen Inverter 
und µC gelöst werden, wenn der ISP-«Abgriff» dann direkt am µC-Pin 
liegt?
Alternative: Ich nutze die ISP-Pins für Ausgänge; allerdings könnte ich 
mir vorstellen, dass -- je nach Belegung -- das muntere 
Pegel-hoch-und-runter beim Programmieren ungewollte Dinge in den 
Schieberegistern hinterlässt (ich gehe mal davon aus, dass die 
zusätzliche «Last» auf der Leitung durch die Schieberegister die 
Programmierung selbst nicht stören dürfte?). Könnte ich das Problem 
lösen, indem ich den RESET-Pin des µC mit dem «SCL»-Port der 
Schieberegister verbinde? So dass beim Programmieren die 
74xx595-Ausgänge dauerhaft auf "0" stehen? Oder zieht der ISP-Adapter 
den Reset-Port nur kurz auf "Low", so dass diese Idee nichts bringt?

Muss ich ansonsten noch etwas beachten, wenn ich alle 31-32 Pins belegen 
möchte (außer, dass ich wohl das JTAG deaktivieren muss)?

Ich danke schon mal für die Antworten,

Oli

von spess53 (Gast)


Lesenswert?


von Oli (Gast)


Lesenswert?

Danke für die schnelle Antwort :-)
Ich muss aber trotzdem nochmal doof nachfragen: Das klingt jetzt erstmal 
nach «geht beides».
(1)
> In case other devices [...] [are] connected to the ISP lines the
> programmer must be protected from any device [...] that
> may try to drive the lines. [...]  Applying series resistors on the
> SPI lines, as depicted in Figure 4-2, is the easiest way of doing this.
und
(2)
> the AVR is held in RESET to enter programming mode

Wären 10k denn ein passabler Wert für «Lösung 1»?

Danke & Gruß,
Oli

von spess53 (Gast)


Lesenswert?

Hi

>Wären 10k denn ein passabler Wert für «Lösung 1»?

Ich habe es selbst noch nicht gebraucht, aber 10k wären auch erst mal 
meine Wahl.

MfG Spess

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.