mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Can funktioniert nur 3 Sekunden


Autor: Michael Müller (michlm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

langsam verzweifle ich wegen meinem Can-Projekt.

Ich habe einen SJA1000 an einen ATmega16 mit einem PCA82C250 
Can-Transeiver.
Die Kommunikation zwischen ATmega16 und SJA1000 funktioniert ohne 
Probleme. Den PCA82C250 habe ich mit RXD/TXD and TX0 und RX0 an den SJA 
angeschlossen. RS liegt auf Masse, Vref ist nicht angeschlossen. Weiter 
habe ich am CanBus noch einen Peak Can-USB über den ich die gesendeten 
Werte am PC auswerte. Der Can-bus ist auf 100Kb/s eingestellt und die 
Can-leitungen sind am Ende mit einem 120 Ohm Widerstand terminiert. Der 
SJA und der Mikrocontroller haben jeweils einen 16Mhz Quarz.
Ich bekomme nach einem Reset von µC und SJA1000 für ca. 3 Sekunden Werte 
am Peak Can-USB angezeigt und dann nichts mehr. Habe schon den PCA82C250 
getauscht und es auch mit einem 30K Widerstand an RS.
Kann mir jemand einen Tip geben woran das liegt? Oder sehe ich den Wald 
vor lauter Bäumen nicht.

Vielen Dank

Michl


Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst bei CAN immer mind. einen Partner, der dem Sender ein Ack 
zurückschickt. Der Peak-CAN-USB zählt wahrscheinlich nicht, vermutlich 
ist er als "listen only" konfiguriert.

Gruß, Stefan

Autor: Michael Müller (michlm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Peak Can-USB ist nicht im Listen-Mode. Hab auch noch einen zweiten 
Can-USB drangehängt und Traffic produziert.
Egal wieviele Nachrichten ich mit dem Atmega16 verschickte (10ms, 50ms, 
500ms), nach 3 Sekunden kommt nix mehr. Der SJA funktioniert ohne 
irgendwelche Mucken. Ich denke das Problem liegt am PCA82C250, nur ich 
weiss nicht wo.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Peak Can-USB ist nicht im Listen-Mode.

Sondern im "Toter Mann" Modus? Ohne Zuhörer funktioniert CAN nicht, weil 
der Sender seinen Frame nicht quittiert kriegt. Erkennbar daran, dass 
der selbe Frame zigmal wiederholt wird.

Autor: Michael Müller (michlm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich innerhalb der 3 Sekunden nur einmal eine Nachricht schicke wird 
diese auch nur einmal gesendet und am Peak USB angezeigt, der Frame 
sollte daher quittiert sein.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entweder Stacküberlauf oder ein Pointer rennt in den Wald.


Peter

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist der /Reset-Pin gepull-upt ?

Autor: Michael Müller (michlm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

dank eurer Hilfe läuft das ganze jetzt. Auch länger als 3 Sekunden ;-) 
Ich habe die ganze Schaltung auf einem Steckbrett aufgebaut und den 
Reset des SJA100 nicht mit VCC versorg. Vielen Dank an Gast. Tja, die 
selbst gemachten Fehler sind die schwersten ;-)

Danke Leute

Gruss
Michl

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehste.. ;-)

genau das war damals auch mein Problem.... scheiss Reset vergessen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.