Hallo, ich habe mir bei Embedit das Atmega32 Prototype Board gekauft. Ich habe es ganz normal aufgebaut und über ISP den Bootloader aufgespielt! Danach wurde über RS232 ein einfaches LED Blinkprogramm aufgespielt! Danach habe ich einen DS1307 aufgelötet, seitdem bekomme ich keine RS232-Verbindung zum AVR Studio, obwohl ich das selbe Kabel mit den selben Einstellungen verwende! Gleichzeitig verwende ich ein komplett selbst gebautes Atmega32 Board, dass ebenfalls keine Verbindung über RS232 zum PC bekommt, diese Verbindung hat aber noch nie funktioniert!Dieses ist nach dem selben Schaltplan aufgebaut! Bei beiden Platinen, läuft das Programm einwandfrei ab, Reset etc. funktioniert alles! Ich habe schon viel probiert, RX/TX tauschen, Nullmodemadapter, irgendwie will nichts funktionieren! Kann mir jmd sagen, wo das Problem liegen könnte, bin fast am Verzweifeln!!!! Kann man irgendwie sagen, welches Kabel ich jetzt für die Verbindung PC>µC brauch? Nullmodem oder Normales Rs232? Danke schonmal im Voraus!
Michael Hoffmann wrote: > ich habe mir bei Embedit das Atmega32 Prototype Board gekauft. Ich habe > es ganz normal aufgebaut und über ISP den Bootloader aufgespielt! Danach > wurde über RS232 ein einfaches LED Blinkprogramm aufgespielt! > > Danach habe ich einen DS1307 aufgelötet, seitdem bekomme ich keine > RS232-Verbindung zum AVR Studio, obwohl ich das selbe Kabel mit den > selben Einstellungen verwende! Den DS1307 finde ich im Schaltplan nicht. Wo sitzt der und wie ist der angeschlossen? > Gleichzeitig verwende ich ein komplett selbst gebautes Atmega32 Board, > dass ebenfalls keine Verbindung über RS232 zum PC bekommt, diese > Verbindung hat aber noch nie funktioniert! Dieses ist nach dem selben > Schaltplan aufgebaut! Der Schaltplan ist seltsam. Die -----X sind normalerweise gedacht, um nicht verbundene Leitungen zu kennzeichnen. Ich hoffe das ist in der Realität nicht so. Apropos Realität: Wenn du eine Kamera oder einen Scanner hast, mach mal Bilder der Ober- und Unterseite der Platine(n). Informiere dich aber vor dem Einstellen in deinen nächsten Beitrag über Bildformate ;-) > Bei beiden Platinen, läuft das Programm einwandfrei ab, Reset etc. > funktioniert alles! > > Ich habe schon viel probiert, RX/TX tauschen, Nullmodemadapter, > irgendwie will nichts funktionieren! > > Kann mir jmd sagen, wo das Problem liegen könnte, bin fast am > Verzweifeln!!!! > > Kann man irgendwie sagen, welches Kabel ich jetzt für die Verbindung > PC>µC brauch? Nullmodem oder Normales Rs232? Nach dem Schaltplan ein Nullmodemkabel. TXD vom AVR geht zum Pin3 der DB9-Buchse. Beim PC ist auch TXD an Pin3 von dessen DB9-Buchse. D.h. im Kabel muss eine Kreuzung rein, also ein Nullmodemkabel. Hast du schon ein anderes Kabel probiert oder das Kabel mit dem Durchgangsprüfer durchgepiepst? Vielleicht ist es ein ganz trivialer Fehler am Kabel?
Hier der erweiterte Schaltplan : http://web.bs-cham.de/wiki/images/c/cd/Prozm32.pdf Die mit ----x gekennzeichneten Leitungen habe ich nicht verbunden!Sind doch normal nur Pins, wo ich was abgreifen könnte! Fotos folgen morgen! Ich habe zwei Kabel zuhause liegen, hab beide schon probiert, mit und ohne Nullmodemadapter! Werd morgen mal die Kabel durchpiepsen und Bescheid geben!
Michael Hoffmann wrote: > Die mit ----x gekennzeichneten Leitungen habe ich nicht verbunden! Sind > doch normal nur Pins, wo ich was abgreifen könnte! Ja, dann fehlt entweder die Verbindung vom Atmega32 zum MAX232. Das wäre dann eine sehr wahrscheinliche Ursache für das Problem. In dem erweiterten Schaltplan sind die Pins 14/15 am ATmega32 auch nicht verbunden. Oder der Schaltplan entspricht nicht dem aktuellen Aufbau, weil du Strippen gezogen hast, die im Schaltplan nicht eingezeichnet sind. Wenn das der Fall ist, hast du mich erfolgreich veräppelt.
Der ATmega 32 ist mit RXD/TXD mit dem MAX232 verbunden, nur T2IN und R2OUT habe ich nicht verbunden! Bei dem erweiterten Schaltplan, sieht man nur die erweiterte Schaltung ohne die Grundbeschaltung!
Hi Michael ich bin zwar auch noch nicht so sattelfest aber das mit dem Seriellenkabel kann ich die sagen - Es gibt welche z.B. von Hama für das flashen von SAT Recivern, Verstärkern und so - eine Seite mit Stecker eine Seite mit Buchse. Das Kabel funktioniert bei mir gut... zwar mit einem ATMega8 aber sonnst... Das Board was Du hast, ist nicht zufällig ein Olimex? Bei meinem war die UART nicht mit dem MAX verbunden und ich habe eine Weile gebraucht, um zu kapieren, wie TXD und RXD vom ATMega mit dem MAX verbunden werden müssen (RXDMega > TXDMax und TXDMega mit RXDMax)... Ausserdem hast Du ja noch die Freiheitgrade mit den Baud Einstellungen :-) Die hängen von der Quarzfrequenz ab - ich hatte vergessen, dass die auch im Makefile gesetzt werden - fieser Weise funktionierte das LED Blinkprogram trotzdem (interner Quarz)... Hilft ja vielleicht. Gruss, Axel
Also mein Board ist von Embedit, das Protoype Board! MAX232 ist mit µC wie am Schaltplan verbunden, tauschen von RX und TX bewirkt keine Besserung! Hab auch einen fertigen TTL-Wandler-Bausatz verbaut( siehe Bild) Baudeinstellung sind wie hier http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART eingestellt! Auf beiden Platinen ist ein 16Mhz Quarz verbaut!Bootloader wurde folgender verwendet http://web.bs-cham.de/wiki/index.php/MC-Bootloader Hab momentan ein normales RS232 Kabel in Verwendung, dass ich aber mit Nullmodemadapter ausstatten kann! Außerdem habe ich jetzt auch ein USB->Rs232 Kabel, nix bewirkt eine Lösung! Kann mir jmd sagen, welche Spg ich am MAX232 haben muss?Oder wie ich die Verbindung ansonsten testen könnte, ohne ein Programm aufzuspielen? Ich weiß wirklich nicht mehr weiter... Als Anhang die Bilder meiner Controller: http://img142.imageshack.us/my.php?image=imag0085ql8.jpg http://img230.imageshack.us/my.php?image=imag0086xm6.jpg http://img142.imageshack.us/my.php?image=imag0087ba6.jpg http://img156.imageshack.us/my.php?image=imag0088qj0.jpg
Michael Hoffmann wrote: > Kann mir jmd sagen, welche Spg ich am MAX232 haben muss?Oder wie ich die > Verbindung ansonsten testen könnte, ohne ein Programm aufzuspielen? Ich > weiß wirklich nicht mehr weiter... Nimm den µC aus seinem Sockel. Verbinde im Sockel den Tx-Pin mit dem Rx-Pin. Wenn deine Hardware korrekt ist, dann muss alles was du am PC in einem Terminalprogramm vor dich hintippst, am der Ausgabe im Terminal erscheinen. Die 'Brücke' im Prozessor-Sockel sorgt dafür, dass sich der PC seine Zeichen selbst sendet. Dazu muss aber am PC im Terminalprogramm lokales Echo abgeschaltet sein Kein Handshake eingestellt sein Klappt dieser Test, dann hast du ein Softwareproblem. Klappt er nicht, dann hast du ein Hardwareproblem. Leg einen Stein auf die Tastatur deines PC und lass den mal Dauersenden. Dann nimmst du eine LED samt Vorwiderstand und verfolgst mal die Signale auf deiner Platine: Sind sie am RS-232 Stecker noch vorhanden? Kommen sie bis zum MAX? An welchem Pin kommen sie dort an? Kommt auf der anderen Seite des MAX was raus? Kommt es beim Prozessor an? Und den ganzen Weg wieder zurück bis zum Kabel. Bei 300 Baud müsstest du die LED wunderbar flackern sehen.
Also erstmal die Messung auf beiden Paltinen ohne PC Verbindung: Pin2 = ca.8V, Pin 6= ca- -8V Den Test ohne µC drin, probier ich auch gleich mal!
Hi Michael mit was Compilierst Du den WinAVR und AVRStudio auf Windows? Wenn ja - wie sieht den im C-Code der Wert für die CPU Frequenz aus und wie steht der im Makefile? Ach ja - die Tests vom Moderator sind natürlich immer gut... Axel
>Also erstmal die Messung auf beiden Paltinen ohne PC Verbindung: Pin2 = >ca.8V, Pin 6= ca- -8V Das ist erstmal ok! Die Ladungspumpen arbeiten. Hast Du einen Oszi zu Hand?
ATH wrote: > Hi Michael > > mit was Compilierst Du den WinAVR und AVRStudio auf Windows? Wenn ja - > wie sieht den im C-Code der Wert für die CPU Frequenz aus und wie steht > der im Makefile? > > Ach ja - die Tests vom Moderator sind natürlich immer gut... > > Axel C-Compiler ist WinAVR, das Programm, das momentan drauf ist ist folgendes http://web.bs-cham.de/wiki/images/d/df/WvS-Sample.zip
Klaus wrote: >>Also erstmal die Messung auf beiden Paltinen ohne PC Verbindung: Pin2 = >>ca.8V, Pin 6= ca- -8V > > Das ist erstmal ok! Die Ladungspumpen arbeiten. > Hast Du einen Oszi zu Hand? leider nein!
Wie kann ich in HyperTerminal die Einstellungen für Echo und Handshake einstellen? Momentan steht zwar verbunden da, aber ich kann nix schreiben!
dann wirds schwierig! An den Pins 12 bzw 9 sollten in Ruhe ein H Pegel anliegen. Wenn das so ist, kannst Du nur nach der Methode von Karl heinz weitersuchen. mC raus Rx und Tx verbinden und mit einem Trminal Prog. testen.
Also bei der selber gebauten Platine, kann ich was schreiben und auch mein TX RX am RS232 Kabel leuchtet beim Tippen! Zusatz: Das gekaufte Board geht jetzt auch mit Nullmodem Adapter! Won finde ich nun den Fehler?
Michael Hoffmann wrote: > Wie kann ich in HyperTerminal die Einstellungen für Echo und Handshake > einstellen? Momentan steht zwar verbunden da, aber ich kann nix > schreiben! Wenn ich mich recht erinnere, muss man die Einstellung vor dem Connecten vornehmen. Irgendwo gibt es einen Einstellungsdialog, dort wo du auch die Baudrate einstellst. Protokoll: keines. Wo sich dich Einstellung für lokales Echo befindet, weiss ich nicht mehr genau, ist aber nicht weit davon entfernt.
Michael Hoffmann wrote: > Also bei der selber gebauten Platine, kann ich was schreiben und auch > mein TX RX am RS232 Kabel leuchtet beim Tippen! leuchtet sie dauerhaft oder flackert sie, wenn du was tippst?
die LED´s im Stecker flackern, wenn ich dauernd was schreibe! Bei jedem Tastendruck keuchten sie einmal auf!
Michael Hoffmann wrote: > die LED´s im Stecker flackern, wenn ich dauernd was schreibe! Bei jedem > Tastendruck keuchten sie einmal auf! Das ist schon mal gut. (Mit Stecker meinst du den µC-Sockel?)
Karl heinz Buchegger wrote: > Michael Hoffmann wrote: >> die LED´s im Stecker flackern, wenn ich dauernd was schreibe! Bei jedem >> Tastendruck keuchten sie einmal auf! > > Das ist schon mal gut. > (Mit Stecker meinst du den µC-Sockel?) Nein, ich hab ein USB auf RS232 Kabel, da sind vorne am RS232 Stecker drei LED's innen verbaut eins für Link und jeweils einer für RX bzw TX
Michael Hoffmann wrote: > Karl heinz Buchegger wrote: >> Michael Hoffmann wrote: >>> die LED´s im Stecker flackern, wenn ich dauernd was schreibe! Bei jedem >>> Tastendruck keuchten sie einmal auf! >> >> Das ist schon mal gut. >> (Mit Stecker meinst du den µC-Sockel?) > > Nein, ich hab ein USB auf RS232 Kabel, da sind vorne am RS232 Stecker > drei LED's innen verbaut eins für Link und jeweils einer für RX bzw TX OK Heist das jetzt, der Quick&Dirty Schnelltest mit der Brücke im µC Sockel funktioniert? (Bitte: drück dich klar aus, welchen Stecker, welche Leitung du untersuchst. Was testest du? Wie ist der Test ausgefallen? Wir auf dieser Seite des Monitors haben nur dein geschriebenes Wort. Wir sehen nicht, wo du deine Test-LED ranhältst, bzw. welches Kabel wo eingesteckt ist)
ok sorry, also ich habe die Brücke von RX auf TX im Sockel des µC reingesteckt! Wenn ich im HyperTerminal etwas schreibe (Einstellungen wie oben beschrieben, ohne Echo etc.), leuchten die beiden RX/TX Led's im Stecker meines USB->RS232 Kabels bei jedem Tastendruck! Wenn ich eine Taste dauernd drücke, flackern die beiden LED's! Dies funktioniert bei beiden Platinen! Ob damit der Test erfolgreich ist, würd ich selber gern wissen und wie es weitergeht?;-)
Michael Hoffmann wrote: > ok sorry, > also ich habe die Brücke von RX auf TX im Sockel des µC reingesteckt! > Wenn ich im HyperTerminal etwas schreibe (Einstellungen wie oben > beschrieben, ohne Echo etc.), leuchten die beiden RX/TX Led's im Stecker > meines USB->RS232 Kabels bei jedem Tastendruck! Wenn ich eine Taste > dauernd drücke, flackern die beiden LED's! Dies funktioniert bei beiden > Platinen! > > Ob damit der Test erfolgreich ist, würd ich selber gern wissen und wie > es weitergeht?;-) Erfolgreich ist der Test erst, wenn Hyperterminal das Zeichen auch anzeigt. Tut es das? Aber ich denke mal, man könnte das Flackern beider Leds so interpretieren, dass der MAX auch funktioniert (sonst würde die Led an der Leitung zum PC nicht flackern) Wenn Hyperterminal das Zeichen nicht anzeigt (da gabs mal ein Problem) probier mal HTerm. Die Zeichen müssen kommen! Du kannst nicht weitertesten, wenn nicht sichergestellt ist, dass dein 'Messgerät' auch wirklich funktioniert.
Achja das habe ich (wieder mal) vergessen, alles was ich tippe erscheint auch im HyperTerminal!
Michael Hoffmann wrote: > Achja das habe ich (wieder mal) vergessen, alles was ich tippe erscheint > auch im HyperTerminal! Uff. Schwere Geburt Gut. Dann hast du ein Softwareproblem. Deine Hardware ist definitiv in Ordnung.
;-) Inwiefern Softwareproblem? problem mit Bootloader oder mit dem Programm selber?
>Inwiefern Softwareproblem?
Die Drahtbrücke im Sockel kann keine Befehle ausführen!
Klaus wrote: >>Inwiefern Softwareproblem? > > Die Drahtbrücke im Sockel kann keine Befehle ausführen! Okay, leider hilft mir das so nicht weiter ( ich bin halt ein armer Laie)! Wie sehen Lösungsvorschläge aus?
Hast Du den Quelltext der Software für den µC? Wenn ja dann her damit! Kann Dir aber nur in ASM helfen.
Klaus wrote: > Hast Du den Quelltext der Software für den µC? > Wenn ja dann her damit! Kann Dir aber nur in ASM helfen. Software ist folgende http://web.bs-cham.de/wiki/images/d/df/WvS-Sample.zip
Also wie soll ich weiter vorgehen? bin euch allen schonmal sehr dankbar!
Aufspielen eines anderen Programms hat auch nix gebracht... bitte um Lösungsvorschläge
Du um Dir jetzt nicht zu nahe zu treten. Das Programm muß auch zur Schaltung passen.
Klaus wrote: > Du um Dir jetzt nicht zu nahe zu treten. > > Das Programm muß auch zur Schaltung passen. die Programme sind extra für die Schaltung geschrieben, wie auf http://web.bs-cham.de/wiki beschrieben! Also dürfte es von dem her eigentlich keine Probleme geben, da wir die auch im Unterricht verwenden!
Mann Mann Mann, 35 Antworten und kein Ende des Dramas in Sicht. > C-Compiler ist WinAVR, das Programm, das momentan drauf ist ist > folgendes > http://web.bs-cham.de/wiki/images/d/df/WvS-Sample.zip > ... > Software ist folgende > http://web.bs-cham.de/wiki/images/d/df/WvS-Sample.zip In diesem Programm ist nullkommanix mit serieller Übertragung drin. > Auf beiden Platinen ist ein 16Mhz Quarz verbaut! In obigem Programm wird eine 14,756000 MHz Taktquelle verwendet. Das Blinken aus dem WvS-Sample Programm müsste +8,5% zu schnell sein! +8,5% Fehler reisst auch keine UART raus. Den Quarz sieht man hier > Hier der erweiterte Schaltplan : > http://web.bs-cham.de/wiki/images/c/cd/Prozm32.pdf garnicht. Hier > Dateianhang: Mega32Proto.sch.pdf (189,7 KB, 72 Downloads) sieht man Q1, aber es steht keine Taktrate dabei. > Bootloader wurde folgender verwendet > http://web.bs-cham.de/wiki/index.php/MC-Bootloader Der Bootloader liegt auf der Seite nur in Binärform vor. Er heisst BL32-14MHz.hex. Im Artikel steht drin: Anmerkung Der Bootloader setzt einen AVR Mega32 Controller mit 14,756000 MHz Taktfrequenz voraus.
Hallo, erstmal tut mir Leid, dass ich auf dem Gebiet nicht fit bin, irgendwann muss halt jeder mal klein anfangen! Es muss doch im Programm nichts mit serieller Übertragung drin sein, oder täusch ich mich? Ich bekomm im AVR Studio die Meldung "no supported board found", wenn ich ein programm aufspielen will. Habe auch schon den 16Mhz Quarz gegen einen 14,756000 MHz Quarz ausgetauscht, bringt leider auch nichts!
Michael Hoffmann wrote: > erstmal tut mir Leid, dass ich auf dem Gebiet nicht fit bin, irgendwann > muss halt jeder mal klein anfangen! Das braucht dir nicht leid zu tun. Fast alle haben klein angefangen. Es nervt aber, dass deine Infos so tröpfeln. Die Schaltpläne sind nicht koscher. Die Programme sind nicht koscher. Es wird nicht genau erklärt, was du machst. Du spielst mal das und dann mal das Programm ein... Sieh es mal so: Du sitzt vor dem Board und hast alle Tools und findest den Fehler nicht. Überleg mal wieviel schwieriger es ist, aus der Ferne den Fehler zu finden und wie man sich fühlt, wenn nach und nach Sachen rauskommen, die in die allererste Frage gehört hätten und wenn dann so "exakte" Beschreibungen kommen wie > Habe auch schon den 16Mhz Quarz gegen einen 14,756000 MHz Quarz > ausgetauscht, bringt leider auch nichts! Gerade weil du noch Anfänger bist, geben sich alle hier Mühe dir zu helfen. Trotz der schlechten Frage. > Es muss doch im Programm nichts mit serieller Übertragung drin sein, > oder täusch ich mich? Ich kann mich auch täuschen, aber der Betreff deiner Frage lautet: AVR-Atmega32 RS232 keine PC Verbindung?! Ich habe da erwartet, dass in den Atmega32 ein Programm eingespielt wurde, das eine serielle Übertragung vom/zum PC machen soll und dass es dabei Probleme gibt. Wenn nur ein Blinkprogramm drin ist, ist es klar, dass da keine RS232 PC Verbindung stattfindet. > Ich bekomm im AVR Studio die Meldung "no supported > board found", wenn ich ein programm aufspielen will. Was machst du exakt? Wie kommt jetzt das AVR Studio ins Spiel? Du hattest oben bereits beschrieben, dass du erfolgreich Programme aufgespielt hast. Geht das jetzt nicht mehr? Wie bist du vorgegangen und was hast du gegenüber dem ersten paar Malen, den erfolgreichen Malen, verändert? > Habe auch schon den 16Mhz Quarz gegen einen 14,756000 MHz Quarz > ausgetauscht, bringt leider auch nichts! Was hast du ausser dem Tauschen des Quarzes gemacht? Welche(s) Programm(e) hast du wie versucht aufzuspielen? Und was ist danach passiert? Also ENTWEDER 1/ Einspielen des Bootloaders BL32-14MHz.hex über ISP 2/ Laufenlassen des Bootloaders und Einspielen des WvS-Sample.hex Das geht nur, wenn die RS232 Übertragung zwischen µC und PC funktioniert. ODER 1/ Einspielen des WvS-Sample.hex über ISP Das sollte auch gehen, wenn die RS232 Übertragung zwischen µC und PC noch nicht funktioniert. Beide Male mit dem 14,756000 MHz Quarz. Beim Blinkprogramm darauf achten, ob die Blinkzeiten von ca. 1s hinkommen oder ob irgendwas in der Gegend von 15s zu sehen sind. Das Mega32 Prototype Board ist hier beschrieben: http://www.wiki.elektronik-projekt.de/embedit/avr/prototype_boards/mega32_prototype_board Welchen ISP-Adapter benutzt du?
Stefan B. wrote: > Michael Hoffmann wrote: > >> erstmal tut mir Leid, dass ich auf dem Gebiet nicht fit bin, irgendwann >> muss halt jeder mal klein anfangen! > > Das braucht dir nicht leid zu tun. Fast alle haben klein angefangen. > > Es nervt aber, dass deine Infos so tröpfeln. Die Schaltpläne sind nicht > koscher. Die Programme sind nicht koscher. Es wird nicht genau erklärt, > was du machst. Du spielst mal das und dann mal das Programm ein... > Für die Programme und Schaltpläne kann ich leider auch nix, die wurden uns im Unterricht näher gelegt! Ja leider denke ich da nicht an alles, bin halt ein verwirrter Mensch ;-) > > Was machst du exakt? Wie kommt jetzt das AVR Studio ins Spiel? Du > hattest oben bereits beschrieben, dass du erfolgreich Programme > aufgespielt hast. Geht das jetzt nicht mehr? Wie bist du vorgegangen und > was hast du gegenüber dem ersten paar Malen, den erfolgreichen Malen, > verändert? > Ich habe über den AVR ISP Programmer mit PonyProg den Bootloader aufgespielt. Danach habe ich noch über die serielle Schnittstelle (da funktionierte sie noch, siehe erster Post) auf dem Embedeit Board meine zwei Controller mit dem Blink LED Programm beschrieben! Ich habe dann auf dem fertigen Board die Erweiterungsschaltung verdrahtet ( DS1307), danach bekam ich in AVR keine Verbindung mehr "no supported board found"! Das selbstgebaute Board, bekam von Anfang an keine Verbindung im AVR Studio! >> Habe auch schon den 16Mhz Quarz gegen einen 14,756000 MHz Quarz >> ausgetauscht, bringt leider auch nichts! > > Was hast du ausser dem Tauschen des Quarzes gemacht? Welche(s) > Programm(e) hast du wie versucht aufzuspielen? Und was ist danach > passiert? Ich habe porbehalber probiert über ISP ein Programm zum Auslesen des DS1307 aufzuspielen, brachte aber auch keinen Unterschied! > > Also ENTWEDER > > 1/ Einspielen des Bootloaders BL32-14MHz.hex über ISP > 2/ Laufenlassen des Bootloaders und Einspielen des WvS-Sample.hex > Das geht nur, wenn die RS232 Übertragung zwischen µC und PC > funktioniert. > > ODER > > 1/ Einspielen des WvS-Sample.hex über ISP > Das sollte auch gehen, wenn die RS232 Übertragung zwischen µC und PC > noch nicht funktioniert. > > Beide Male mit dem 14,756000 MHz Quarz. Beim Blinkprogramm darauf > achten, ob die Blinkzeiten von ca. 1s hinkommen oder ob irgendwas in der > Gegend von 15s zu sehen sind. > Also momentan ist der 14MHZ Quarz drin, aber auch mit dem 16MHZ habe ich keine Blinkzeiten von 15s, sondern auch so ca.1s! > Welchen ISP-Adapter benutzt du? http://shop.embedit.de/product__120.php
Michael Hoffmann wrote: > Ich habe über den AVR ISP Programmer mit PonyProg den Bootloader > aufgespielt. Danach habe ich noch über die serielle Schnittstelle (da > funktionierte sie noch, siehe erster Post) auf dem Embedeit Board meine > zwei Controller mit dem Blink LED Programm beschrieben! Mit dem 16 MHz Quarz und dem Bootloader BL32-14MHz.hex? BL32-14MHz.hex basiert "auf einem Bootloader von Martin Thomas". Ich habe mir avrprog_boot_v0_85_20081203 bei Martin Thomas angesehen. Da ist keine automatische Baudratenanpassung drin, d.h. mit dem 16 MHz Quarz kann das nicht funktionieren. Wenn BL32-14MHz.hex verwendet wird, muss der 14,756 MHz Quarz aufs Board. Das Einspielen eines weiteren Programms mit Hilfe des Bootloaders über Rs232 ist dann leider nicht in dem Artikel http://web.bs-cham.de/wiki/index.php/MC-Bootloader beschrieben. Eine Idee wie das Einspielen mit dem Bootloader funktioniert, gibt die Seite von Martin Thomas http://www.siwawi.arubi.uni-kl.de/avr_projects/#avrprog_boot Soweit ich in der Source sehe und mir die Funktion von BL32-14MHz.hex zurechtreime, könnte es sein dass 1. das Terminalprogramm auf dem PC eingestellt werden muss auf #define BAUDRATE 115200 2. innerhalb einer Wartezeit von #define WAIT_VALUE 100 /* here: 100*10ms = 1000ms = 1sec */ muss dann 3. ein bestimmtes Zeichen kommen, um Programm vom PC zum µC zu übertragen /* character to start the bootloader in mode START_WAIT */ #define START_WAIT_UARTCHAR 'S' > Ich habe dann > auf dem fertigen Board die Erweiterungsschaltung verdrahtet (DS1307), > danach bekam ich in AVR keine Verbindung mehr "no supported board > found"! Das selbstgebaute Board, bekam von Anfang an keine Verbindung im > AVR Studio! "In AVR" kenne ich nicht. Um den Bootloader mit dem AVR ISP Programmieradapter von http://shop.embedit.de/product__120.php aufzuspielen, kannst du benutzen: * Pony-Prog Tutorial * AVRDUDE * AVR-Studio, nur wenn z.B. das Plugin AVRISP V5 von Kanda installiert ist (STK200) Wie sieht die Verdrahtung GENAU aus? In den Schaltplänen sind Kontaktleisten eingezeichnet und es ist bisher nicht bekannt, wie du auf deinem Board was mit was verbunden hast. Es kann sein, dass deine Verdrahtung des DS1307 den µC komplett am Arbeiten hindert! Es kann sein, dass die Verbindung der TX und RX Leitungen zwischen µC und MAX232 falsch sind. Bei dem Hardwaretest oben würde man gekreuzte Leitungen nicht als Fehler erkennen, weil die Drahtbrücke in der IC-Fassung des µCs symmetrisch arbeitet - anders als ein UART eines µCs. >>> Habe auch schon den 16Mhz Quarz gegen einen 14,756000 MHz Quarz >>> ausgetauscht, bringt leider auch nichts! >> >> Was hast du ausser dem Tauschen des Quarzes gemacht? Welche(s) >> Programm(e) hast du wie versucht aufzuspielen? Und was ist danach >> passiert? > > Ich habe porbehalber probiert über ISP ein Programm zum Auslesen des > DS1307 aufzuspielen, brachte aber auch keinen Unterschied! Wie sieht dieses Ausleseprogramm aus? Bist du sicher, dass 1. es im µC ist und läuft und 2. darin alle UART Befehle richtig sind 3. beim ISP programmieren des Ausleseprogramms (oder des Blinkprogramms vorher) der Bootloader im µC nicht kaputtgeschrieben wurde, d.h. wie sind die Fuses programmiert > Also momentan ist der 14MHZ Quarz drin, aber auch mit dem 16MHZ habe ich > keine Blinkzeiten von 15s, sondern auch so ca.1s! Das heisst der µC läuft schon mal mit der externen Taktquelle (Quarz) und nicht auf dem internen RC-Oszillator. Das ist gut! Ca. 1s ist OK. Per Ansehen sieht man nicht, ob es ein 1s (14,756 MHz) oder 0,92s (16 MHz) Blinken ist.
Stefan B. wrote: > Michael Hoffmann wrote: > >> Ich habe über den AVR ISP Programmer mit PonyProg den Bootloader >> aufgespielt. Danach habe ich noch über die serielle Schnittstelle (da >> funktionierte sie noch, siehe erster Post) auf dem Embedeit Board meine >> zwei Controller mit dem Blink LED Programm beschrieben! > > Mit dem 16 MHz Quarz und dem Bootloader BL32-14MHz.hex? > > BL32-14MHz.hex basiert "auf einem Bootloader von Martin Thomas". Ich > habe mir avrprog_boot_v0_85_20081203 bei Martin Thomas angesehen. Da ist > keine automatische Baudratenanpassung drin, d.h. mit dem 16 MHz Quarz > kann das nicht funktionieren. > > Wenn BL32-14MHz.hex verwendet wird, muss der 14,756 MHz Quarz aufs > Board. > Ja hab den 16Mhz Quarz gegend den 14Mhz ausgetauscht, aber erst nach dem Aufspielen des Bootloaders! > > Soweit ich in der Source sehe und mir die Funktion von BL32-14MHz.hex > zurechtreime, könnte es sein dass > > 1. das Terminalprogramm auf dem PC eingestellt werden muss auf > #define BAUDRATE 115200 > 2. innerhalb einer Wartezeit von > #define WAIT_VALUE 100 /* here: 100*10ms = 1000ms = 1sec */ > muss dann > 3. ein bestimmtes Zeichen kommen, um Programm vom PC zum µC zu > übertragen > /* character to start the bootloader in mode START_WAIT */ > #define START_WAIT_UARTCHAR 'S' wie bzw. wo kann ich das eingeben? in HyperTerminal? > > > Um den Bootloader mit dem AVR ISP Programmieradapter von > http://shop.embedit.de/product__120.php aufzuspielen, kannst du > benutzen: > > * Pony-Prog Tutorial > * AVRDUDE > * AVR-Studio, nur wenn z.B. das Plugin AVRISP V5 von Kanda > installiert ist (STK200) > Habe es mit PonyProg gemacht, kam auch "write successful", Fuses sind wie auf der BS-Cham Website beschrieben eingestellt. > Wie sieht die Verdrahtung GENAU aus? Verdrahtung ist zu 100% wie am erweiterten Schaltplan, habs mehrfach überprüft! > > Es kann sein, dass die Verbindung der TX und RX Leitungen zwischen µC > und MAX232 falsch sind. Bei dem Hardwaretest oben würde man gekreuzte > Leitungen nicht als Fehler erkennen, weil die Drahtbrücke in der > IC-Fassung des µCs symmetrisch arbeitet - anders als ein UART eines µCs. > Kreuzen der TX/RX Leitung, brint mir im AVR Studio trotzdem "no supported board found" >> Ich habe porbehalber probiert über ISP ein Programm zum Auslesen des >> DS1307 aufzuspielen, brachte aber auch keinen Unterschied! > > Wie sieht dieses Ausleseprogramm aus? > http://web.bs-cham.de/wiki/images/9/96/Wvs-lcd.zip > Bist du sicher, dass > > 1. es im µC ist und läuft und habs über PonyPrg draufgezogen und es kam "write successfull", daher denke ich mal ja! > 2. darin alle UART Befehle richtig sind Programm muss richtig sein, da es unser Lehrer etc. aktiv betreiben > 3. beim ISP programmieren des Ausleseprogramms (oder des Blinkprogramms > vorher) der Bootloader im µC nicht kaputtgeschrieben wurde, d.h. wie > sind die Fuses programmiert Fuses sind wie auf der Website beschrieben eingestellt! Es funktioniert bei Mitschülern und dem lehrer auch einwandfrei, mit den verwendeten Fuses >
Michael Hoffmann wrote: >> Wenn BL32-14MHz.hex verwendet wird, muss der 14,756 MHz Quarz aufs >> Board. >> > Ja hab den 16Mhz Quarz gegen den 14Mhz ausgetauscht, aber erst nach > dem Aufspielen des Bootloaders! Hauptsache der 14,756 MHz Quarz ist auf dem Board, wenn du versuchst mit dem Bootloader ein anderes Programm vom PC über RS232 auf den Atmega32 zu schaffen oder überhaupt irgendwas mit RS232 versuchst. >> Soweit ich in der Source sehe und mir die Funktion von BL32-14MHz.hex >> zurechtreime, könnte es sein dass >> >> 1. das Terminalprogramm auf dem PC eingestellt werden muss auf >> #define BAUDRATE 115200 >> 2. innerhalb einer Wartezeit von >> #define WAIT_VALUE 100 /* here: 100*10ms = 1000ms = 1sec */ >> muss dann >> 3. ein bestimmtes Zeichen kommen, um Programm vom PC zum µC zu >> übertragen >> /* character to start the bootloader in mode START_WAIT */ >> #define START_WAIT_UARTCHAR 'S' > > wie bzw. wo kann ich das eingeben? in HyperTerminal? Teilweise. In HyperTerminal kannst du die Baudrate, Bitzahl, Parität und Stopbits einstellen. Und du kannst dort das S innerhalb 1 Sekunde nach Reset des Atmega32 eingeben. Wenn das alles stimmt plus die Verkabelung zum Atmega32, dann kannst du dem Bootloader vom PC aus ein anderes Programm schicken. Benutzen deine Mitschüler und der Lehrer ebenfalls das Hyperterminal, um andere Programme über den Bootloader einzuspielen oder benutzen die was anderes wie z.B. AVR Prog... aus dem Tools Menü von AVR-Studio? Du solltest deren Vorgehensweise und Einstellungen übernehmen. >> Um den Bootloader ... aufzuspielen, kannst du >> benutzen... > > Habe es mit PonyProg gemacht, kam auch "write successful", Fuses sind > wie auf der BS-Cham Website beschrieben eingestellt. Sehr schön, wenigstens das Programmieren über ISP scheint zu funktionieren! >> Wie sieht die Verdrahtung GENAU aus? > > Verdrahtung ist zu 100% wie am erweiterten Schaltplan, habs mehrfach > überprüft! Ich habe jetzt mehrfach gefragt und immer noch keine befriedigende Antwort. Ich sehe in beiden Schaltplänen nur Teilzeichnungen oder nicht verbundene Pins 14 und 15 (TXD und RXD) am Atmega32. Aber ich frage jetzt nicht mehr. >> Es kann sein, dass die Verbindung der TX und RX Leitungen zwischen µC >> und MAX232 falsch sind. Bei dem Hardwaretest oben würde man gekreuzte >> Leitungen nicht als Fehler erkennen, weil die Drahtbrücke in der >> IC-Fassung des µCs symmetrisch arbeitet - anders als ein UART eines µCs. > Kreuzen der TX/RX Leitung, brint mir im AVR Studio trotzdem "no > supported board found" "no supported board found" wird bedeuten, dass der Bootloader sich nicht oder falsch meldet. Du hast zum Glück zwei Wege, um Programme auf das Board zu bringen: 1. Mit dem AVR ISP Programmieradapter 2. Mit dem Bootloader über eine RS232 Verbindung und ein Terminalprogramm. Der Bootloader muss aber einmal auf Weg 1 eingespielt worden sein. Solange Probleme mit RS232 bestehen, macht es wenig Sinn einen Bootloader zu benutzen, bei dem RS232 fehlerfrei arbeiten muss. Deshalb würde ich das RS232-Testprogramm (s. unten) mit ISP einspielen! >>> Ich habe porbehalber probiert über ISP ein Programm zum Auslesen des >>> DS1307 aufzuspielen, brachte aber auch keinen Unterschied! >> Wie sieht dieses Ausleseprogramm aus? > http://web.bs-cham.de/wiki/images/9/96/Wvs-lcd.zip Das Programm wäre mir für den RS232 Test zu umfangreich/komplex. In dem Programm wird vor der Ausgabe per RS232 bereits die I2C Hardware angesprochen. Wenn dabei was schief geht, weil die Hardware nicht mitspielt, kommt das Programm überhaupt nicht zu der RS232 Ausgabe! Bedenke auch, dass die Probleme zum ersten Mal aufgetreten sind, nachdem die RTC eingebaut wurde! Ich würde die folgende gestrippte Datei wvs-lcd.c ohne I2C und LCD benutzen. Wenn du das auch machst, rette die Originaldatei unter anderem Namen! Hier (und im originalen wvs-lcd.c) werden möglicherweise andere RS232 Parameter als im Bootloader (möglicherweise 115200 wie im Original von Martin Thomas) benutzt, d.h. im PC-Terminalprogramm anders einstellen (19200 plus Defaults aus dem Atmega32 Datenblatt bei Bitzahl, Parität und Stopbitzahl).
1 | #include "global.h" // include our global settings |
2 | |
3 | int main (void) |
4 | {
|
5 | // UART aus Library von Pascal Stang v1.3 aus 2003
|
6 | uartInit(); // initialize UART (serial port) |
7 | uartSetBaudRate(19200); // set UART speed to 19200 baud |
8 | rprintfInit(uartSendByte); // configure rprintf to use UART for output |
9 | while(1) |
10 | {
|
11 | // send "hello world" message via serial port
|
12 | rprintf("Hello World\r\n"); |
13 | }
|
14 | } // Ende von main |
> Das Programm (originales wvs-lcd.c) muss richtig sein, da es unser Lehrer etc. aktiv betreiben Dann hakt es irgendwo an der Hardware. Wie geschrieben, kann das die Realtimeclock und die Kommunikation mit der über I2C sein. Lass den Teil mal weg und konzentriere dich exklusiv auf RS232 mit obigem Programmvorschlag. >> 3. beim ISP programmieren des Ausleseprogramms (oder des Blinkprogramms >> vorher) der Bootloader im µC nicht kaputtgeschrieben wurde, d.h. wie >> sind die Fuses programmiert > > Fuses sind wie auf der Website beschrieben eingestellt! Es funktioniert > bei Mitschülern und dem lehrer auch einwandfrei, mit den verwendeten > Fuses War nur eine Möglichkeit. Schön, dass du diese Möglichkeit ausschliessen kannst.
Problem gelöst: Tausch des µC durch einen neuen hat das Problem behoben! Danke für die Hilfe!
Klasse, dass du den Bug gefunden hast. Eine Gedenkminute für den kleine Rechenknecht ;-) Frohes Schaffen noch!
ich hab doch noch ne Frage, wenn ich im AVR Studio auf "AVR Prog" gehe, kommt zwar das Programm Fenster, doch wenn ich auf Programm Flash klicke, kommt "can´t enter programm mode" und danach "Flushing"!Währenddessen steht da "Erased failed"! Scheint ein Problem mit der serielle Schnittstelle zu sein. Wenn ich die Fehlermeldungen öfters wegklicke schreibt er irgendwann das Programm drauf(zeigt es zumindest an).Kann man den Fehler iwie eingrenzen?
Das betrifft dem Fall, bei dem der Bootloader bereits im Atmega32 ist und ein weiteres Programm mit dessen Hilfe in den Atmega32 gebracht werden soll? Suche mal mit der richtigen Fehlermeldung: "can´t enter programming mode" Hier ist eine Diskussion dazu, aus der du verschiedene Prüfmöglichkeiten entnehmen kannst: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=36947&start=0 Auf jeden Fall müsste man wissen, ob du mit einer regulären RS232-Verbindung arbeitest oder mit einem USB-RS232-Adapter. Beim USB-RS232-Adapter kann die Nummer der virtuellen COM Schnittstelle entscheidend sein. Und check mal, ob sich der Bootloader nach einem RESET des AVRs sauber in einem Terminalprogramm meldet. Wenn du ein Spannungsmessgerät hast, kannst du auch überprüfen, ob beim Programmierversuch der Resetpin des AVRs von HIGH nach LOW gezogen wird.
wieder mal danke, lag an dem USB-RS232-Adapter! Jetzt läuft alles perfekt, ich bin euch (vor allem dir Stefan) ewig dankbar;-)
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.