Forum: Mikrocontroller und Digitale Elektronik Acknowledge-Bit beim CAN


von Johannes (Gast)


Lesenswert?

Hallo, ich hatte gestern das Problem (dieses Problem besteht eigentlich 
immer noch), dass ich mit dem CANalyzer nicht auf mein CAN schreiben 
kann (auslesen geht).
Als CAN-Board habe ich zunächst zwei dsPICdem2-Boards von Microchip. 
Wenn ich diese beiden Boards kommunizieren lasse, kann ihc auf dem can 
lesen und schreiben.
Jetzt ist mir die Idee gekommen, dass die Board evtl. kein 
Acknowledge-Bit setzen und daher der CANalyzer nicht schreibt, da er auf 
dieses Bit wartet. Die Boards warten anscheinend nicht darauf.
Jetzt habe ich auch herausgefunden, dass das mit dem Acknowledge-Bit 
keine Software-Angelegenheit, sondern etwas mit der Hardware zu tun hat.
Auf den Boards befinden sich je ein dsPIC30F4011 und ein MCP2551 als 
CAN-Tranceiver.
Jetzt meine Frage, das Acknowledge-Bit muss doch vom PIC gesendet werden 
oder? (da ja hier auch die Maske und Filter drauf sind).
Die zweite Frage, wo kann ich sehen, nachlesen ob der Controller ein 
Acknolege-Bit setzt? Und kann ich das ändern?

Johannes

von Netseal (Gast)


Lesenswert?

Alle Teilnehmer im CAN Netz quittieren den Empfang. Falls die Checksumme 
bei eienm Knoten nicht stimmt, so erkennt das auch der Sender. Das ist 
aber alles typ. in Hardware eingebettet. Die Software bekommt dann nur 
die Information, das es nicht funktioniert hat.

Vielleicht hast du die Baudrate der Mikrocontroller nicht richtig 
gesetzt?
Der Canalyzer kann lauschen, aber die Knoten melden NACK.
Der Canalyzer müsste das melden. -> Error Frames etc.
Sind die Filter auf den Mikrocontrollern richtig gesetzt? Das ist etwas 
verwirrend am Anfang.

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.