Forum: Mikrocontroller und Digitale Elektronik MCP2515 CAN Bus Ausgabeproblem


von Stefan N. (nickelodien)


Angehängte Dateien:

Lesenswert?

Hallo!

Zur Umsetzung eines Bussystems würde ich gerne den CAN-Bus und dazu den 
Controller MCP2515 in Verbindung mit einem MCP2551 verwenden.
Die SPI Verbindung zu MCP2515 erfolgt ordnungsgemäß: es können sowohl 
Register beschrieben als auch gelesen werden.

Nachdem die Register geladen und der Sendebefehl erteilt wurde, sind 
mehrere Pegelwechsel auf dem Bus erkennbar, die jedoch vom CAN-Bus 
Standard weit entfernt sind.
Das angehängte Bild zeigt die Aufnahme meines Logicanalyzers bei einer 
Abtastfrequenz von 1MHz. Der Eingang A6 zeigt den Pegel des Pins "TXCAN" 
vom MCP2515.

Um das Rad nicht neu erfinden zu müssen, verwende ich die 
Programmbibliothek und die Hardwarebeschaltung von kreatives-chaos.com.
Software : 
http://www.kreatives-chaos.com/artikel/ansteuerung-eines-mcp2515
Hardware: http://www.kreatives-chaos.com/artikel/can-testboard

Nach einigen Forenbeiträge soll die Software und die Beschaltung auch 
gut funktionieren.
Der einzige Unterschied zur Beschaltung:
Ich verwende für den uC und den MCP2515 einen Quarz mit 3,6864 MHz.

Hatte jemand von Euch auch schon dieses Problem bzw. was könnte Eurer 
Meinung nach der Fehler sein?

von H.Joachim S. (crazyhorse)


Lesenswert?

Hm - mit dem Quarz erreichst du keine der üblichen CAN-Baudraten. D.h. 
niemand ausser was selbst gestricktem wird das verstehen.
Ausserdem: hast du daran gedacht, dass auf jeden Fall min. 1 zweiter 
Knoten dranhängen muss, dami der sendende sein ack bekommt?

von Stefan N. (nickelodien)


Lesenswert?

Ja... ein zweiter hängt mit dran.
Also das gleiche System, aber nur mit der Aufagbe Daten zu empfangen.
Habe auch an den Abschlusswiderstand gedacht.
Aber auch wenn ein zweiter Knoten fehlt, müsste doch das Datenpaket nach 
CAN Standard aussehen. Oder sehe ich das falsch?

von H.Joachim S. (crazyhorse)


Lesenswert?

Kommt das Signal auch am Rx des MCP an?

von Stefan N. (nickelodien)


Lesenswert?

Nein.. am RX-Pin des MCPs kommt das Signal nicht an

von H.Joachim S. (crazyhorse)


Lesenswert?

Dann ist entweder die Verbindung TransceiverRX -> MCP2515 unterbrochen 
oder der Transceiver selbst platt/falsch beschaltet oder der Bus 
kurzgeschlossen.

von Stefan N. (nickelodien)


Lesenswert?

Aber das Paket, das vom MCP gesendet wird, hat doch eigentlich nichts 
mit dem zu tun, was er empfängt? Oder sehe ich das falsch?
Das einzige Problem wäre doch nur, dass er kein Ack bekommt.

von H.Joachim S. (crazyhorse)


Lesenswert?

Doch, er bekommt jedes einzelne Bit auch zurück. Und wenn was nicht 
stimmt wird abgebrochen.

von Stefan N. (nickelodien)


Lesenswert?

Konnte mich seit langem mal wieder mit dem MCP2515 auseinandersetzen und 
hab auch gleich meinen Fehler bzw. meine Fehler entdecken.
Zum einen gab es einen Wackelkontakt auf der RX-Leitung des MCP2515 und 
zum anderen hat das Bit-Timing nicht gepasst. Aber jetzt funktioniert 
alles ordnungsgemäß. Danke Joachim für die Unterstützung!

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.