Forum: Mikrocontroller und Digitale Elektronik Seltsame Flanken SPI Speicheroszi


von Alex F. (alex86)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich hab folgendes Problem:
Mein Atmega8 liefert mir im SPI-Master Mode folgende Flanken (siehe 
Foto).
Gemessen ist direkt am Ausgang der SPI-PORTS und mit einem sehr guten 
Speicher-Oszi (Agilent).
Gesendet wird  dez 10 d.h.  00001010
Woher kommen diese Pieks am Anfag der Übertragung bzw. wie kann ich 
diese verhindern?
Schonmal vielen Dank für eure Antworten.

mfg
Alex

von inse (Gast)


Lesenswert?

Hallo Alex,

ich arbeite beruflich mit einem Agilent MSO.
Schau Dir die Signale doch mal mit einem der Analogkanäle an und 
kontrolliere, ob die richtigen Logikpegel eingestellt sind.
Möglicherweise stimmen hier nur die eingestellten Schwellwerte nicht, 
und leichtes Übersprecen wird als Pegelwechsel interpretiert.
Ein schlecht gewählter Massepunkt wäre auch noch eine mögliche 
Ursache...

von Flo (Gast)


Lesenswert?

Versuch mal (falls es bei deinem Oszi geht) den Nullzeitpunkt nach links 
zu verschieben, die Zeitbasis länger zu wählen und dann noch mal ne 
Single-Messung machen. Hat dann den Vorteil, dass der Sendevorgang mit 
mehr Werten abgetastet wird und es besser sichtbar ist (breiter).

Du benutzt Hardware-SPI des mega8?
Bei welchen Frequenzen und wie sieht der Aufbau aus?

von Alex F. (alex86)


Lesenswert?

danke für eure Antworten
@ inse: werd ich morgen gleich mal ausprobieren, dass könnte wirklich 
der Grund sein.
@ Flo: werd ich morgen auch probieren.
Ich benutze Hardware SPI mit 2Mhz. Ich greife die Signale direkt an dem 
Atmega8 ab, sonst sind keine Bauteile mehr angeschlossen. Mir ist dieser 
Fehler aufgefallen, als der Master mit meinem Slave-MCU kommuniziert hat 
und dadurch ein paar Fehler ausgelöst hat. Verusche nun rauszufinden, ob 
es am schlechten Signal liegt. Es ist schon merkwürdig.
Welche Macken hat eigentlich das HW-SPI? Habe schonmal gehört, dass man 
oftmals Steuerregistereinträge nochmals setzen muss.
Hilft vielleicht ein Kondensator oder ähnliches?
Gruss
Alex

von Flo (Gast)


Lesenswert?

2 MHz ist sportlich.
Was du mal ausprobieren kannst ist die Frequenz zu verringern 
(testweise), das könnten nämlich auch Reflexionen der Leitung sein 
(Stichwort Wellenwiderstand).

von Rolf D. (rolfdegen)


Lesenswert?

Hallöchen..

Vermutlich entstehen die kleinen Pieks beim Wechsel der Portleitung von 
Ausgang auf Eingang am ATmega. Ähnliches konnte ich bei meiner 
Programmierung einer Software-Lösung für ein I2C-Protokoll am 
Oszilloskop beobachten. Die Pieks waren nur wenige Nanosekunden lang 
(ein Befehlstakt-zyklus des ATmega). Allerdings kenn ich jetzt die 
SPI-Funktion und das Protokoll nicht genau und weis nicht, ob es auf 
einer Portleitung so einen Wechsel von Ausgang auf Eingang gibt.

Gruß Rolf

von madler (Gast)


Lesenswert?

Im MHz-Bereich wird SPI langsam ein wenig tricksig. Ich hatte da mal 
genau dasselbe Problem mit dem Uebersprechen von Clock auf die Daten. 
Ist das auf einer Leiterplatte?
Ich wuerde dann dringend eine gute Massefuehrung (am Besten auch 
Masseflaeche zwischen und neben den Signalen) empfehlen.
Der Strom der Clock und der Datenleitung muss irgendwo vom Slave zum 
Master zurueckfliessen und das sollte so direkt wie moeglich sein und 
nicht andere Signale "umschliessen".

Bei vielen kommerziellen Geraeten hab ich auch schon eine RC-Kombination 
in den Leitungen gesehen um die Flanken zu glaetten (das muss dann aber 
sicherlich SMD sein um keinen Aerger zu machen). Das hab ich aber selbst 
noch nicht ausprobiert.

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
Noch kein Account? Hier anmelden.