Forum: Mikrocontroller und Digitale Elektronik Can funktioniert nur 3 Sekunden


von Alex B. (michlm)


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


von Stefan K. (_sk_)


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

von Alex B. (michlm)


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.

von A.K. (Gast)


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.

von Alex B. (michlm)


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.

von Peter D. (peda)


Lesenswert?

Entweder Stacküberlauf oder ein Pointer rennt in den Wald.


Peter

von Gast (Gast)


Lesenswert?

ist der /Reset-Pin gepull-upt ?

von Alex B. (michlm)


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

von Gast (Gast)


Lesenswert?

siehste.. ;-)

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

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.