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?
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?
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?
Dann ist entweder die Verbindung TransceiverRX -> MCP2515 unterbrochen oder der Transceiver selbst platt/falsch beschaltet oder der Bus kurzgeschlossen.
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.
Doch, er bekommt jedes einzelne Bit auch zurück. Und wenn was nicht stimmt wird abgebrochen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.