Kabellänge AVR Programmierung

#3319141
Lesenswert?

Sätze verständlich ganz lesbar geschreibt?

Falls du die maximale Kabellänge wissen willst: 10, 20 oder 50 m wird 
sicher zuviel sein.

Wenn die Treiber mitspielen, ist 0.5...1 m realistisch, alles darüber 
wird schon nur noch bei Vollmond gehen.

Mit einem bootloader und RS232 geht natürlich deutlich mehr, hängt aber 
schwer von den Treibern und vor allem von der Baudrate ab.
Gast #3319159
Lesenswert?

Ich hab mir auch ein Programmierkabel mit 3 Metern gemacht aus 
Flachbandleitung. Keine Probleme. Aber gefühlsmäßig würde ich auch nicht 
mehr als 5 Meter sagen. Hab aber die Grenze, wo es nicht mehr geht, noch 
nicht selbst ermittelt. Ich kann also nur für meine 3 Meter die Hand ins 
Feuer legen.
#3319175
Lesenswert?

Klaus Wachtler schrieb:
> Sätze verständlich ganz lesbar geschreibt?

Soll ja auch keine Schönschreibübung sein.

>
> Falls du die maximale Kabellänge wissen willst: 10, 20 oder 50 m wird
> sicher zuviel sein.
>

OK damit ists erledigt.

>
> Mit einem Bootloader und RS232 geht natürlich deutlich mehr, hängt aber
> schwer von den Treibern und vor allem von der Baudrate ab.

Die Baudrate kann ich auf 2400 setzen, auch runter bis 300.
RS232 ist nicht, muss mit "TTL" 3V gehen.

Ich weiss aber nicht ob da der 4313 unter BASCOM mitmacht.



Kurt
#3319195
Lesenswert?

Klaus Wachtler schrieb:
> Kurt Bindl schrieb:
>> RS232 ist nicht, muss mit "TTL" 3V gehen.
>
> Dann kannst du deine 50m auch knicken.
> RS232 und RS485 gibt es nicht aus Versehen.

Naja gut, es sind in dieser Anwendung max 20 m.

Ich -fürchte- mich aber auch nicht davor auch 100 m bei 3 V zu machen, 
müssen nur entsprechende Stromtreiber und Abschlusswiderstände hin und 
halt langsam genug gehen.
Es muss ja dann nur in eine Richtung gehen und da spielen dann 
Laufzeiten auch keine Rolle mehr.

Die eigentliche Entscheidung, ob mit MISO MOSI.. ist aber gefallen.



Kurt
Gast #3319206
Lesenswert?

Kurt Bindl schrieb:
> Ich -fürchte- mich aber auch nicht davor auch 100 m bei 3 V zu machen,
> müssen nur entsprechende Stromtreiber und Abschlusswiderstände hin und
> halt langsam genug gehen.
> Es muss ja dann nur in eine Richtung gehen und da spielen dann
> Laufzeiten auch keine Rolle mehr.
>
> Die eigentliche Entscheidung, ob mit MISO MOSI.. ist aber gefallen.
>
> Kurt

Ich denke, beim Programmieren muß es in beide Richtungen gehen, nicht 
nur in eine.
Und was für eine Entscheidung ist jetzt gefallen?
Gast #3319455
Lesenswert?

Sowas wie bootloader habt ihr schonmal gehört?

Was ist das für ein absolut hirnrissiger Blödsinn was ihr da von euch 
gebt? ISP über 1m ich wünsche euch viel Spaß. Habt ihr das je irgendwo 
bei einem prof. Produkt gesehen? Seid ihr schlauer als jahrelang 
erfahrene Ingenieure? Die Frage ist natürlich rhetorisch gemeint.
#3319527
Lesenswert?

Ich habe ab und zu mal ein 0,5m ISP-Kabel in Verwendung, hatte aber 
einmal große Probleme damit, als ich es an einer Schaltung mit Funkmodul 
hängen lies um ständig neue Firmware einspielen zu können während dem 
Entwickeln:

Das 0,5m Flachbandkabel ist eine hervorragende Antenne und schleuste mir 
grobe Störungen von 0,5V Amplitude in die Schaltung ein.
Kostete mich ein paar Stunden rätseln, warum das Funkmodul plötzlich 
nicht mehr will bis ich die Ursache gefunden hatte...
Das Programmieren funktionierte weiterhin, aber die Schaltung wollte 
nicht mehr richtig.

Mit einem geschirmten Kabel (Cat 5) könnte das besser gehen.
#3319548
Lesenswert?

ich schrieb:
> Kurt Bindl schrieb:
>> Ich -fürchte- mich aber auch nicht davor auch 100 m bei 3 V zu machen,
>> müssen nur entsprechende Stromtreiber und Abschlusswiderstände hin und
>> halt langsam genug gehen.
>> Es muss ja dann nur in eine Richtung gehen und da spielen dann
>> Laufzeiten auch keine Rolle mehr.
>>
>> Die eigentliche Entscheidung, ob mit MISO MOSI.. ist aber gefallen.
>>
>> Kurt
>
> Ich denke, beim Programmieren muß es in beide Richtungen gehen, nicht
> nur in eine.
> Und was für eine Entscheidung ist jetzt gefallen?


Die Entscheidung dass ich nicht übers lange Kabel versuchen werde da den 
AVR zu progen.

Der AVR ist, versehen mit einer Progschnittstelle, in einem IP68 Gehäuse 
verbaut.
Das was er da drin anstellt wird über das Kabel zu einer Auswerteeinheit 
übertagen.

Da ich mich ja kenne, weiss dass "immer noch etwas besser sein könnte" 
will ich natürlich Zugriff auf den AVR haben.

Um an die Schnittstelle auf der Platine zu kommen muss allerdings die 
Box geöffnet werden.
Diese ist aber aus gutem Grunde am Kabel dran und IP68, denn sie ist 
unter Wasser.

Also bleibt entweder es sein zu lassen, oder die Möglichkeit über 
Bootloader übrig.

Und bei dem weiss ich noch nicht ob er bei diesem AVR (4313) und unter 
BASCOM realisierbar ist.

Natürlich könnte ich eine Rutine in Assembler einfügen, aber da müsste 
ich mich erst wieder reinfinden.

Kurt
#3319584
Lesenswert?

@Kurt Bindl (kurt-b)

>Der AVR ist, versehen mit einer Progschnittstelle, in einem IP68 Gehäuse
>verbaut.
>Das was er da drin anstellt wird über das Kabel zu einer Auswerteeinheit
>übertagen.

Die Übertragung läuft sinnvollerweise NICHT mit TTL Pegeln sondern 
RS232, RS485 oder was auch immer.
Und damit ist das Problem rein logischer Natur. Bootloader mit BASCOM.
Gast #3319753
Lesenswert?

Oder ein ISP Programmer mit UART "Eingang", daran eine RS485 oder 
Ethernet Adapter.
1
PC o---RS232/RS485----------RS485/UART----AVR(mit Bootloader)---o
2

3
PC o---RS232/RS485----------RS485/RS232----ISP-Programmer--AVR(ohne Bootloader)---o
4

5
PC o---RS232/Ethernet----------Ethernet/UART----AVR(mit Bootloader)---o
6

7
PC o---RS232/Ethernet----------Ethernet/RS232----ISP-Programmer--AVR(ohne Bootloader)---o
#3320147
Lesenswert?

Stefan schrieb:
> Oder ein ISP Programmer mit UART "Eingang", daran eine RS485 oder
> Ethernet Adapter.PC o---RS232/RS485----------RS485/UART----AVR(mit
> Bootloader)---o
>
> PC o---RS232/RS485----------RS485/RS232----ISP-Programmer--AVR(ohne
> Bootloader)---o
>
> PC o---RS232/Ethernet----------Ethernet/UART----AVR(mit Bootloader)---o
>
> PC
> o---RS232/Ethernet----------Ethernet/RS232----ISP-Programmer--AVR(ohne
> Bootloader)---o



Laptop o---USB/TTL----------TTL--AVR (mit Bootloader)

Das Zielsystem wird mit Batterien versorgt, der Lapy steht im Freiem 
unterm Regenschirm.

Wies ausschaut habe ich für den Bootlader nur einen Draht (natürlich 
auch Masse) zur Verfügung, ausserdem muss ich mit "TTL", also kleiner 
Spannung (2,2V am AVR) noch zurechtkommen.


Eine andere Frage:

Gibt es einen FED der bei -2V Gate  30 mA sauber durchschaltet oder soll 
ich einen BC327 nehmen (will den hohen Basisstrom und die 0.2V CE 
vermeiden).



Kurt
Gast #3320465
Lesenswert?

Kurt Bindl schrieb:
> Wie weit (geschirmtes Kabel 0.25 nicht verdrillt) kann man den
> Prog-Adapter (DAMES-AVR) absetzen?

Ohne einen Link zu einer aussagekräftigen Beschreibung deines 
Prog-Adapters ist das schwierig. Zum programmieren über ein langes und 
dann noch geschirmtes Kabel mit möglicherweise vergleichsweise hoher 
Kapazität muss man sich die Signale ansehen und ggf. mit der 
Programmiergeschwindigkeit runter gehen. Besser wäre ein Bootloader, bei 
dem du zusätzlich selbst für eine robustere Datenübertragung sorgen 
kannst.
#3320822
Lesenswert?

Klaus Wachtler schrieb:
> Sehe schon, daß du bei deinen großen Entfernungen und kleinen
> Spannungen
> armdicke Kabel zum Flashen brauchst, sonst geht zuviel im Kabel
> verloren.
>

Hallo Klaus, in der Kabelstärke sehe ich kein Problem, je dünner desto 
besser, desto geringer die Kapazität zum Schirm.

Das -Problem- ist nicht der Spannungsabfall wegen der Länge, sondern das 
Verhalten des Pulses.


> Irgendwie zweifle ich an deinem Realitätssinn.
> Aber zumindest kann man dir nicht Wankelmut vorwerfen :-)

Zumindest etwas das du mir nicht absprichst.
Mein R-Sinn sagt mir dass es mehrere Gründe gibt warum die ISP nicht 
anwendbar ist.

- es müssten die drei Signale an beiden Leitungsenden Z-mäßig 
abgeschlossen werden, das heisst das sowohl auf der Progerseite als auch 
auf der Zielsystemseite entsprechende Widerstände und 
Signalaufpoppelschaltungen vorhanden sein müssten.

- es sind weitere Leitungen notwendig die im Kabel nicht drin sind.


Dieser Aufwand ist mir zu hoch, noch dazu ich nicht weis ob nicht doch 
Laufzeitprobleme auftreten könnten, sowie die Platine auch nicht mehr 
passen würde.


Es bleibt nur der Bootloader übrig denn auf der Zielseite ist der RxD 
unbenutzt.


Die V24 ist auch nicht brauchbar denn sie beschert mir die gleichen 
Probleme.

Die Überlegung geht in diese Richtung:

Serielles Signal verwenden, nicht V24 sondern ein Stromsignal.
Am Ziel_AVR wird ein "Z-Widerstand" gesetzt der die Leitung abschliesst.
Ein Reihenwiderstand zum RxD stellt sicher dass der AVR nicht 
geschrottet wird weil seine Schutzdioden den Strom übernehmen der ev. zu 
viel angeliefert wird, denn es müssen ja mindestens die Spannungen über 
dem Abschlusswiderstand erreicht werden damit der AVR auch 1sen sicher 
erkennt.

Beim Proger ist dann nur eine Umsetzung von V24 auf ein passendes 
Stromsignal notwendig.

Ich denke da an ca 20 mA, das lässt an einem Abschlusswiderstand von 
z.B. 200 Ohm eine Spannung von 4 V abfallen.
Das müsste für den UART reichen.

Ich muss mich allerdings erst mal mit dem Bootloader anfreunden (oder er 
mit mir).


Hallo Gerhard, dank für den Tip, schaut gut aus!



Kurt
#3320847
Lesenswert?

Nächst kompliziertere Variante könnte sein:

über Deine beschriebene Übertragung das .hex auf einen Flash-Chip oder 
eine SD-Karte laden und dann den AVR neu booten, der kuckt beim Boot 
nach neuer Firmware auf der SD-Karte und lädt sie per Bootloader, dann 
nochmal Reboot fertig.

Der Vorteil wäre, dass Du das Programmiersignal nicht Realtime übers 
Kabel bringen musst, sondern Du kannst die Signalgeschwindigkeit so 
fahren, dass Du beliebige Distanzen überbrücken kannst. Könntest dann 
sogar mit 9.600 Baud die Firmware übermitteln.
Das Protokoll evtl. noch blockweise mit Prüfsummen, dann geht 100%ig 
nichts schief.

Sowas in der Richtung überlege ich gerade mit meinen Funkschaltungen zu 
machen: über die langsame und eher unzuverlässige Funkverbindung nach 
und nach die neue Firmware rübernudeln mit Prüfsumme und ggf. 
Wiederholung des Pakets.
Dann ist die auf SD... und so weiter, wie oben.

Bootloader FAQ:
http://blog.schicks.net/wp-content/uploads/2009/09/bootloader_faq.pdf

Vg,
Conny
(Firma: fritzler-avr.de) #3320967
Lesenswert?

Naja nur 2 poliges Kabal is etwas doof, 3 polig sollts schon sein für 
RS485.
2V direkt asymetrisch durchjagen über ne lange Distanz, naja eher 
nicht...

Dann mach eben nen Bootloader über Funk, das RFM70 geht bis 1,9V runter.
Dann sollte anstatt dem Tiny2313 allerdings eher nen Mega88 rein.
#3320991
Lesenswert?

Martin Wende schrieb:
> Naja nur 2 poliges Kabal is etwas doof, 3 polig sollts schon sein
> für
> RS485.

Ich kann nicht RS485, geht nicht weil: Kein -Strom- beim Zielsystem, 
kein Platz auf der Platine (ist schon festgelegt), und soll bis 1.8 V 
gehen.


> 2V direkt asymetrisch durchjagen über ne lange Distanz, naja eher
> nicht...

Darum will ich ja "Strom" nehmen, da kann ich dann auch 20V draufgeben 
wenn der R_leitung zu gross sein sollte.


> Dann mach eben nen Bootloader über Funk, das RFM70 geht bis 1,9V runter.

Geht nicht weil der beim Zielsystem sein muss (Blechdose und unter 
Wasser).


> Dann sollte anstatt dem Tiny2313 allerdings eher nen Mega88 rein.

Heisst das  das das mit dem Bootloader sonst nicht hinhaut?

Jetzt lass ich erst mal das alles ein wenig sinken, wie heissts so 
schön:
Kommt Zeit kommt Rat, Zeit ist gekommen, das Rad aber nicht mehr.



Kurt
(Firma: fritzler-avr.de) #3320996
Lesenswert?

Na der tiny4313 hat keine Bootloadersektion.
Mit ein paar Klimmzügen kann der schon Bootloaden, aber eben Aufwand.
Der Mega88 hat wiederrum eine.

Also ne Stromschleife legen und im Zielgerät is nurnochn Optokoppler?
Könnte klappen.
Da kannste dann direkt UART drüberjagen für einen UART Bootloader.
Hast dann eben nur keinen Rückkanal.
#3321307
Lesenswert?

Martin Wende schrieb:
> Na der tiny4313 hat keine Bootloadersektion.
> Mit ein paar Klimmzügen kann der schon Bootloaden, aber eben Aufwand.
> Der Mega88 hat wiederrum eine.

Leider passt der nicht auf die Platine, und extra komplett umschmeissen 
will ich auch nicht.

>
> Also ne Stromschleife legen und im Zielgerät is nurnochn Optokoppler?
> Könnte klappen.

Ja das würde gehen, ich hab nun zwei Widerstände auf meiner Platine 
reingesetzt, schauma was draus wird.


> Da kannste dann direkt UART drüberjagen für einen UART Bootloader.
> Hast dann eben nur keinen Rückkanal.

Es wird ja eh nur der TxD benutzt, das wäre dann egal.


Kurt

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