Forum: Mikrocontroller und Digitale Elektronik Attiny1614 UPDI REAKTIVIEREN?!


von Nokka236 (Gast)


Lesenswert?

Hallo,

ich habe einige ATTiny1614 im Einsatz und brauchte alle Pins. Daher ist 
UPDI deaktiv, nun kann ich nicht mehr programmieren. Jetzt habe ich die 
Software erweitert, und möchte diese neu flashen. Daher meine Frage: Wie 
kann ich UPDI wieder aktivieren? Im Datenblatt steht 12V am Reset, ich 
habe ein Atmel-ICE, der kann das wohl nicht?!

von Georg M. (g_m)


Lesenswert?

Nokka236 schrieb:
> Wie kann ich UPDI wieder aktivieren?
> Im Datenblatt steht 12V am Reset,

Ja.


Nokka236 schrieb:
> ich habe ein Atmel-ICE, der kann das wohl nicht?!

Nein.

von Moby (Gast)


Lesenswert?

Seit jeher ein Blödsinn den UPDI Pin mit weiteren Funktionen zu belegen. 
Jetzt haben wir den Salat. Bei den neueren Megas war man schlauer, da 
ist der Pin exklusiv zur Programmierung reserviert.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Ob die alten "Hochspannungs"-Programmierer den Tiny1614 auch können? 
Passt Elm-Chans Schaltung? Und der Parallelport ist auch ausgestorben, 
gut wenn man noch einen alten Rechner mit höchstens WinXP hat.

https://www.mikrocontroller.net/articles/AVR_HV-Programmer
http://elm-chan.org/works/avrx/report_e.html

Beitrag #5650644 wurde von einem Moderator gelöscht.
Beitrag #5650725 wurde von einem Moderator gelöscht.
von Nokka236 (Gast)


Lesenswert?

Moby schrieb:
> Seit jeher ein Blödsinn den UPDI Pin mit weiteren Funktionen zu
> belegen.
> Jetzt haben wir den Salat. Bei den neueren Megas war man schlauer, da
> ist der Pin exklusiv zur Programmierung reserviert.

Neue Megas mit UPDI?! Kannst du mir die nennne?

von Nokka236 (Gast)


Lesenswert?

Mo~by schrieb im Beitrag #5650725:
> Christoph db1uq K. schrieb:
>> Ob die alten "Hochspannungs"-Programmierer den Tiny1614 auch
>> können?
>
> Natürlich nicht.
> UPDI braucht zum Umstellen nur einen kurzen 12V Puls. Das sollte man
> sich basteln können. Besser wärs, der TO hätte gleich ein IC mit
> genügend Pins genommen. Der nächstbessere wär der 1616 gewesen...

Da hast du Recht :) Ich nutze den aber in recht vielen Projekten, und 
nur bei 1 Gerät ist es so, dass der voll belegt ist. Dafür einen anderen 
Chip ist unsinnig, so habe ich nur einen Prozessor auf Lager und kann 
den in gr. Mengen kaufen.

Beitrag #5650914 wurde von einem Moderator gelöscht.
von BlaBla (Gast)


Lesenswert?

Nokka236 schrieb:
> Im Datenblatt steht 12V am Reset, ich
> habe ein Atmel-ICE, der kann das wohl nicht?!

Probiere es doch mal. der ICE hat einen DC-DC Wandler drauf und im 
Studio 7 kann ein 12V-Haken gesetzt werden. Über eine Rückmeldung würde 
ich mich freuen.

von BlaBla (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Fenster dazu. Leider habe ich keinen passenden ATtiny zum 
Testen.

von Nokka236 (Gast)


Lesenswert?

BlaBla schrieb:
> Hier das Fenster dazu. Leider habe ich keinen passenden ATtiny zum
> Testen.

Ja das weiß ich, aber das macht der Atmel ICE nicht.

von Nokka236 (Gast)


Lesenswert?

Moby schrieb im Beitrag #5650914:
> Nokka236 schrieb:
>
>> Neue Megas mit UPDI?! Kannst du mir die nennne?
>
> Na aber sicher doch.
> Microchip/Atmel entwickeln zügig weiter.
> Schau Dir z. B. mal die 4808/4809er an.

Ach herje! Das ist ja ein Traum! Ich liebe die 1614 einfach und die 4808 
kann den Mega328p ersetzen, hat sogar noch mehr Speicher! Klasse. Und 
int. 20 Mhz Oscillator, kann man sich nochmal 3 Bauteile sparen (Quarz + 
Lastcaps). Da ist Microchip auf dem richtigen Weg, einfach Klasse!!

Jetzt müsste es nur noch einen Ersatz für den 644P geben :)
Geniale Sache, die kannte ich noch gar nicht, billiger sind die auch!
Damals habe ich die Atiny84 gegen die Attiny1614 getauscht, war einfach 
genial.

von BlaBla (Gast)


Lesenswert?

