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
Der CANbus muss mit 2x 120 Ohm abgeschlossen sein, sonst hört Rx nicht, was Tx sendet. Der Controller meint, er habe die Arbitrierung verloren, und hört deshalb auf zu senden. Du brauchst einen weiteren CAN-Teilnehmer, der ein gesendetes Telegramm aknowledged, sonst wird es immer wieder gesendet.
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...
Nur einen Bustreiber. Einen weiteren Teilnehmern ist nicht erfordelich. Der Bus sollte aber abgeschlossen werden.
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
So, Problem gelöst. Ich hab jetzt noch einen weiteren Bustreiber versucht und mit dem hats dann auch so geklappt wie ich mir das Vorstelle. Au mann, soviel Zeit für nichts. Aber trotzdem danke an alle....
Hallo Ich bin gerade dabei einen Can-Knoten zu bauen. Ich währe sehr dankbar für nähere Info Danke Manfred
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
>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...
Danke für Deine Tips. Ich bin eigentlich schon sehr weit (trtz meiner schlechten Englisch kenntnisse) Led´s Blinken i2c-Bus, LCD auch über i2c, ... kein Problem Aber SPI ist eben total neuland für mich. Danke Manfred
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.