AVR flashen über max. 5 Pins

Gast #2894077
Lesenswert?

Hallo

Gibt es irgendeine Möglichkeit, AVRs über max. 5 Pins zu flashen?
(außer Bootloader, denn der müsste je auch drauf gebrannt werden).

Die neuen xmega können ja PDI. Die sind aber viel zu teuer 
(Serienproduktion).

JTAG braucht sogar mehr Pins als SPI?

Gibt es da irgendeinen vernünftigen Weg?
Gast #2894133
Lesenswert?

Ich muss über einen 5 Poligen Stecker von außen das geschlossene Gerät 
programmieren.

Bei SPI brauche ich doch 6 Leitungen. VCC ist notwendig, sonst geht das 
nicht. Oder wie war das mit dem Stützkondesator gemeint? Ist das eine 
Bastellösung? Wie funktioniert das?

--
Wo kostet der Atxmega32A4U denn 1,64 Euro? Ich rechne mal so mit 100er 
Abnahmezahlen. Der ist außerdem nur im 44 pol. Gehäuse verfügbar.
Ich brauche ggfs. auch 8 Pinner (Platzprobleme).
Moderator Persönliche Seite #2894138
Lesenswert?

Lind schrieb:
> Bei SPI brauche ich doch 6 Leitungen. VCC ist notwendig, sonst geht das
> nicht.

Dein "Gerät", wo der AVR drinsteckt, hat doch bestimmt eine eigene 
Stromversorgung, oder nicht? Dann hat der µC doch Vcc.

Einige Programmer benutzen die Vcc-Leitung, um die Spannung zu messen, 
unter der der µC läuft. Es gibt aber auch Programmer, die machen das 
nicht und benutzen immer TTL-Pegel.
Gast #2894145
Lesenswert?

Hi

>Mein ominöses "Gerät" hat keine eigene Stromversorgung; es wird an
>Gerät2 angeschlossen zum Betrieb.
>Es ist wirklich nur ein 5 poliger Stecker vorhanden zum Programmieren.

Fehlplanung.

MfG Spess
(Firma: matzetronics) #2894154
Lesenswert?

Lind schrieb:
> Mouser hat den für 1,64 sehe ich gerade.
> Aber der fällt dann doch weg, weil er mit 5V laufen muss.

Alle XMegas laufen bis 3,6 Volt (und haben keine 5V-toleranten 
Eingänge).

Lind schrieb:
> Mein ominöses "Gerät" hat keine eigene Stromversorgung; es wird an
> Gerät2 angeschlossen zum Betrieb.
> Es ist wirklich nur ein 5 poliger Stecker vorhanden zum Programmieren.

Dann gib dem Programmer doch die Vcc von woanders her, z.B. aus dem USB 
Port des Programmierrechners. Solange diese Vcc der Vcc des 'Gerätes' 
entspricht, gibts da keine Probleme.
Gast #2894158
Lesenswert?

Wenn der Atmel von der Zielschaltung versorgt wird, reicht doch für eine 
Programmierung ein 5 Poliges Kabel.
(SCK, MISO, MOSI, Reset, GND)

Hauptsache das Bezugspotential ist da.
Und der Programmer darf kein Ausgangstreiber haben, welcher von der 
Zielschaltung versorgt wird.

Oder vegesse ich grad was wichtiges?
Moderator #2894242
Lesenswert?

Lind schrieb:
> Oder wie war das mit dem Stützkondesator gemeint? Ist das eine
> Bastellösung?

Ich würde sagen, ja.

> Wie funktioniert das?

Die Stromversorgung erfolgt über die im Chip integrierten Schutzdioden.
Dazu muss aber in regelmäßigen Abständen mindestens einer der Pins
High-Pegel haben. Die Zeiträume, in denen alle Pins low sind, müssen vom
Stützkondensator überbrückt werden.

Immerhin ist der Clock-Pin für die Hälfte der Zeit high. Wenn also der
CLock-Ausgang des Programmiergeräts das Doppelte des Stromverbrauchs des
µC liefern kann, könnte die Sache halbwegs zuverlässig funktionieren.

Man muss allerdings auch die maximale Strombelastbarkeit der Schutz-
dioden beachten. Im Datenblatt steht dazu nichts, aber in einer Appnote
von Atmel stand mal der Hinweis, dass man maximal etwa 2mA Dauerstrom
durchschicken kann.

Der µC sollte also maximal 1mA verbrauchen, wenn er über den CLock-Pin
versorgt wird. Der Stromverbrauch während der Programmierung steht aber
ebenfalls nicht im Datenblatt, müsste also gemessen werden. Bei größeren
AVRs wird man da möglicherweise an die Grenze stoßen.

Um sicherzustellen, dass die Versorgungsspannung gleich zu Beginn des
Programmiervorgangs einen ausreichenden Wert hat, kann der Stützkonden-
sator initial über den Reset-Pin geladen werden, an dem anfangs ja
sowieso ein High-Pegel anliegt. Falls der Reset-Ausgang des Programmier-
geräts Ströme >2mA liefern kann, sollte der Strom aber geeignet begrenzt
werden, um Schäden zu vermeiden.

Falls die µC-Schaltung außer dem µC noch weitere Verbraucher enthält,
wird die Sache auf jeden Fall schwierig.


Ich würde diese ziemlich pfuschige Lösung nur als allerletzte Rettung
einsetzen, und das auch nur dann, wenn dir alle beteiligten Komponenten
(insbesondere µC-Schaltung und Programmiergerät) genau bekannt sind und
du bezüglich der fließenden Ströme alles genau für den Worst-Case durch-
gerechnet hast.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren