PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISP Problem (wahrscheinlich mit Sck)



Rohbotiker
05.08.2008, 17:15
Hallo,

Ich habe einen Chip der auf SPI reagieren soll, hatte das alles mit einem Atmega8 getestet, ging. Jetzt habe ich den Chip über ISP an einen Atmega32 angeschlossen, jetzt geht es aber nicht. Das Programm ist das selbe. Ich vermute als Problem den Sck Output. Am Oszilloskop sieht das Signal folgendermaßen aus, die 5V sind stabil, sie stellen 1/3 des sich periodisch wiederholenden Signals dar, die anderen zwei Drittel schwingen furchtbar hin und her (dann, wenn eigentlich Masse dasein sollte). Es schwingt von -2V bis zu 8V (Stromversorgung konstant 5V) etwa 10 bis 20 mal hoch und runter bis es sich dann nach einer bestimmten Zeit des gleichförmigen Schwingens (nach 2/3 xder Gesamtlänge des periodischen Signal) auf 5V kurz einschwingt und dann stabil bleibt, geht das Signal wieder von vorne los, geht auch die Schwingerei wieder von vorne los. Ist das normal?

Besserwessi
05.08.2008, 17:39
Das ist alles andere als normal. Es könnte eventuell durch eine relativ langes Kabel ( > 50 cm) an clk-Ausgang verursacht werden. Sind die 5 V wirklich stabil, wo sollen denn die 8 V herkommen ? Sind am Controller 2 Entkoppelkondesatoren ?

Rohbotiker
05.08.2008, 18:19
Am Controller ist ein 20nF Kondensator und ein Elko, direkt an einer Netzspannungsquelle angeschlossen.

Wo die 8V herkommen weiß ich auch nicht, irgendwie sieht das ganze wie ein Teil eines Schwingkreises aus.

Besserwessi
05.08.2008, 20:52
Ein Elko direkt an Netzspannung ist nicht gut !

Gut - gemeinst war wohl hoffentlich direkt am Spannungsregler.

Zur entkopplung / Entstörung sollten direkt am Controller jeweils etwa 10-100 nF an VCC/GND und AGND/AVCC.
In der Regel sollten auch am Spannungsregler eine kleiner Kondensator und ggf. ein Elko sein, jeweils vor und hinter dem Regler.

sternst
05.08.2008, 21:13
Du hast vermutlich den SCK-Pin nicht als Ausgang konfiguriert. In den High-Phasen ist der Pullup aktiv, in den Low-Phasen ist der Pin hochohmig und du hast irgendwelchen "Schmutz" drauf.

Rohbotiker
07.08.2008, 19:28
Der Sck-Pin ist als Output konfiguriert, dieses Phänomen tritt bei 4 Mhz Takt auf, habe es jetzt mal mit weniger versucht (bis zu 32 Khz runter), da tritt dieses Problem nur am Anfang auf, also wenn Sck den Pegel wechselt, da schwingts kurz bis es dann stabil wird, aber Kontakt über SPI krieg ich trotzdem keinen, ist da bei einem Atmega32 irgendwas besonders anders als bei einem atmega8?

Besserwessi
07.08.2008, 21:32
Der Mega 32 hat ein JTAG interface das an Port C liegt, allerdings nicht an PC0. Sonst sollte da kein Wesenlicher unterschied zum Mega8 sein.

Die Störungen sehen aber etwas nach Störungen aus der Versorgungsspannung aus.

sternst
07.08.2008, 21:55
Bevor ich den Sourcecode nicht gesehen habe, glaube ich nicht, dass der Pin als Ausgang konfiguriert ist. Dafür deutet deine Beschreibung zu sehr auf "hochohmig" hin. Und dass sich das Verhalten mit der Frequenz ändert, widerspricht dem nicht (im Gegenteil). Vielleicht hebst du die Konfiguration als Ausgang versehentlich wieder auf. Einmal ein "=" statt eines "|=" und schon ist es passiert.

Rohbotiker
08.08.2008, 09:21
Also ganz oben habe ich im Code (Bascom) "Config Portb = Output" stehen. Bei niedrigeren Taktraten bleibt das schwingen wie bereits geschrieben auch nur für eine kurze Zeit, und auch bei 4MHz Takt, wo dieser "Schmutz" auf dem Pin draufwahr, wenn ich den Pin mit einem 1K Wiederstand verbunden habe, und dahinter gemessen habe, hat das fast wie ein Kondensator gewirkt, es war eine Art Wellenform zu sehen, sah genauso aus wie eine Ladekurve und eine Entladekurve eines Kondensators zwischen etwa 5 und 3 Volt direkt miteinander verbunden, und das ganze noch mit "Zacken" drin, eine Art Rechtecksmuster mit einer um einiges kleinerer Periode (etwa die der "Schmutz"-Schwingung). Alles reichlich misteriös.