Hallo, AT-Tiny 4313, abgesetzte MOSI MISO Reset Takt. Wie weit (geschirmtes Kabel 0.25 nicht verdrillt) kann man den Prog-Adapter (DAMES-AVR) absetzen? 10, 20 50 m. Oder geht beim 4313 auch ein Bootloader? (über BASCOM) Kurt
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.
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.
Hängt bestimmt auch vom Programmiergerät ab, denke ich. Ich habe hier das AVRISP-mkII.
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
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.
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
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?
Kurt Bindl schrieb: > Ich -fürchte- mich aber auch nicht davor auch 100 m bei 3 V zu machen, Rein aus Interesse: Bei welcher Anwendung muss man einen Controller 100m entfernt flashen?
Hi Nun, wenn du einen Controller flasht, der eine Tanksäule oder einen Gasbehälter steuert...., das Wort für die eNeSAi hab ich mal vermieden. Gruß oldmax
Hi Ja, geht vielleicht auch, aber wenn einer tanken will, möchte er es ja nicht erst später... und so ist der Entwickler schon gefragt, das die Software auch sofort den Kunden bedient. Aber beim Flashen tankt ja keiner... hoffentlich..... Gruß oldmax
ISP ist ja auch nix anderes wie SPI... Wenn ich damit über so eine Strecke gehen müsste, würde ich entweder was optisches (SFHxxx) oder LVDS probieren.
Nachdem das, was er vorhat, eh nicht geht, schon mal eine Anregung zur Lösung: http://www.idealo.de/preisvergleich/OffersOfProduct/1890442_-rs232-extender-ueber-cat-5-1000m-dc-52101-digitus.html
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.
Bootloader, RS485, gut is... http://www.mikrocontroller.net/articles/Konzept_f%C3%BCr_einen_ATtiny-Bootloader_in_C
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.
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
Okay, die Erläuterung ist nachvollziehbar. Aber betreffs Bascom und Bootlader kann ich dir leider nicht weiterhelfen. Vielleicht liest noch jemand mit hier, der sich besser auskennt...
@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.
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 |
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
Sehe schon, daß du bei deinen großen Entfernungen und kleinen Spannungen armdicke Kabel zum Flashen brauchst, sonst geht zuviel im Kabel verloren. Irgendwie zweifle ich an deinem Realitätssinn. Aber zumindest kann man dir nicht Wankelmut vorwerfen :-)
Kurt Bindl schrieb: > Gibt es einen FET der bei -2V Gate 30 mA sauber durchschaltet oder soll > ich einen BC327 nehmen (will den hohen Basisstrom und die 0.2V CE > vermeiden). Parametrische Suche der Hersteller oder zB von Farnell benutzen, aber auf Anhieb würde mir der PMV65XP einfallen....
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.
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
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
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.
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.