PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR-Butterfly-RS232



AlligatorJac
01.08.2007, 16:10
Hi! Ich habe vor ner Woche einen AVR Butterfly gekriegt, hab ihn nach Anleitung an mein serielles Kabel connected, das einzige was in Brays terminal passiert ist wenn ich versucht habe zu connecten war die Nachricht <00> vom Butterfly. Ich machte mich auf die Suche und hatte die Vermutung dass ich ein gekreuztes serielles kabel hab, also hab ich die Anschlüsse umgedreht, worauf sobald ich was an den Butterfly gesendet hab, sofort die Nachricht zurückgeschickt wurde, dann bin ich auf DTR-SET gekommen und das ganze display bzw. alle segmente wurden schwarz, also dachte ich mir das könnt hinhaun nun. Und jez? der AVR butterfly will nicht mehr starten, es kam kurz noch ne eins rechts aber das wars auch schon, jez kommt garnix mehr................
Toll dass man so tutorials immer so super vertrauen kann...
Von gekreuzten RS232 varianten, geschweige denn von Varianten mit handshaking ist dort nichtmal die Rede, ich fürchte wohl mein AVR ist hin oder?

Hab ihn inzwischen aber wieder dazu gebracht "<00>" zu senden, also vllt. besteht noch hoffnung.

SIGINT
01.08.2007, 16:39
Hi AlligatorJac,
der UART vom Butterfly hat doch keine Handshake-Leitungen.... was machst du also mit DTR?!
Aber mit dem UART vom Butterfly habe ich auch so meine Probleme, der Pegelwandler ist bei mir wahrscheinlich auch platt. Vielleicht haben wir das selbe Tutorial gelesen ;-)
Die Tatsache, daß dein Butterfly aber nichts mehr macht ist schon relativ schlecht... vermutlich ist der komplett hinüber. Ein flashen "aus versehen" ist bei dem Bootloader sehr unwahrscheinlich.

Gruß,
SIGINT

