Forum: Mikrocontroller und Digitale Elektronik UPDI, 12V und andere Funktionen


von UPDI-Neuling (Gast)


Lesenswert?

Hallo an alle,
ich in es gewohnt, ATTINY oder ATMEGA per ISP zu programmieren. Neuere 
ATTINY haben bekanntermaßen nur noch die UPDI-Schnittstelle zum 
Programmieren und Debuggen. Da zur Einleitung der Programmierung per 
UPDI ein 12V-Impuls auf den Eingang gegeben wird, stelle ich mir gerade 
die Frage, wie ich den Rest der Schaltung sinnvoll vor Zerstörung 
schütze. Aus Gründen der Zuverlässigkeit und zur Vermeidung unnötigen 
Aufwandes möchte ich, wenn es irgendwie machbar ist, auf einen Jumper 
oder eine Lötbrücke verzichten. Der UPDI-Pin des ATTINY402 soll nachher 
als Slave-Select für SPI dienen. Wer hat mit solchen Situationen 
Erfahrung und kann hilfreiche Tips geben? Vielen Dank!

von Axel S. (a-za-z0-9)


Lesenswert?

UPDI-Neuling schrieb:
> Da zur Einleitung der Programmierung per
> UPDI ein 12V-Impuls auf den Eingang gegeben wird

Nein.

Den 12V Impuls brauchst du nur dann, wenn du den UPDI Pin per Fuse auf 
GPIO oder /RESET umkonfiguriert hast.

von UPDI-Neuling (Gast)


Lesenswert?

Axel S. schrieb:
> Den 12V Impuls brauchst du nur dann, wenn du den UPDI Pin per Fuse auf
> GPIO oder /RESET umkonfiguriert hast.

Danke für den Hinweis. Wo im Datenblatt steht denn die Erklärung dazu? 
Habe ich nicht gefunden. Aber angenommen: Wenn ich den Pin 
umkonfiguriert habe, weil ich ihn unbedingt brauche; wie kann ich ohne 
Jumper oder Lötverbindung den Rest der Schaltung schützen? Mir ist noch 
nicht ganz klar, wie man eine Schnittstelle ins Leben rufen kann, die 
den Benutzer zusätzliches Geld kostet oder zusätzlichen Aufwand 
beschert.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

UPDI-Neuling schrieb:
> Mir ist noch nicht ganz klar, wie man eine Schnittstelle ins Leben rufen
> kann, die den Benutzer zusätzliches Geld kostet oder zusätzlichen
> Aufwand beschert.

Die kostet dich kein zusätzliches Geld. HV-Programmierung gab's auch 
früher schon und ist natürlich die einzige Möglichkeit, wenn du der 
Meinung bist, dass du /RESET auch als normalen IO-Pin im Betrieb 
brauchst.

Brauchst du das nicht, dann brauchst du auch die 12 V nicht. Ist auch 
wie früher.

von qwerzuiopü+ (Gast)


Lesenswert?

UPDI-Neuling schrieb:
> Mir ist noch nicht ganz klar, wie man eine Schnittstelle ins Leben rufen
> kann, die den Benutzer zusätzliches Geld kostet oder zusätzlichen
> Aufwand beschert.

UPDI braucht nur einen Pin und kann gleichzeitig debuggen - sind für 
mich genug Argumente, was neues neben ISP einzuführen.

von neuer PIC Freund (Gast)


Lesenswert?

> UPDI braucht nur einen Pin

Es gibt auch UPDI mit 2 Pins.

> ... und kann hilfreiche Tips geben?

Alle Programmer/Debugger Pins in Ruhe lassen. Nur hierfür verwenden. 
Sollte es wegen einem chipselect scheitern, dann den nächstgrößeren µC 
verwenden.

von UPDI-Neuling (Gast)


Lesenswert?

neuer PIC Freund schrieb im Beitrag #5760366:
> Alle Programmer/Debugger Pins in Ruhe lassen. Nur hierfür verwenden.
> Sollte es wegen einem chipselect scheitern, dann den nächstgrößeren µC
> verwenden.

Ja, grundsätzlich gebe ich Dir Recht. Nun ist es aber beim ATTINY402 so, 
dass dies der einzige Pin ist, der für Slave Select zur Verfügung steht, 
ich kann ihn nicht auf einen anderen Eingang mappen. Deine Aussage 
impliziert aber, dass dieser Controller für SPI weniger geeignet wäre, 
obwohl er es kann. Kommen die 12V denn nur dann zu Tragen, wenn der Pin 
als Reset eingerichtet ist, oder jedesmal, wenn er für einen anderen 
Zweck als für UPDI verwendet wird?

von neuer PIC Freund (Gast)


Lesenswert?

Du wirst jedesmal zum Programmieren die 12V applizieren müssen, wenn du 
den Pin als GPIO (/SS) verwendest. Mit einem 12V-Impuls teilst du dem 
Tiny kurzfristig und vor Fuses/FW mit, dass der Pin jetzt UPDI sei.

Es mag niedlich erscheinen, wenn so ein µC in 8 Pin daherkommt. Aber für 
die Entkopplung benötigst du extra Bauteile, wodurch der Platinenbedarf 
in Richtung 14 Pin wächst.

Deshalb: Augen auf beim Controllerkauf.

von Peter D. (peda)


Lesenswert?

UPDI-Neuling schrieb:
> Deine Aussage
> impliziert aber, dass dieser Controller für SPI weniger geeignet wäre

Allein 4 Pins für das SPI zu verschwenden, dürfte eh den Einsatz stark 
einschränken. Es bleiben ja nur noch 2 IOs für die Applikation übrig.

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Wenn dein Tiny der SPI Master ist, sollte folgendes funktionieren:
Reset und UPDI verbinden und über eine Diode (Kathode Richtung Tiny) an 
den SS des Slaves. Diesem noch einen 10k Pullup spendieren.
Wenn du Platz hast wäre aber ein Attiny 404 die einfachere Variante.

Christian_RX7

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Christian K. schrieb:
> Wenn dein Tiny der SPI Master ist

… dann hat der /SS-Pin eigentlich nur im Multi-Master-Betrieb eine 
Funktion. Ob man das haben will oder nicht, kann man beim ATtiny402 
explizit einstellen.

Als /SS zum Slave kann jeder beliebige GPIO dienen.

Einen 8-Pinner würde ich aber tatsächlich eher nicht für SPI benutzen. 
Vielleicht gerade noch, wenn es nur Einbahnstraße ist (Controller -> 
Slave, MISO nicht nötig, bspw. für die Ansteuerung von 
74HC595-Schieberegistern), dann hat man immer noch ein Pin mehr zur 
Verfügung.

von Minimalist (Gast)


Lesenswert?

Wie kontaktierst du den Pin denn zum Programmieren? Du brauchst doch eh 
nen Pin/Buchse/Stift auf der Platine, oder machst du das per 
Miniabgreifklemme?
Sonst könnte der Programmieranschluss auch gleich Jumper sein.

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.