ISP funktioniert nicht, Totzeit ~~~Bitte schaut mal drauf~~~

OP #1304588
Lesenswert?

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
Gast #1304609
Lesenswert?

>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.
OP #1304646
Lesenswert?

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..."
OP #1304676
Lesenswert?

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.
Gast #1304732
Lesenswert?

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
OP #1304749
Lesenswert?

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
OP #1304768
Lesenswert?

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.
OP #1304777
Lesenswert?

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...
#1304928
Lesenswert?

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
OP #1304947
Lesenswert?

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
Gast #1305007
Lesenswert?

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
OP #1307477
Lesenswert?

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.
OP #1307603
Lesenswert?

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.
OP #1307713
Lesenswert?

> 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
Gast #1307725
Lesenswert?

> 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
OP #1307729
Lesenswert?

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...
Angehängte Dateien:
Gast #1307755
Lesenswert?

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
Gast #1308007
Lesenswert?

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
OP #1316648
Lesenswert?

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
Angehängte Dateien:

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