Hallo,
ich progammiere derzeit einen Attiny2313 mit einem mySmartUSBlight.
Zurzeit mache ich es immer so, dass ich erst die externe
Spannungsversorgung (5V) der Schaltung trenne, dann den Programmer an
die Schaltung klemme, programmiere, dann erst wieder den Programmer
abtrenne und zum Schluss die externe Spannung wieder einschalte.
So langsam wird mir das gefummel allerdings zu nervig. Kann ich den uC
nicht irgendwie bei eingeschalteter externer Betriebsspannung
programmieren? Kann ich beispielsweise am Programmierkabel die
Vcc-Leitung kappen und dann bei laufender externer Spannung (5V)
programmieren?
lg
> Kann ich beispielsweise am Programmierkabel die Vcc-Leitung kappen und> dann bei laufender externer Spannung (5V) programmieren?
Warum sollte das nicht funktionieren? Du hast MOSI und MISO zur
Datenübertragung, RESET um den Controller in den Programmiermodus zu
versetzen und GND als Bezugspotential.
Bei diesem Betrieb sollten aber beide VCC in etwa gleich groß sein.
Wenn der USB- Progger mit 5V läuft, gibt er H-Pegel von 5V ab. Ein dran
angeschlossenener Kontroller der mit 4,0V versorgt wird (oder gar mit
3,3V) bekommt dann Überspannung an seine Eingänge, die ja nur VCC
(+ca.0,2 V) vertragen.
Bei den meisten proggern mildern Längswiderstände in den Signalleitungen
zwar die Problematik. Aber es sollte besser nur EINE gemeinsame
Spannungsversorgung für progger und target verwendet werden.
Peter R. schrieb:> Aber es sollte besser nur EINE gemeinsame> Spannungsversorgung für progger und target verwendet werden.Boben schrieb:> Warum sollte das nicht funktionieren? Du hast MOSI und MISO zur> Datenübertragung, RESET um den Controller in den Programmiermodus zu> versetzen und GND als Bezugspotential.
Okey, dann würde es in diesem konkreten Fall funktionieren da der
Controller in der Schaltung mit 5V betrieben wird.
Da ich diese Problematik in zukunft vermutlich öfter haben werde
spendiere ich vielleicht doch besser eine Stunde um mir ein kleines
Gadget zusammenzulöten.
Die korrekte Vorgehensweise ist, dass der Programmer niemals zur
Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür
gedacht, die Levelshifter im Programmer zu versorgen, damit die genau
die passenden Spannungspegel liefern. Billig-Programmer haben das meist
nicht. Soll ja billig sein, damit die ganzen Anfänger das auch kaufen.
Bei einem guten Gerät entsteht diese Problematik gar nicht erst.
fchk
Also ich hab mir "damals" (4/5 Jahre her) für rund 50 Euro den AVR ISP
MKII gekauft. Gibts z.B. bei Reichelt, Conrad, Pollin, Amazon u.v.m.
Klar, 50 Euro ist ein kleiner Happen aber dafür braucht man keine Angst
haben beim Flashen sich den Controller zu schießen. Und man weiß auch
immer ziemlich genau: klappt das Flashen nicht liegts mit sehr hoher
Wahrscheinlichkeit nicht am Programmer.
Meine Erfahrung ist die: Mit Selbstbau-USB-Lab, mit STK500- Firmware und
Fremdspeisung ständig programmiert. Auch mit 3,3V am Target, obwohl das
die Schutzdioden über 1kOhm öffnet (beim MOSI-Signal). Es ging trotzdem
gut.
Ich hab aber im Wesentlichen nur die atmega8 verwendet, die relativ
robust sind. Wie es bei einem anderen Kontroller klappen würde? ich weiß
es nicht.
Die exakte Lösung ist natürlich die mit Treibern zwischen target und
progger.
Die macht auch den Unterschied zwischen 5V Vcc und 3,3V Vcc mit.
Frank K. schrieb:> Die korrekte Vorgehensweise ist, dass der Programmer niemals zur> Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür> gedacht, die Levelshifter im Programmer zu versorgen, damit die genau> die passenden Spannungspegel liefern.
Aha. Ist das der Grund warum das PICKit einen sogar einstellbaren
Spannungsregler an Bord hat, mit dem es die Zielschaltung versorgen
kann? Und das PICKit erwähne ich durchaus absichtlich, weil du es so
gern und oft als das Maß aller Dinge darstellst.
Michael K. schrieb:> Also ich hab mir "damals" (4/5 Jahre her) für rund 50 Euro den AVR ISP> MKII gekauft. Gibts z.B. bei Reichelt, Conrad, Pollin, Amazon u.v.m.> Klar, 50 Euro ist ein kleiner Happen aber dafür braucht man keine Angst> haben beim Flashen sich den Controller zu schießen.
OK. Man kann alternativ auch einfach mal das Hirn einschalten, bevor man
den Programmer an die Zielschaltung ansteckt. Wenn man die selber gebaut
hat, weiß man ja mit welcher Spannung die versorgt wird und ob das zum
Programmer paßt.
Axel S. schrieb:> Frank K. schrieb:>> Die korrekte Vorgehensweise ist, dass der Programmer niemals zur>> Spannungsversorgung dient. Der VTarget-Pin ist eigentlich nur dafür>> gedacht, die Levelshifter im Programmer zu versorgen, damit die genau>> die passenden Spannungspegel liefern.>> Aha. Ist das der Grund warum das PICKit einen sogar einstellbaren> Spannungsregler an Bord hat, mit dem es die Zielschaltung versorgen> kann? Und das PICKit erwähne ich durchaus absichtlich, weil du es so> gern und oft als das Maß aller Dinge darstellst.
Da ist das aber wenigstens abschaltbar und standardmäßig aus.
Und was heißt "Maß aller Dinge"? Ich habe ein ICD3, sozusagen die
leistungsfähigere Profiversion davon.
fchk
Axel S. schrieb:> OK. Man kann alternativ auch einfach mal das Hirn einschalten, bevor man> den Programmer an die Zielschaltung ansteckt. Wenn man die selber gebaut> hat, weiß man ja mit welcher Spannung die versorgt wird und ob das zum> Programmer paßt.
Man hätte dem Selbstbauprogrammer auch einen Pegelwandler spendieren
können …hätte, hätte, Fahrradkette…
michael schrieb:> Kann ich beispielsweise am Programmierkabel die> Vcc-Leitung kappen und dann bei laufender externer Spannung (5V)> programmieren?
Und warum schaltest Du nicht einfach die 5V im mySmart ab ?
Zitat aus der liesmich des "mySmart...":
1
2. Kommandos
2
============
3
4
Dieses zusätzliche Protokoll wird über eine Kennung aktiviert,
5
die den eigentlichen Kommandos als Präfix vorangestellt werden muss.
6
7
myAVR-Kommandos, beginnend mit 0xE6='æ'=Alt+0230, 0xBA=0186
michael schrieb:> So langsam wird mir das gefummel allerdings zu nervig. Kann ich den uC> nicht irgendwie bei eingeschalteter externer Betriebsspannung> programmieren?
ich trenne die beiden Spannungen immer mit Schottkydioden, externe
Spannung zugeführt durch Schottky und Programmierspannung am ISP auch,
die beiden Dioden treffen sich mit der Kathode an VCC, so ist Rückfluss
vom Programmieradapter zum dicken Verbraucher 300 WS 2812 LEDs
ausgeschlossen und programmieren kann ich immer, ob externe VCC anliegt
oder nicht, auch gibt es keinen Rückfluß vom externen Netzteil zum USB
wenn der PC aus ist.