Forum: Mikrocontroller und Digitale Elektronik SPI mit CANcontroller MCP2517FD funktioniert nicht


von dost0011 (Gast)


Lesenswert?

Hallo,
ich komme nach langem hin und her nicht mehr weiter:

Ich möchte einen CANController per SPI ansteuern:
Arduino Mega 2560 Rev. 3 --> MCP2517FD click

Jumpers:
VIO 5V
STBY ON
40 MHz
STBY SEL STBY

51 MOSI --> 6 SDI
50 MISO --> 5 SD0
52 SCK --> 4 SCK
53 CS --> 3 CS  inkl. 10kOhm Pullup Widerstand
Die Verbindungen habe ich 1000mal geprüft.

Dann habe ich mir von der Lib "acan2517fd" das Beispiel
"LoopBackDemoArduinoUnoNoInt" runter geladen.

Ich bekomme den Error 1 = kRequestedConfigurationModeTimeOut.

Das passiert, wenn der SPI nicht funktioniert. Dann habe ich mein Osci 
rausgeholt und gesehen, dass alle Pins munter toggeln - nur SDO und MISO 
machen gar nichts. Dauerhaft 0V.

Ich bin total ratlos. Baustein kaputt? Habt ihr eine Idee?

Vielen Dank.

von Günter W. (gw6719)


Lesenswert?

dost0011 schrieb:
> Hallo,
> ich komme nach langem hin und her nicht mehr weiter:
>
> Ich möchte einen CANController per SPI ansteuern:
> Arduino Mega 2560 Rev. 3 --> MCP2517FD click
>
> Jumpers:
> VIO 5V
> STBY ON
> 40 MHz
> STBY SEL STBY
>
> 51 MOSI --> 6 SDI
> 50 MISO --> 5 SD0
> 52 SCK --> 4 SCK
> 53 CS --> 3 CS  inkl. 10kOhm Pullup Widerstand

Woher stammt die Pinbelegung? Im Datenblatt von Microchip sehe ich die 
SPI Signale auf anderen Pins:
13 nCS
12 SDO
11 SDI
10 SCK
https://www.datasheetarchive.com/pdf/download.php?id=2563c3251ea872e33eef2416db1c9361681e46&type=M&term=MCP2517FDHJHA

...aber eigentlich wollte ich fragen, ob an deinem MCP2517 der Takt 
läuft, d.h. hast du an OSC1/OSC2 ein Quarz dran und schwingt das Teil 
auch?

von dost0011 (Gast)


Lesenswert?

Hallo,

die Pinbelegung ist vorgegeben über den SPI Port des Arduino Mega, der 
seinen SPI Port auf den genannten Ports hat.

Mit dem Quartz erwischt du mich ganz kalt. Ich habe keinen Quartz 
angeschlossen, weil ich dachte, das Teil schwingt von alleine. Das muss 
ich jetzt erst mal nachlesen. Danke für den Input...

von Bob (Gast)


Lesenswert?

dost0011 schrieb:
> MCP2517FD click

Ist das jetzt nur Zufall, oder ist damit das Produkt "MCP2517FD click" 
von Mikroe gemeint?
https://www.mikroe.com/mcp2517fd-click

von Stephan D. (dost0011)


Lesenswert?

Hallo, genau dieses Produkt ist gemeint.

von hard werker (Gast)


Lesenswert?

Stephan D. schrieb:
> Hallo, genau dieses Produkt ist gemeint.

Da ist ja ein Quarz auf der Platine drauf, inklusive "passender"
Lastkapazitäten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

dost0011 schrieb:
> dass alle Pins munter toggeln
Toggeln sie auch munter derartig, dass das Timing und die Daten der 
nötigen Signale den Timingdiagrammen im Datenblatt entspricht?

> nur SDO und MISO machen gar nichts
Irgendwie logisch, wenn die miteinander verbunden sind.

von hard werker (Gast)


Angehängte Dateien:

Lesenswert?

hard werker schrieb:
> Da ist ja ein Quarz auf der Platine drauf, inklusive "passender"
> Lastkapazitäten.

Nein, ich muss mir selbst widersprechen, es sind zwei Quarze
inklusive Lastkapazitäten drauf.

von hard werker (Gast)


Lesenswert?

dost0011 schrieb:
> 51 MOSI --> 6 SDI
> 50 MISO --> 5 SD0
> 52 SCK --> 4 SCK
> 53 CS --> 3 CS  inkl. 10kOhm Pullup Widerstand
> Die Verbindungen habe ich 1000mal geprüft.

dost0011 schrieb:
> Baustein kaputt? Habt ihr eine Idee?

Von einer Stromversorgung des Moduls war bisher nie die Rede.
Mit vier Verbindungen kann man zwar ein SPI korrekt anschliessen,
aber damit das Modul arbeitet braucht es mindestens zwei mehr.
Da hilft es auch nicht die vier SPI-Verbindungen tausendmal
zu prüfen ....

von Stephan D. (dost0011)


Lesenswert?

Du hast komplett Recht. Aber ich habe sowohl GND als auch +5V richtig 
beschaltet. Kurzzeitig habe ich auch noch die +3.3V vom Arduino 
zusätlich auf das Board losgelassen. Hat aber nichts geändert.
SD0 ist etwa 0.2V dauerhaft...
Ich bin am verweifeln.

von Gnd (Gast)


Lesenswert?

GND verbunden?

von hard werker (Gast)


Lesenswert?

dost0011 schrieb:
> Dann habe ich mir von der Lib "acan2517fd" das Beispiel
> "LoopBackDemoArduinoUnoNoInt" runter geladen.
>
> Ich bekomme den Error 1 = kRequestedConfigurationModeTimeOut.

Und was ist da in der Source deines Beispiels zu lesen?

//———————————————————————————————————————————————————————————————————
// ACAN2517FD Demo in loopback mode, for Arduino Uno, without INT pin
//———————————————————————————————————————————————————————————————————

Was könnte das für deinen Arduino Mega 2560 Rev. 3 bedeuten?

von dost0011 (Gast)


Lesenswert?

hard werker schrieb:
> Was könnte das für deinen Arduino Mega 2560 Rev. 3 bedeuten?

Dass der INT PIN nicht benötigt wird und dass die Sourcen für einen UNO 
sind. Willst du jetzt darauf hinaus, dass der Mega nicht dafür geeignet 
ist? Der Mega hat den SPI an anderen Pins. Deswegen habe ich den ja auch 
entsprechend anders angeschlossen (siehe oben). Größere Unterschiede 
gibt es ja sonst nicht.

GND ist verbunden.

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.