Forum: Mikrocontroller und Digitale Elektronik MCP2515 lässt sich nicht konfigurieren sonder geht in Sleep?


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Ich versuche gerade einen Mikrochip MCP2515 mit einem STM32G0 zu 
programmieren.

Dazu versuche ich - ganz grundlegend - den MCP2515 in den Configuration 
Mode zu setzen. Der STM32 sendet dabei die folgenden Kommandos, siehe 
auch Logic Analyzer Screenshot im Anhang:
1. SPI TX "Write" (0b10)
2. SPI TX "Registeraddresse von CANCTRL" (0b1111)
3. SPI TX "Inhalt von CANCTRL" (0b1000000)

Anschließend wird überprüft, in welchem Status der MCP2515 ist:
4. SPI TX "READ" (0b11)
5. SPI TX "Registeraddresse von CANSTAT" (0b1110)
6. SPI RX "Registerinhalt von CANSTAT" (SOLL 0b100xxxxx, ist 0b0)

Was genau mache ich falsch? Verkabelung sollte passen.
Es sieht so aus, als ob der MCP direkt nach ende der letzten Übertragung 
kurz (~25us) HIGH an MISO anlegt und danach auf "Hochohmig" schaltet? 
Sleep-Mode?

Viele Grüße und danke für eure Hilfe,
Mike

von Harald (Gast)


Lesenswert?

Vergleiche doch mal mit der Bibliothek von „Kreatives Chaos“. Die ist 
eigentlich gut lesbar und funktioniert auch gut:
http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek

von Bastian W. (jackfrost)


Lesenswert?

Hi,

MISO wird hochohmig da CS wieder high wird. Der MCP muss da ja den MISO 
freigeben.

Wenn der MCP2515 im Sleep wäre, dann würdest du als Antwort 0x4x 
bekommen. Aber im oberen Nibble von deiner Antwort ist alles 0.

Hast du mal einen Softwarereset gemacht ? Dann ist er automatisch in 
Configmodus.

Gruß JackFrost

von S. Landolt (Gast)


Lesenswert?

an Mike:
> ... ganz grundlegend ...
Ist das der erste Gehversuch, oder wurden z.B. schon Register 
erfolgreich ausgelesen?
> Verkabelung sollte passen.
Die Botschaft hör ich wohl ...

an Bastian:
> ... im Sleep wäre, dann würdest du als Antwort 0x4x ...
Ich dachte 0x2n?

von Andras H. (kyrk)


Lesenswert?

Was soll das mit der A0? Die Signale gehen nur bis 1V? Ist das so 
gewollt?

von S. Landolt (Gast)


Lesenswert?

> A0? Die Signale
Sieht nach Einstreuung von MOSI und CS aus - merkwürdig.

von Darth Moan (Gast)


Lesenswert?

Andras H. schrieb:
> Was soll das mit der A0? Die Signale gehen nur bis 1V? Ist das so
> gewollt?

Ich würde meinen, dass es das analog 0 Signal seines LA/MSO ist auf das 
er das CS gelegt hat um den analogen Spannungsverlauf messen zu können.

von Darth Moan (Gast)


Lesenswert?

Darth Moan schrieb:
> Ich würde meinen, dass es das analog 0 Signal seines LA/MSO ist auf das
> er das CS gelegt hat um den analogen Spannungsverlauf messen zu können.

Ich mmeinte natürlich MISO! nicht CS. Es ist zu warm.

von S. Landolt (Gast)


Lesenswert?

> natürlich MISO
So steht's links nebendran.
Und sollte ja vom MCP2515 gesteuert werden, was aber offensichtlich 
nicht der Fall ist - es lassen sich folglich schonmal drei Möglichkeiten 
vermuten:
- MISO ist nicht am MCP2515 angeschlossen
- der MCP2515 sieht das /CS nicht
- /RESET liegt nicht auf Vdd

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.