Forum: Mikrocontroller und Digitale Elektronik MCP2515 und modifizierter SocketCan treiber


von Sascha S. (sascha_s)


Lesenswert?

Hallo,
ich bin neu hier im Forum, seid bitte gnädig, wenn ich manche sachen 
vielleicht doppelt frage. Hab jetzt seit einer Woche nach dem kommenden 
Problem recherchiert.

Das Setup:
Ich betreibe den MCP2515 an einem modifizierten Pandaboard, genauer 
einem OMAP 4430 Prozessor (http://en.wikipedia.org/wiki/OMAP#OMAP_4).
Das Board läuft mit Ubuntu 11.04.
Die kommunikation zum MCP2515 erfolgt über SPI und einer Interrupt 
Leitung.

Das läuft:
Es laufen alle vom SocketCAN-treiber zur Verfügung gestellten 
Funktionen.
Ich kann senden / empfangen bei unterschiedlichen Datenraten.
Durch eine kleine Modifikation im Treiber bin ich in der Lage die 
Register direkt über SPI auszulesen und zu beschreiben.
Wenn keine keine Daten am Bus anliegen bin ich in der Lage die 
Harwarefilter des MCP2515 zu setzen.


Das Problem:
Leider ist es ja im Realfall so, dass ein Pandaboard mit Ubuntu drauf 
nicht so schnell bootet (hier etwa 20 Sekunden). In der Zeit sind aber 
schon lange Daten auf dem Bus, die es mir verbieten die Hardwarefilter 
zu setzen.
Nach dem Beschreiben der Filterregister versuche ich das Register 0x0F 
wieder in den Normalmode zu setzen. Wenn ich das Register aber auslese 
bekomme ich den Wert 0x60 = Listen-only-mode zurück.

Warum? Und was muss ich tun, damit ich das Register wieder zurück in den 
normalmode bekomme.

Mit freundlichen Grüßen,
Sascha_s

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.