Hallo, ich bin gerade dabei mich näher mit CAN zu beschäftigen, ich will einen einfachen CAN-Knoten aufbauen, der in regelmässigen Abständen Daten sendet, dafür will ich einen ATmega32 + MCP2515. Ich habe mir die Codes von microchhip, das Tutorial auf ww.chaos-kreativ.com durchgesehen und meinen Code entsprechend angepasst. Mein Problem ist - wie kann ich kontrollieren, ob mein Atmega+MCP Gespann auch richtig Daten sendet, ohne gleich einen CAN-Analyzer für x Tausend Euro zu kaufen. Meine Idee - ich hab einen AT90CAN128, drauf hab ich von Atmel das CAN-Demo (http://www.atmel.com/dyn/resources/prod_documents/AT90CAN128_demo2_IAR.zip) verwendet - wenn ich es recht verstehe, sollte es empfange Datenpakete über die RS232 ausgeben. Wenn ich Daten über den MCP absetzen möchte, erhalte ich jetzt nur einen 'it_gen' Fehler gemeldet und der MCP meldet in seinem Statusregister einen Übertragungsfehler - der Zähler für fehlerhafte transmits steht auf 128. Schalte ich den MCP auf Loop-Back, erhalte ich zwar keine Übertragungsfehler mehr, dafür aber Receive-Buffer Überläufe - die bekomme ich weg, wenn das entsprechenden Buffer-Overflow Flag lösche schaut's eigentlich gut aus. Daraus schliesse ich, das der MCP prinzipiell tut, aber der AT90CAN die Daten ncht quittiert. Irgendjemand eine Idee, wie ich kontrollieren kann, ob der MCP richtig tut? Vielen Dank
Wie waere es mit einem CAN Bus Adapter fuer den PC? Damit kannst Du mithorchen, ob und was auf dem CAN Bus passiert und am PC auswerten. Eine einfache Moeglichkeit ist der CAN200, http://private.addcom.de/horo/can200/, am Parallelport.
Hallo, vielen Dank für die Anregung, allerdings wollte ich jetzt nicht nocheinmal etwas neues bauen, da ich den AT90CAN sowieso schon gekauft hatte. Ich habe heute morgen noch einmal bei Atmel geschaut, da gibt's eine Lib <http://www.atmel.com/dyn/resources/prod_documents/at90can_lib_3-1.zip> für den AT90CAN, in der ist ein Beispielprogramm namens CAN-Spy (oder so ähnlich) drinnen. Das hab ich jetzt mal an meinen Compiler angepasst und siehe da, auf einmal empfange ich CAN-Pakete. Jetzt weis ich zumindest, dass der MCP tut, da er auch keine Fehlerflags mehr setzt. Stellt sich mir jetzt noch die Frage, ob man dann davon ausgehen kann, ob die ganzen Timings passen (-> der MCP wirds schon richten), oder ob man da noch was messen muss / kann. bye
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.