Forum: Mikrocontroller und Digitale Elektronik STM32 Can Bus Raspi


von Peter H. (peter_hilleb)


Lesenswert?

Servus,

ich habe 2 Raspis, beide mit einem MCP2515 und MCP2551 verbunden,

Dann noch einen STM32 F103 mit MCP2551 verbunden.

Alle 3 hängen über ein Kabel zusammen. Die sollten doch eigentlich 
miteinander reden können?

Im Moment reden die beiden Raspi miteinander, vom STM kommt nichts bei 
den Raspis an...

Bitrate beim STM habe ich mittels einer hier im Forum gefunden Excel 
Tabelle auf 500000 eingestellt, die Raspi ebenso.

Wenn ich beim STM32 den Loopback einschalte kommen die Pakete auch bei 
ihm selbst wieder an, also gehe ich davon aus, dass der Code 
funktioniert.

Hat jemand eine Idee was man da falsch machen kann?

;-) Ich weiß schon, jede Menge ;-)

Danke wenn jemand einen Tipp hat!

von Harry L. (mysth)


Lesenswert?


von tinCAN (Gast)


Lesenswert?

Tut sich etwas auf CAN_Tx? (zwischen stm und mcp)

von Peter H. (peter_hilleb)


Lesenswert?

Ja, wenn ich das oszi hinter den MCP klemme geht sieht es schon so aus 
als ob er can Nachrichten verschickt...

Vielleicht kann der Raspi nichts damit anfangen und nimmt sie nicht 
an...

von tinCAN (Gast)


Lesenswert?

und CAN_Rx ist auch OK?

Dann schau dir Bitreite auf dem Oszi genau an - stimmt die?

Welche Fehler Bits sind im stm gesetzt:
Beim (versuchten) senden?
Beim empfangen?

von Peter H. (peter_hilleb)


Lesenswert?

Ok, der Fehler ist gefunden.

Es lag an den Einstellungen beim Raspi, mit Hilfe des Oszis war bald 
herausgefunden bei welchem Teilnehmer die Bitrate nicht stimmt.

Da im Internet einiges an Informationen bzgl des MCP2515 und MCP2551 zu 
finden ist, das (bei mir) nicht funktioniert hat hier meine 
/boot/config.txt

dtparam=spi=on
dtoverlay=mcp2515-can0
dtparam=oscillator=5000000
dtparam=interrupt=25
dtparam=spimaxfrequency=1000000
dtoverlay=spi-bcm2835-overlay
dtoverlay=spi-dma
dtdebug=on

Bei einem RPI 3B mit folgendem Kernel

Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 
armv7l GNU/Linux

5Mhz Quarts und 10KBit (einzustellen in der /etc/network/interfaces)

: Bearbeitet durch User
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.