Problem mit CAN - MCP2515

Gast #313210
Lesenswert?

Hallo,

ich hab ein Problem mit meinem CAN-Controller MCP2515. Der hängt an
einem AVR AT90S2313 und hat als Bustreiber noch einen 82C250 an seiner
Seite. Das Ansprechen des MCPs vom AVR aus funktioniert wohl, die
Freuqenz am Taktausgang des MCPs kann ich zumindest verändern. Wenn ich
versuche ein Telegramm via CAN zu senden, passiert folgendes:

Der MCP legt ein Bit an den Bustreiber, lässt es für 8us anliegen und
bricht dann ab. Noch kurzer Zeit versucht er das ganze nochmal.
Datenrate ist auf 125kHz eingestellt. Wenn ich nun am MCP die Pins
CANRX und CANTX verbinde, dann sendet er das Datentelegramm wie
gewünscht komplett. Woran könnte das liegen ?

Was muss denn alles mindestens vorhanden sein damit ich ein
Datentelegramm schicken kann ? Müssen noch andere Geräte mit der
richtigen Bitrate an dem Bus hängen ?

Danke an alle Helfer....

Gruß
Philipp
Gast #313212
Lesenswert?

Okay, danke erstmal für deine Antwort, werde das mal testen wenn ich den
Bus korrekt abgeschlossen habe. Nen zweiten Teilnehmer brauch ich ja nur
damit die gesendete Nachricht bestätigt werden kann, oder ? Wenn der
nicht vorhanden ist wird die Nachricht ja aber auf jeden Fall nach nem
Reset mal gesendet, oder ? Die müsste ich ja dann auf dem Bus sehen
können...
Gast #313214
Lesenswert?

Hallo Zusammen,

hab jetzt nochmal ein bissle getestet:

Konfiguration:

Direkt hinter dem Bustreiber 120 Ohm über CANH und CANL, dann ein paar
Meter Kabel, nochmals mit 120 Ohm abgeschlossen. Bustreiber aus der
Fassung gezogen und 60 Ohm gemessen. Sollte also passen. Also
Bustreiber wieder rein und eingeschaltet.

Der MCP versucht ein CAN Frame zu senden und bricht sofort ab. (Ich seh
nur das ein Flag im Error-Register gesetzt ist). Auf dem Bus sieht man
gar nichts, direkt am MCP sieht man auf der Leitung zum Bustreiber
einen ~136us langen Impuls. Anschließend sieht mann dann nur noch die
8us dauernden Impulse, die dann allerdings regelmäßig.

Wenn ich nun wieder am MCP RX und TX brücke, sendet er auf der Leitung
zum Bustreiber den kompletten Frame, auf dem CAN-Bus sieht man hingegen
nichts. Der Bus hat einen Pegel von ~10mV. Und da ändert sich auch
nichts. Ich habe auch schon einen 2. 82C250 versucht, allerdings mit
dem gleichen Ergebnis. Schade eigentlich :-(

Kann sich da jemand einen Reim darauf machen bzw. mir sagen was ich
falsch mache ?

Danke....

Gruß
Philipp
Gast #313218
Lesenswert?

Ich programiere in Bascom.
Ich habe herausgefunden dass es besser ist den MCP2510 zu verwenden
(wollte eigentlich den SJA1000 verwenden, da ich Ihn kenne)
Nun habe ich absolut nichts im Web gefunden wie ich einen MSP2510 in
BASCOM anspreche.
Nun meine Frage: Wie spreche ich den MCP2515 an ??
Geht es in BASCOM oder muss ich eine neue Programiersprache lernen ??

Danke Manfred
Gast #313219
Lesenswert?

>Geht es in BASCOM oder muss ich eine neue Programiersprache lernen ??

Sollte auch gehen. IMHO stösst man bei BASCOM aber auch relativ schnell
an die Grenzen.

Den MCP2515 spricht man über die SPI an. Das sollte BASCOM unterstützen
(sogar als SOFT-SPI-Baustein...).
Vielleicht solltest du dich erst mal mit BASCOM (oder einer anderen
Programmiersprache) ansich befassen, indem du LEDs blinken lässt,
Taster einliest etc.
So lernt man die Sprache kennen. Den CAN-Knoten kannst du dann im
weiteren Verlauf bauen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren