nur 1.8V an SPI_CLK_PIN

Hallo liebe Gemeinde,

ich nutze ein Nano IOT und mir ist folgendes Problem aufgefallen.

Wenn ich den CLK-Pin(Pin13) als SPI_CLK ansteuere, gibt dieser nur circa 1.8V raus.

Steuere ich den Pin einfach selbst an z.b. mit einer Blinkfunktion im 1Hz-500kHz Bereich dann sind die gewohnten 2.8-3.3V vorhanden.

die Schaltung soll via SPI mit einem CAN-Modul kommunizieren, zwischen CAN_Modul und Arduino ist ein Level-Converter geschaltet.

Ich kann mir nicht erklären warum im SPI-Modus nur circa 1.8Volt erzeugt werden. Dadurch funktioniert die Kommunikation natürlich nicht.

beste Grüße aus Hamburg

(deleted)

ich dachte eigentlich das das setzen als OUTPUT von der SPI-LIB übernommen wird. habe es gerade aber auch mal ausprobiert. kein erfolg. soll der Pin als CLK vom SPI genutzt werden kommen 1.8V raus.

auf dem Oszi sieht das signal eigentlich ok aus, allerdings wie erwähnt zu klein.

Igor_T5:
ich dachte eigentlich das das setzen als OUTPUT von der SPI-LIB übernommen wird.
....

Ja, das stimmt. Da musst du nix extra machen.

Was für Levelshifter verwendest du ?

Diese Levelshifter verwende ich.

aber ich glaube nicht das es daran liegt, da auch ohne Levelshifter das ausgangssignal nur bei 1.8V liegt

als beschreibung steht bei den Levelshiftern das sie für I2C sind, ich war davon ausgegangen das sie dann auch SPI können sollten, falsche annahme ?

Igor_T5:
als beschreibung steht bei den Levelshiftern das sie für I2C sind, ich war davon ausgegangen das sie dann auch SPI können sollten, falsche annahme ?

Richtig, der ist für I2C und nicht direkt für SPI geeignet.

Nimm einen CD4050 (IC), der ist bestens dafür geeignet.

Dein Nano IOT ist mir nicht bekannt!

Wenn ich den CLK-Pin(Pin13) als SPI_CLK ansteuere, gibt dieser nur circa 1.8V raus.

Wenn SPI in den Slave Mode fällt, ist SPI_CLK ein Eingang, und dann sind auch die 1,8V möglich.

Bei den AVR Arduinos ist es nötig den SS Pin auf High zu ziehen, oder ihn als Ausgang zu definieren, damit die SPI Einheit dauerhaft im Master Mode bleibt.
Eine gerne genommene Stolperfalle.
So auch hier?

HotSystems:
Richtig, der ist für I2C und nicht direkt für SPI geeignet.

Nimm einen CD4050 (IC), der ist bestens dafür geeignet.

Danke für den Hinweiß, CD4050 ist bestellt.

combie:
Dein Nano IOT ist mir nicht bekannt!

Arduino Nano 33 IOT,

combie:
Wenn SPI in den Slave Mode fällt, ist SPI_CLK ein Eingang, und dann sind auch die 1,8V möglich.

Bei den AVR Arduinos ist es nötig den SS Pin auf High zu ziehen, oder ihn als Ausgang zu definieren, damit die SPI Einheit dauerhaft im Master Mode bleibt.
Eine gerne genommene Stolperfalle.
So auch hier?

der SPI_CLK-PIN erzeugt die 1.8V Pegel ja selbst wenn er im Master-mode die Peripherie ansteuern will. Ich bin mir nicht sicher ob ich deine Aussage richtig verstanden habe, aber damit dürfte das dann doch kein Problem sein?!?

ich nutze die Bibliothek schon längere Zeit auf Arduino-Uno´s, da gab es solche Probleme nie. Neu ist jetzt der Controller, Nano 33 IOT und die Tatsache das zwischen CAN_modul und Arduino ein Levelshifter ist. Ich denke die Fehlersuche hat nichts mit der Software zutun. aber aber natürlich für alle Möglichkeiten offen

beste Grüße

der SPI_CLK-PIN erzeugt die 1.8V Pegel ja selbst wenn er im Master-mode die Peripherie ansteuern will. Ich bin mir nicht sicher ob ich deine Aussage richtig verstanden habe, aber damit dürfte das dann doch kein Problem sein?!?

Wie gesagt, meine Aussage ist für dein Board ohne Gewähr!

Aber:
Bei den AVRs geht die SPI Einheit NICHT in den Master Mode, wenn der Pin nicht High oder ein Output ist.
Dann hättest du genau den Effekt.
SPI tuts nicht und der CLK Pin hat irgendeine Spannung.

ich nutze die Bibliothek schon längere Zeit auf Arduino-Uno´s, da gab es solche Probleme nie.

Entweder Glück gehabt, oder Pin 10 als Ausgang verwendet.

Wenn du mir nicht glaubst:
Lese die Arduino SPI Doku.
Lese das AVR Datenblatt.

Denen glaubst du auch nicht?
Dann lese die SAM21 Doku, denn die ist hier maßgeblich.
Da drin steht die für dich relevante Wahrheit.
Der glaubst du auch nicht?

Tja....
Dann weiß ich auch nicht, was ich dazu noch sagen soll.