Hallo Leute, ich denke nicht, dass es sich um einen Anfängerfehler bei mir handelt. Deswegen bitte ich euch mein Problem einmal anzuschauen. Ich habe einen Atmega8 in SMD und eine ISP 2x3Pin SMD-Stiftleiste mit entsprechender Verdrahtung. Die stimmt laut Belegung des ISP STeckersvon Atmel. Schau ich mir aber auf dem Oszi den Takt oder MOSI an, sehe ich dass, nachdem Reset auf GND gezogen wird eine Totzeit von ca 25ms verstreicht und derweilen alle genannten Signale auf GND liegen bis sich eben der Takt oder die Daten auf SCK bzw. MOSI zeigen. Auf MISO bleibt alles die ganze Zeit auf VCC (3,3V). Wie bekomme ich diese Totzeit weg? Ich meine zumindest, dass die der Grund für die nicht funktionierende Kommunikation mit AVRStudio ist. ZUm Programmieren nutze ich ein STK500. Funktionierte bisher tadellos. Signale sind alle am Stecker anliegend. Habe auch schon andere Kabel probiert, keine Änderung. Ich kann mir nicht mehr helfen. Hatte bisher schon diverse Projekte auch in SMD so durchgezogen und nie solche Probleme mit dem ISP, und wenn ich welche hatte lags immer an falscher oder unzureichender Verdrahtung. Auf Leitfähigkeit gegen alle möglichen Signale hab ich auch schon geprüft. Keine Kurzen vorhanden ... Der ATMega8 ist nagelneu und von Reichelt. Denke doch, dass man da noch in Ruhe an die Fuses kommt. Danke euch. Grüße Stefan
Prüf mal die Belegung vieleicht um einen Pin verzählt? Ansonsten ggf Reset nicht beschaltet? Oder zu langes Kabel?
>Wie bekomme ich diese Totzeit weg? Gar nicht. >Ich meine zumindest, dass die der Grund für die nicht funktionierende >Kommunikation mit AVRStudio ist. Ist sie nicht. Das AVRStudio selbst fügt diese Pause ein. >Auf MISO bleibt >alles die ganze Zeit auf VCC (3,3V). Kurzschluss gegen VCC? Dann isser vieleicht schon kaputt.
Hm...Kurzschlüsse kann ich ausschließen. Habe sogar schon den IC getauscht und einen neuen drauf gebacken. Selbes Verhalten. Die Kabel haben bisher normal funktioniert, sind etwa 10cm lang. Was ich weiss ist: Alle Pins haben vom Beinchen des ICs bis zum Stift der Stiftleiste Kontakt und es gibt dort keine Kurzen. Und alle Signale kommen vom STK500 auf die Stifte des ISP Steckers auf der Platine, aber es geht nicht. Ich bekomme im AVRStudio die übliche ISP Fehlermeldung "check connection and fuse settings..."
Hi
>Ich habe einen Atmega8 in SMD
Atmega8 oder Atmega8L?
MfG Spess
Also der IC besagt: Atmega8-16Au und meine bestellung besagt ATmega8-16 TQ Sollte sich also nicht um einen "L" handeln. Was wäre denn der Unterschied außer der Taktfrequenz? Grüße Edit: ich habe nochmal im datenblatt geschaut. Der Ic muss mit mind. 4,5V bettrieben werden. Habe ich eingestelLt und bringt keine Besserung.
S. G. schrieb: > Edit: ich habe nochmal im datenblatt geschaut. Der Ic muss mit mind. > 4,5V bettrieben werden. Habe ich eingestelLt und bringt keine Besserung. 4,5V bei 16 MHz
Versuche mal, wenn vorhanden, einen (andern) Atmega in einem der Sockel auf dem STK500 zu Programmieren/Auslesen, dann weißt Du wenigstens daß die Programmierschnittstelle des STK500 OK ist. Versorgung "Zielprozessor" vom STK500?? oder aus eigenem Netzteil? Ggf. die VCC-Verbindung STK500 Ziel-Prozessor auftrennen....... Flachbandkabel mit Schneidklemmsteckern können manchmal seltsames "Verhalten" zeigen, wackele mal an den Steckern, sehr oft gesteckt kann es schon mal zu "Kontaktproblemen" kommen. Gruß Miraculix
Hi Miraculix habe eben ein anderes Kabel probiert. Ich kann im Wechsel auf einem anderen Board per ISP die Fuses auslesen und dann wieder auf mein "Problemboard" wechseln, da geht dann wieder gar nix. Aber danke für den Tipp mit dem Flachbandkabel, werde ich in Zukunft mehr dran denken. Versorgt wird der ATMega8 über die ISP Schnittstelle. Das kommt auch an. Habe eben nochmal die Pracht auf dem Oszi betrachtet, alles funktioniert, wie auf anderen Boards auch, nur MISO bleibt auf VCC ohne eine Regung. MISO hat aber - wie ich eben nochmal durchgemessen habe - keine Kurzen irgnedwohin (VCC,...). Also scheint es nicht an der Totzeit zu liegen, wie holger schon beschrieben hat. Habe das an anderen System verifizieren können. das sieht teilweise sogar hemdsärmelig auf dem Oszi aus aber funktioniert. Nur jetzt hier nicht. Es liegt wohl eher an der fehlenden Kommunikation auf MISO also vom IC zum STK500. Warum? Grüße Stefan
Hallo, Was hängt sonst noch an den ISP-Pins des AVR? Ein Flash o.ä. mit floatendem CS kann sowas auch gut erzeugen. Wenn nicht, klingt es für mich nach "AVR hat keinen Takt". Warum auch immer... Gruß aus Berlin Michael
Hi Michael, Ich hatte zu Anfang noch einen PSoC dranhängen auf MISO und MOSI, den habe ich aber auf beiden Kanälen getrennt. Kann ich später wieder schnell dranlöten. Der PSoC wird zwar noch mit versorgt, hat aber kein programm drauf, belässt also alle Pins auf GND und ist mit dem ATMega8 außer per GND und VCC nicht verbunden in keiner Art. Ich überprüfe nochmal, ob es mit dem Takt Probleme gibt. Danke euch.
Hast du mal geprüft ob der Programmer den AVR Reset sicher auf GND ziehen kann? Sonst kommst du nicht in den Programmiermodus, ggf Reset mal per hand auf GND legen.
SCK kommt sicher an am Beinchen des ATMega an. Ich hatte mal selbst RST auf GND gelegt, änderte sich aber nix. Werds nochmal probieren. So wie es auf dem Oszi aussieht, wird RST allerdings sauber auf GND gezogen und zum Schluss wieder hoch. Das sieht sehr knackig aus...
Hallo, ich meinte weniger SCK, mehr den Takt des AVR. Wenn er im Originalzustand ist, sollte er ja mit dem internen Oszillator laufen. Falls er aus Industrierestposten stammt, kann er ja auf externem Clock o.ä. gefused sein. Ansonsten: wirklich nicht verzählt? Der SMD-Mega8 hat ja 32 Pin. Ich habe auch schon nach einem Eagle-Plan eine Schaltung auf Lochraster gebaut und sehr spät gemerkt, daß ich DIL hatte und dort SMD war... Gruß aus Berlin Michael
Hey, achso. Hm, ich habe einen 12MHz Quarz extern drangehängt (sowieso, laut Schaltung). Weder schwingt der an (Oszi), noch hab ich einen anderen Hinweis auf den nicht 1MHz-internen-RC-Takt. Der sollte ja default-mäßig vorhanden sein. Hm...aber ob dem nun wirklich so ist... Ich hab jetzt schon ein paar mal geschaut und gezählt...mein Eagle brd stimmt an sich mit dem Datenblatt überein. Ich werde es mal setzen lassen und am Montag wieder drauf kucken...Vielleicht sollte ich mal Reichelt anschreiben, um Probleme mit verkorksten Default Fuses etc. auszuschließen. Grüße
Falls Michael aus Berlin mit seiner Vermutung recht hat, "Fuses" wg. Industrierestposten könnte es sogar sein daß der Reset "abgehängt" wurde. Ich würde mal versuchen, sofern in Deiner Hardware meßbar, ob die Ports des Atmega "hochohmig/Tristate" werden, wenn Du den Reset betätigst. Dann weißt Du, ob der Reset erkannt wird, eine Voraussetzung um in den Programmiermodus zu kommen. Zu einen Austausch des µP gegen einen anderen kann ich nur dann raten wenn der "Austausch-µP" nicht aus der gleichen Lieferung stammt. Am Besten gegen einen von dem man weiß daß er funktioniert.... Trotz allem ein schönes Wochenende! (Gute Idee ert am Mo weiter zu machen) Miraculix
So, schönen guten Morgen, grade bei reichelt nachgefragt: Die Atmegas kommen alle direkt vom Hersteller, irgendwelche Macken bis jetzt nicht bekannt und auch keine Rückläufer bis dato. Also heisst es - wie erwartet - weiter reinknien. Ich teste mal die Tristate-Geschichte. Grüße EDIT: OK, alles was ich machen konnte, war den Widerstand zischen GND und Pin zu messen. Der befindet sich irgendwo bei 60kR. Lege ich RST auf GND ist die Änderung 500R nach unten.
So, jetzt habe ich mal einen ATmega48 eingelötet, der ja pinkompatibel ist. Ich weiss, dass die 48er, die ich habe OK sind und funktionieren. Allerdings komm ich auch hier nicht per ISP auf den IC und es liegt genau das gleich Verhalten vor. Alle Signale sehen gut aus, nur MISO liegt ständig auf VCC.
Die Schlußfolgerung ist also, die Schaltung ist fehlerhaft. Hier mal ein Auschnitt aus der EAGLE brd und sch Datei. Ich finde keine Fehler dabei?!!? Ihr? http://image-upload.de/file/zncw9L/2535c5c3b7.gif http://image-upload.de/file/mK9lLg/eea6d4bdb6.gif
Tja, ich hätte jetzt gesagt der ISP ist mit der Pinbelegung bei Dir komplett verdreht. Wieso hast Du die Pinbelegung dahingehend verändert ? Gruß Sven
Wenn der Stecker auf der gleichen Seite sitzt wie der Controller, dann stimmt aber seltsamerweise die Pinbelegung im Layout,
Ist ja SMD, also musste ich den ja "drehen" --> mirrow Also der stimmt denk ich, ich hab die Belegung hier hängen, und wenn ich sie drüber lege, dann sollte sie stimmen.
Und PIN 6 ist mit GND verbunden ? Gruß Sven
Ja, hätte mal den RATSNEST vorher ausführen sollen, bevor ich die Schaltung hier reinstelle. Hier also nochmal, genauso, wie mein Board aussieht. Der Punkt weist auf PIN1 (MISO) hin. Grüße
Sag mal hat Reset einen Pullup ? Wo ist die Resetbeschaltung ? Gruß Sven
> AVCC/GND offen ist nicht so gut. Da hatte ich dann schon mal noch ne Drahtbrücke draufgesetzt, keine Änderung. Werd ich aber nochmal machen. > Sag mal hat Reset einen Pullup ? Wo ist die Resetbeschaltung ? Ich hab noch nie einen resetpullup verwendet und damit noch nie Probleme gehabt. Kann auf dem Oszi sehen, dass das Herunterziehen auf GND und wieder Hochziehen einwandfrei funktioniert. Beide Potentiale werden mit einer schönen Flanke erreicht. Was meinst du genau mit Resetbeschaltung? Grüße
Reset hat einen internen Pullup, die übliche externe Beschaltung ist optional (weniger störempfindlich).
Ach ja, das Übliche: ISP-Frequenz runtergedreht?
A. K. schrieb:
> Ach ja, das Übliche: ISP-Frequenz runtergedreht?
Frequenz steht auf 57,6kHz. Sollte doch passen...
> Reset hat einen internen Pullup, die übliche externe Beschaltung ist > optional (weniger störempfindlich). Nagut, ok. Du siehst also VCC auf MISO, d.h. PIN1 führt Potential von PIN2; bist Du sicher das nicht eine Brücke zwischen PIN1 und 2 des ISP besteht ? Unter dem Pinheader etwas Lötzinn ? Wir kennen ja Deine Lötkünste nicht ;-) Gruß Sven
Ok, im ersten Posting hast Du das schon überprüft sorry.
Habe hier nochmal die gleiche Platine in einer früheren Revision. Dort war der ISP Stecker noch nach links gedreht. Der wurde in der aktuellen Revision einfach nach rechts gedreht. Die frühere Platine habe ich hier mit einem ATMega48 und kann die Fuses ohne Probleme auslesen. MISO sieht so aus, wei erwartet. normale Funktion... ich versteh die Welt nicht mehr...
Also ich wär ja sehr froh, wenn es sowas ist, wie eine tote Lötstelle oder so. Aber ich finde bis jetzt auf der gesamten Platine keine Kurzen und habe Durchgang vom Beinchen des ICs bis zum Stift der Stiftleiste auf jedem Kanal.
Tja, aber demnach kann es nur noch eine dieser Lötstellen sein. Was ich mir noch vorstellen könnte, 1. gehen wir mal davon aus Du hast ein PIN nicht sauber verlötet 2. Du piepst jetzt mit einem Prüfer mechanisch das Bein durch und drückst es damit auf das PAD -> Kontakt da 3. Du nimmst den Prüfer wieder weg, Beinchen hebt etwas an, Kontakt weg. Das ist jetzt das letzte was mir noch einfällt. Gruß Sven
Ich hab keine Ahnung, da tut sich nichts....grrrrrrrrrrr
Also auch keine schlechte Lötstelle....... Wenn es immer noch nicht geht, würde ich im spannungslosen Zustand mit dem Multimeter nochmals testen, ob das richtige "µP-Beinchen" auch am richtigen "Steckerbeinchen" des STK500 ankommt. Dann würde ich, so verrückt es auch klingen mag, die ISP-Pins vom µP "hochlegen", also vorsichtig von der Platine lösen, und direkt mit dem STK500 verbinden, dann ist der wie auch immer mögliche Einfluß der Platine und deren HW auf die ISP-Schnittstelle sicher ausgeschaltet. Die Beinchen liegen glücklicherweise "am Eck" so daß man recht gut herankommt. Vielleicht hilft das weiter. Ein Tipp am Rande: Die vorher gepostete Meinung AVCC und GND anschließen halte ich für absolut nötig, solange keine Analogsignale verarbeitet werden kann Avcc direkt an Vcc gehängt werden. Sonst Spule verwenden. Es empfiehlt sich durchaus den Reset-Input mit z.B. 10k hochzuziehen, bringt viel in Richtung Störsicherheit. MfG Miraculix
Hallo, ich habe heute nochmal einen Anlauf genommen und die Platine neu geätzt und bestückt. Allerdings hatte ich eine kleine Änderung eingebaut. Die Reset Leitung des ISP hatte ich nciht komplett "außen" rum geroutet, sondern etwas kürzer gehalten. (siehe Anhang, allerdings ist hier der Ratsnest Befehl nch nciht ausgeführt, bei der geätzten Platine ist das nämlich so) Siehe da, ich kann ohne Probleme auf den AVR zugreifen. Allerdings will ich nicht behaupten, dass es an der etwas kürzeren reset leitung liegt. ich weiss bis heute nicht, woran es lag, dass ich nicht fusen konnte. Wenn noch jemand einen Hinweis hätte, wär ich dankbar. Für dieses projekt ist erst mal alles wieder im lot und funktioniert. Danke euch für eure umfangreiche Hilfe! Grüße vom Rhein Stefan
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.