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
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...
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?
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
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).
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.