AlligatorJac
01.08.2007, 16:43
im grunde gibt er aber noch dasselbe zurück wie sonst: "<00>" also denke ich dass wenn die connection mal funzt dass ich sehrwohl noch programme erfolgreich übertragen lassen kann. Nur wie? warum funzt das nicht? Müsste eigentlich über UART klappen :(



mein serielles kabel ist so eins:
http://ec1.images-amazon.com/images/I/21UzLr2rqiL._AA160_.jpg

izaseba
01.08.2007, 17:28
Hallo,
Mal ein dumme Frage,
hast Du schon mit AVRStudio versucht ?
Ich hab leider gerade kein AVRStudio zur Hand um genau nachzuschauen, ich mach es aber so:
1. Reset am Butterfly, damit er in den Bootloader springt(beim ISP Anschluss die Pins ganz rechts eben kurzschließen)
2. AVRstudio öffnen und unter tools meine ich AVRprog suchen, aber noch nicht öffnen!
3. Joystick am BF drücken und gedrückt halten !
4 AVRprog anklicken, Joystick immer noch gedrückt halten
Wenn jetzt ein Fenster öffnet, wo man Flashen kann funktioniert die Schnittstelle, wenn nicht, hast Du was am Kabel falsch.
Jetzt kannst Du ganz normal Flashen.

Ich hoffe, daß es so hilft...

Gruß Sebastian

AlligatorJac
01.08.2007, 17:42
Ich versuch mal mit reset, ich hab nie einen reset durchgeführt vllt. war das das Problem.


EDIT: half nix verhält sich wie vorher, sendet <00> zurück, da bei meinem anderen seriellen kabel aber die pinnummerierung genau endgegengesetzt ist und ichs dementsprechend gesetzt hab, tut sich nix, aber sobald ich das GND kabel entferne, die anderen beiden drinlasse dann scheint er mir alles zurückzusenden was ich ihm sende, wer ne idee?
Aja avr studio hat den butterfly schon anfangs nicht erkannt,
kommt/kam immer "No supported board found".
Die com ist die richtige, warums nicht geht KA.

izaseba
01.08.2007, 19:13
Da ist irgendwas faul, ohne gnd dürfte das garnicht funktionieren...
Wie hast Du das ganze denn angeschlossen ?
Schneid doch einen Stecker an Deinem Kabel ab.
Jetzt dürfte das nicht so schwer sein die 3 Leitungen rauszuklingeln,
Die lötest Du an eine 3 Lochbuchse an(ich hoffe, Du hast sowas) , fertig

Ich hab mir z.B. so eine Konstruktion gebaut 8-[ klappt wunderbar

AlligatorJac
01.08.2007, 19:44
http://www.srt-versand.de/shopdh/catalog/images/subd-9bu-9bu.jpg

Genau so eins hab ich, wo die pins genau umgekehrt numeriert sind als bei der abbildung: http://www.mikrocontroller.net/wikifiles/b/ba/BF_ser_connect.jpg

Hab sie auch dementsprechend angeschlossen, warum will das nicht funktionieren? :(
N anständiges Lötgerät hab ich leider nicht.

izaseba
01.08.2007, 19:57
Hmm, das ist echt komisch
ich hab mir hier (http://www.sprut.de/electronic/interfaces/rs232/rs232.htm) nochmal die Belegung von Nullmodemkabel angeschaut....

Naja 5 bleibt ja GND, was nur vertauscht ist ist 2 und 3 echt komisch, wie sendet er dieses <00> ? das teste ich eben an meinem Butterfly ob das normal ist.

Gruß Sebastian

AlligatorJac
01.08.2007, 20:02
thx, find ich echt super hier in diesem forum.
werd versuchen auch so hilfsbereit zu sein sobald die Sache läuft und ich mir auch bissle wissen angeeignet hab :)

izaseba
01.08.2007, 20:44
Ich habe eben die originale Atmel Software draufgespielt und nichts, der sendet nichts, ich kann auch senden was ich will es kommt nichts zurück :-k
Muß er denn was senden ?
Funktionieren tut die Schnittstelle aber, ich kann meinen Namen per Terminal übergeben, das klappt, der Sendet aber auch nichts zurück, kein Echo der Tasten oder sowas.

Teste nochmal Die Verbindungen, schau Dir den Stecker an, da stehen die Zahlen drauf, 5 muß auf jedem Fall auf GND (der unterste Stift bei Butterfly)
und dann 2 und 3 auf die oberen versuch dann mit AVRStudio Verbindung zu bekommen, genauso wie ich es oben geschrieben habe, vielleicht hast Du keinen Kontakt am Stecker ?
Ich weiß ja nicht wie Du die Verbindung gemacht hast.
Ich glaube nicht, daß die Schnittstelle kaputt ist, die hält einiges aus.
Sonst hab ich keine Ideen :-(
Wenn alles nicht mehr hilft, bleibt nur noch ISP...

Gruß Sebastian

AlligatorJac
02.08.2007, 02:16
hmm funzt nicht. Jep habs nach den Zahlen nach angeschlossen, so hatt ichs heute schonmal bevor ichs irgendwie geschafft hab nach weiterem rumstecken zum testen irgendwie das hauptprogramm zu löschen, dh. zum namen downloaden komm ich nicht mehr hin, und AVR studio sagt wie schon immer: "No supported board found". hmmm, glaube nicht so recht dass ich das noch hinbekomm.

Wie meinen dann bleibt nur mehr ISP?
Was kann ISP? Ist das auch wie UART ne möglichkeit den butterfly zu programmieren? Werd ich mich mal morgen drüber informieren vllt.
is das in diesem Fall ja die Rettung :D


EDIT:
Die umgedrehte Eins am Display kam damals auch schon wenn ich im bootloader war, im terminal DTR eingeschaltet habe, wieder disconnected hab und den Joystick nach oben gedrückt hab.
Nun kommt sie genau an selber stelle, nur hald immer nach nem reset mithilfe der 2 ISP-pins anstatt reingehn in den bootloader.

SIGINT
02.08.2007, 09:39
So,
da bin ich wieder. Ich hab jetzt mal mit meinem Butterfly rumgespielt und plötzlich funktioniert die serielle Schnittstelle doch. Anscheinend hatte ich beim letzten mal ein Softwareproblem. :-)

@AlligatorJac:
Die ISP-Schnittstelle ist bei Hobbybastlern eigentlich die Standardschnittstelle zum programmieren von AVRs. Wohl jeder AVR bestizt diese Schnittstelle, mit der man den AVR in der Schaltung programmieren kann. Einen Bootloader, der per USART funktioniert, kann man mit der ISP in den AVR laden... einige AVRs unterstüzen aber direkt keinen Bootloader sondern können nur per ISP (und z.B. JTAG) programmiert werden.
Meiner Meinung nach ist avreal32 für Anfänger am besten:
http://www.ln.com.ua/~real/avreal/index_e.html
Schau dir den FBPRG-Adapter an. Aber Vorsicht!!!: Damit kannst du dir den Butterfly und den Parallelport des PC zerstören, wenn du nicht aufpasst.

Kannst du mir mal einen kleinen Gefallen tun: Lad dir mal HTerm runter und schau dir da mal an, was der Butterfly sendet. Ich habe die befürchtung, daß die <00> fehlerhaft sind, also nur durch Zufall von Brays-Term empfangen werden. Bei HTerm gibt es eine Option "Show Errors". Wenn die aktiviert ist werden Framing Fehler angezeigt... damit kannst du erkennen, ob eine gültige <00> gesendet wurde oder nur Schrott angekommen ist.

Ich glaube, daß du irgendwie den AVR geschädigt hast. Es ist meiner Meinung nach sehr unwahrscheinlich, daß du den AVR durch deine Experimente in den Programmiermodus gebaracht, irgendwelche Daten übertragen und dann einen Brennvorgang ausgelöst hast.
Aber selbst wenn das der Fall war, dann sollte der Bootloader noch funktionieren... den kann man nämlich nur per ISP überschreiben.

Also versuch nochmal den Bootloader zu starten... wenn das nicht funktioniert, dann ist meiner Meinung nach irgendwas defekt.

Gruß,
SIGINT

P.S.:

http://www.atmel.com/dyn/resources/prod_documents/doc4271.pdf <<<--- kann nützlich sein
Noch ein Tipp: Versuch nicht den Butterfly per ISP-Pins zu resetten, sondern nehm kurz die Batterie raus. Das ist sicherer als mit nem Draht an irgendwelchen Lötpunkten rumzufrimeln.

AlligatorJac
02.08.2007, 11:20
In den Bootloader scheint er mir brav zu springen sobald ich die 2 ISP-pins kurzschließe, nur die Programmierung über UART funzt nach wie vor nicht,
AVR studio hat den butterfly auch nicht erkannt als er noch einwandfrei funktionierte.

Aber eins könnt noch sein:
Könnts sein dass die Belegung auf diesem Bild:
http://www.mikrocontroller.net/wikifiles/b/ba/BF_ser_connect.jpg
die UART schnittstelle vom butty zerstört hat weil bei meinem Kabel ja die Pins genau in umgekehrter reihenfolge numeriert sind ich es also zuerst falsch angeschlossen hatte?

SIGINT
02.08.2007, 11:53
Hmmm,
wenn ich mir den Schaltplan anschaue, dann bin ich mir nicht 100% sicher... aber ich glaube, daß ein Verpolen nicht viel bewirkt. Muss also doch ein anderes Problem sein.

AlligatorJac
02.08.2007, 12:07
k, thx, ich hab noch einen AVR hier daheim den ich aber an nen freund weiterverkaufen wollte weil er auch einen haben wollte, ist es empfehlenswert für mich mal mit diesem zu probieren? Die pinbelegungen müssten jez eigentlich 100%ig stimmen, GND an 5, RXD an 3, TXD an 2. (genau wies am seriellem Kabel numeriert ist). Nur ich will nicht noch einen schrotten :)

AlligatorJac
03.08.2007, 02:33
so bin zurück, hab alles korrekt angeschlossen, "waiting for input on RS23"
Brays terminalscreeni: http://img216.imageshack.us/img216/1835/terminalmp9.jpg
Eigentlich müsste er den Namen jetzt nehmen oder? tut er aber nicht,
soll ich mir ein ungekreuztes RS232 Kabel kaufen?

SIGINT
03.08.2007, 14:13
Hi AlligatorJac,
ob gekreuzt oder ungekreuzt ist erstmal egal. Du musst nur die RX Leitung vom PC mit dem TX vom AVR und umgekehrt verbinden. Wenn du den Butterfly normal vor dir liegen hast, dann ist der oberste Pin (1) des UART der RX des AVR, dann kommt TX (2) und der letzte Pin (3) ist GND. Pin 1 erkennst du am rechteckigen Aussehen des Lötpunktes. Der TX Pin vom PC hat im Normalfall einen Pegel von -12V gegenüber Masse... der muss an Pin 1 vom AVR. Der RX Pin vom PC muss an Pin2 des AVR und GND an GND.

Noch was zur Firmware: Du musst die Namenseingabe mit Enter gestätigen... erst dann wird der Name übernommen. Und beim Bootloader musst du den Joystick gedrückt halten, bis der Bootloader vom PC Programm erkannt wird. Ich hoffe du bekommst das Teil auch ans laufen.

Gruß,
SIGINT