AT90CAN128 - MCP2515

Gast #544024
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
Gast #544336
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.