Forum: Mikrocontroller und Digitale Elektronik AT90CAN128 - MCP2515


von CAN-Neuling (Gast)


Lesenswert?

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

von Uwe Bonnes (Gast)


Lesenswert?

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.

von CAN-Neuling (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.