Hallo liebe Mikrocontroller Community! Ich möchte zurzeit mein Wissen im Bereich MCU / Elektrotechnik verbessern. Dazu habe ich mir ein paar Projekte mit Mikrocontroller überlegt und mir dazu auch ein Oszilloskop zugelegt. Ich möchte mit einem ATTiny44 eine SDKarte mittels SPI ansteuern. Dazu habe ich auf dem ATTiny44 die tinySPI Bibliothek verwendet. Für Testzwecke habe ich den SCK Pin an einen Arduino Mega 2650 angeschlossen (SCK auf Pin 52). Der ATTiny wird mit 3.3V und der Mega über USB mit Strom versorgt. Nun habe ich bereits das erste Problem: Wenn ich kein Kabel vom Tiny an den Mega anschließe, sehen die Signale auf dem Oszilloskop aus wie erwartet (Normal.jpg). Sobald ich jedoch den Clock Pin an den Mega anschließe, habe ich auf der Datenleitung plötzlich 0V und die Spannung der Clock reduziert sich ebenfalls auf ein nicht lesbares Maß (gering.jpg). Ein Spannungsfall der Stromversorgung des Tinys ist nicht vorhanden - dort ist alles normal. Ebenso habe ich das gleiche Phänomen, wenn ich den Tiny mit 5V vom Arduino versorge. PullDown oder PullUp Widerstände verwende ich nirgends. Ich würde mich freuen wenn mir jemand helfen kann bzw. mir Artikel zu dem Thema zeigt.
:
Bearbeitet durch User
Dieses Subjekt kein Satz! > Ich möchte mit einem ATTiny44 eine SDKarte mittels SPI ansteuern. > Dazu habe ich auf dem ATTiny44 die tinySPI Bibliothek verwendet. > Für Testzwecke habe ich den SCK Pin an einen Arduino Mega 2650 > angeschlossen (SCK auf Pin 52). Du kannst SCK des ATTiny nicht einfach so mit SCK des ATMega verbinden. Zumindest nicht, ohne vorher(!) einen von beiden als SPI Slave zu konfigurieren. Am Master (bei dir offensichtlich beide) ist SCK ein Ausgang. Für MISO und MOSI gilt sinngemäß das selbe. Da steckt schon im Namen, für welchen Teilnehmer das Ein- bzw. Ausgang ist. > Ich würde mich freuen wenn mir jemand helfen kann bzw. mir Artikel zu > dem Thema zeigt. Jeder Einsteigerartikel (sogar das Datenblatt des µC) enthält ein Diagramm, das die Datenrichtung auf SCK, MISO und MOSI veranschaulicht.
Sebastian P. schrieb: > gering.jpg > normal.jpg Bei deinem Oszi scheint es sich um ein DSO zu handeln. Normalerweise gibt es dort eine Möglichkeit, den Bildschirminhalt in einer Datei abzulegen (oft "Save" o.ä). Das vermeidet Spiegelungen und Verzerrungen
Vielen Dank für deine Antwort. Tatsächlich habe ich vergessen das entsprechende Register des Megas als Slave zu konfigurieren. Sodass sich mein Problem gelöst hat. Ich wusste zwar, dass man einen als Master und den anderen als Slave definieren muss, wusste aber nicht, dass sich das Spannungsmuster derartig verändert, wenn die Pins nicht richtig definiert sind. Vielen Dank!
Sebastian P. schrieb: > Sobald ich jedoch den Clock Pin an den Mega anschließe, habe ich auf der > Datenleitung plötzlich 0V und die Spannung der Clock reduziert sich > ebenfalls auf ein nicht lesbares Maß (gering.jpg). Das ist eine ordinäre Buskollision: ein Teilnehmer treibt High, der Andere treibt Low auf die selbe Leitung. Du musst dich nochmal einarbeiten, wie SPI funktioniert und wann wer Zugriff auf die Busleitungen hat und wie dieser Zugriff erteilt und signalisiert wird. Als Tipp: nimm für die Verbindung zwischen 2 uC nicht SPI, sondern eine simple asynchrone serielle Schnitte. Denn beim SPI muss der Slave immer "rechtzeitig" und dank oft ungünstig implementiertem Protokoll vor allem "schnell" reagieren.
:
Bearbeitet durch Moderator
Außerdem darf man nicht einfach einen 5V Ausgang mit einem Eingang verbinden, der nur mit 3,3V versorgt wird. Siehe "Absolute Maximum Ratings" im Datenblatt.
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.