Dann fragt man sich, warum das AS7 anbietet, wenn das nicht 
funktioniert. Fehler in der Entwicklung des ICE? Irgend ein Tool muss es 
doch geben zur 12V-Programmierung.

von Moby (Gast)


Lesenswert?

Nokka236 schrieb:

> Damals habe ich die Atiny84 gegen die Attiny1614 getauscht, war einfach
> genial.

Sind auch meine Lieblinge :)
Hoch leistungsfähig, mit UART, bei schön kleinem schmalen Gehäuse noch 
gut zum Löten. Nur UPDI bleibt stets exklusiv zum Programmieren! 
Grundregel!

von Nokka236 (Gast)


Lesenswert?

Moby schrieb:
> Nokka236 schrieb:
>
>> Damals habe ich die Atiny84 gegen die Attiny1614 getauscht, war einfach
>> genial.
>
> Sind auch meine Lieblinge :)
> Hoch leistungsfähig, mit UART, bei schön kleinem schmalen Gehäuse noch
> gut zum Löten. Nur UPDI bleibt stets exklusiv zum Programmieren!
> Grundregel!

Ja, aber wie gesagt, bei dem ging das nicht anders. Ich teste gleich 
nochmal mit dem ICE, sonst lege ich da mal so 12V dran, ich hatte meinen 
ICE auch umgebaut, dass er die USB 5V hinten raus gibt, dann braucht man 
keine ext. Spannung zum Programmieren :)

Vll. kann ich das noch umbauen das er auch 12V abgibt. Verstehe auch gar 
nicht warum der das nicht kann.

von Nokka236 (Gast)


Lesenswert?

BlaBla schrieb:
> Dann fragt man sich, warum das AS7 anbietet, wenn das nicht
> funktioniert. Fehler in der Entwicklung des ICE? Irgend ein Tool muss es
> doch geben zur 12V-Programmierung.

Gerade nochmal getestet, nein geht nicht! Ja das habe ich mich auch 
gefragt, welcher kann das denn jetzt?!!?

von BlaBla (Gast)


Lesenswert?

Dann hilft wohl nur eine Anfrage beim Support von Microchip. Auf meinem 
Oszilloskop sehe ich auch keinen 12V-Impuls an (nSRST) Pin6 des ICE. 
Schwache Nummer.

von BlaBla (Gast)


Lesenswert?

Nachtrag: Beim Powerdebugger dito, wie beim ICE.

von BlaBla (Gast)


Lesenswert?

Diesen Work-a-round habe ich gefunden:



The Power Debugger does have 12 volt capability on the UPDI pin. I 
pointed out to an Atmel support person the paragraph that stated a ~5V 
limit on its pins and she replied that she would contact the relevant 
group about correcting the documentation. Dealing with the UPDI pin is a 
bit tricky; here's what I have learned.



1. UPDI devices (the ATtiny814 in my case) ship with the RESET pin set 
for UPDI operation. This allows debugging out of the chute.

2. You change RESET pin functionality using the Tools->Device 
Programming screen, selecting Fuses, then scrolling down to the 
SYSCFG0.RSTPINCFG (Reset Pin Configuration) selection. It will normally 
show as "UPDI mode". If you want to disable UPDI, select GPIO or RESET. 
I don't want a RESET pin so I pick GPIO. After a warning message the 
"fuse" setting is reconfigured. IT DOES NOT TAKE IMMEDIATE EFFECT. The 
"fuse" value has changed, but fuses don't take effect until the next 
power cycle.

3. To re-enable UPDI communication, go to Tools->Device Programming 
again, and note a checkbox called "Use 12V UPDI activation if 
available". Checking this box tells the Power Debugger to generate the 
12V pulse on the RESET pin to re-enable UPDI and therefore debugging. It 
does this when you click the "Set" button, but note this: UPDI debugging 
is enabled, but the fuse setting is still GPIO. This means that at the 
next power cycle you're out of luck again for debugging. The solution is 
that once you have (temporarily) restored UPDI communication with the 
12V pulse, you must also change the RSTPINCFG setting to UPDI. This 
makes the RESET pin UPDI, permanently.



Why disable UPDI, anyway? Two obvious reasons are that you want an 
external hardware RESET signal, or you are so strapped for GPIO that you 
need just one more pin. A more subtle reason (mine) is that as long as 
the UPDI interface is enabled, a tiny amount of current is consumed by 
the UPDI logic which includes a low power oscillator. If you want the 
lowest possible power consumption in low power modes you must disable 
the UPDI which stops its oscillator.

von BlaBla (Gast)


Lesenswert?

Durch Google übersetzt:

3. Um die UPDI-Kommunikation wieder zu aktivieren, gehen Sie erneut zu 
Tools-> Device Programming und beachten Sie die Checkbox "12V 
UPDI-Aktivierung verwenden, falls verfügbar". Wenn Sie dieses 
Kontrollkästchen aktivieren, wird der Power Debugger angewiesen, den 
12-V-Impuls am RESET-Pin zu generieren, um UPDI und damit das Debugging 
wieder zu aktivieren. Dies geschieht, wenn Sie auf die Schaltfläche 
"Set" klicken. Beachten Sie jedoch Folgendes: UPDI-Debugging ist 
aktiviert, aber die Sicherungseinstellung ist immer noch GPIO. Dies 
bedeutet, dass Sie beim nächsten Aus- und Wiedereinschalten wieder kein 
Glück haben, um zu debuggen. Die Lösung ist, dass, wenn Sie die 
UPDI-Kommunikation (vorübergehend) mit dem 12-V-Impuls wiederhergestellt 
haben, Sie auch die Einstellung RSTPINCFG in UPDI ändern müssen. Dadurch 
wird der RESET-Pin dauerhaft UPDI.

von BlaBla (Gast)


Angehängte Dateien:

Lesenswert?

BlaBla schrieb:
> Nachtrag: Beim Powerdebugger dito, wie beim ICE.

Diese Aussage ist falsch.

Siehe beide Anlagen (ICE vs PowerDebugger). Beim PowerDebugger sieht man 
den +12V-Impuls.

von BlaBla (Gast)


Angehängte Dateien:

Lesenswert?

Ein Bild ist rausgeflogen.

von Nokka236 (Gast)


Lesenswert?

BlaBla schrieb:
> Ein Bild ist rausgeflogen.

Hilf mit nochmal bitte. Powerdebugger ist wer?
ICE kann 12v oder nicht?

Ich verstehe das nicht ganz, ich lege 12v an, gehe dann auf fuses und 
würde dort updi auswählen und schreibe fuses?!

Wenn ich es mache, bekomme ich sofort eine Fehlermeldung wenn ich auf 
fuses klicke, da ich keinen Zugriff drauf habe.

von Nokka236 (Gast)


Lesenswert?

Habe gerade geguckt Power Debugger kostet nicht viel mehr als ein ice 
ärgert mich etwas ich dachte der ice kann alles.
Ich kaufe nicht extra dafür ein neues Gerät, ich werde mit einem step up 
12v erzeugen, einen Taster den ich vorher drücke (5v stellt der ice mir 
ja bereit) und in die 12v Leitung mache ich 10k, dann sollte der ice 
keinen Schaden nehmen oder?

von BlaBla (Gast)


Lesenswert?

Das kann ich leider nicht beantworten. Ich vermute, dass der ICE das mit 
den 12V können sollte, es aber ein Hardwareproblem gibt. Beim Power 
Debugger wurde das sicherlich berücksichtigt. Da aber das Dialogkästchen 
im AS7 für den ICE nicht deaktiviert wurde, könnte ich mir auch 
vorstellen, dass neuere HW-Versionen die 12V senden können. Aber alles 
nur Vermutungen von mir.

von BlaBla (Gast)


Lesenswert?


von dilo83 (Gast)


Lesenswert?

Hat Jemand schon eine Lösung für das 12V-Problem, um einen verfused'en 
Tiny wieder auf uPDI zurückzustellen? Habe einen Tiny816 aus versehen 
wohl mit folgenden Zeilen im Code umgestellt:
1
FUSES = {
2
  .OSCCFG = FREQSEL_20MHZ_gc,
3
//  .SYSCFG0 = CRCSRC_NOCRC_gc | RSTPINCFG_UPDI_gc,
4
//  .SYSCFG1 = SUT_64MS_gc,
5
//  .APPEND = 0x00,
6
//  .BOOTEND = BOOTEND_FUSE
7
};

Ich gehe mal davon aus, dass die auskommentierten Elemente mit Nullen 
aufgefüllt wurden. Für RSTPINCFG in SYSCFG0 hieße dass dann Einstellung 
GPIO.

Habe schon die Schaltung mit dem Pull-Up von hier probiert:
https://www.avrfreaks.net/forum/updi-programmer-software-arduino-compatible-avrdude?page=all

Leider ohne Erfolg.

In dem Forum steht dann auch der wichtige Satz:
*Be careful, all fuses not explicitly set will be filled with zero and 
this can brick your ATtiny. Be sure to set the UPDI pin to UPDI mode.* 
... leider zu spät gelesen.

Das eine Problem ist wohl innerhalb von 65ms nach dem 12V-Impuls die 
Programmierung zu starten. Und das Andere den Befehl 'NVMPROG 
(0x4E564D50726F6720)' auszuführen...was auch immer der bewirkt?

Am Microchip PICkit 4 soll ja die Programmierspannung von 12V verfügbar 
sein. Hat damit schon Jemand erfahrungen gemacht?

von dilo83 (Gast)


Lesenswert?

So, ich habs nun geschafft. Wen es interessiert kann es hier nachlesen: 
https://www.microchip.com/forums/m1070101.aspx

von Drei, unterwegs (Gast)


Lesenswert?

Wie denn? Ich lese im Microchip-Forum nur, dass es noch nicht geht. Habe 
ich da etwas übersehen?

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.