Kennt jemand eine Situation, in der der CAN-Bus 600us lang auf low gelegt wird? Der Bus wird mit 250 kbit/s betrieben. Ich sehe diese Situation sporadisch, interessanterweise immer wieder genau 600us lang, kann mir aber noch keinen Reim darauf machen, wer dies erzeugt und warum... Es hängen viele (~ 10-20?) Devices am Bus, auch unterschiedliche uC, und ich kann angeschlossene Teilnehmer nicht einfach vom Bus trennen, um zu sehen, wer diese Situation erzeugt. Vielleicht eine Idee, wie man dies noch eingrenzen kann?
Definiere bitte "CAN Bus ist low". Der Buspegel (für highspeed CAN) ist entweder rezessiv (CANH-CANL ~0V) oder dominant (CANH-CANL > ~2V).
Sergej schrieb: > immer wieder genau 600us lang Der "TXD dominant time-out" liegt z.B. beim TJA1050 in diesem Bereich. Irgendein Treiber verhindert, dass der angeschlossene Controller länger als 600µs lang low (dominant) sendet. S.E. schrieb: > Definiere bitte "CAN Bus ist low" Wenn TX = LOW, macht der Transceiver DOMIANT draus. Was soll er da definieren?
:
Bearbeitet durch User
Torsten C. schrieb: > Wenn TX = LOW, macht der Transceiver DOMIANT draus. > Was soll er da definieren? Was der Transceiver daraus macht, ist eine andere Frage. CAN-BUS == LOW gibt es einfach nicht. Entweder dominant oder recessive.
Marc V. schrieb: > CAN-BUS == LOW gibt es einfach nicht. > Entweder dominant oder recessive. Naja, eine 0 ist dominant, eine 1 rezessiv. Und man kann umgangssprachlich zur 0 auch mal LOW sagen. So fehlertolerant darf man schon sein...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Naja, eine 0 ist dominant, eine 1 rezessiv. Und man kann > umgangssprachlich zur 0 auch mal LOW sagen. So fehlertolerant darf man > schon sein... Selbstverstandlich. Nur ist bei CAN rezessiv in etwa als CANH == CANL == VCC/2 definiert, dominant als (CANH - CANL) >= 1.5V also auch nicht 0. Aber das ist Haarspalterei, wir alle wissen was er sagen wollte.
Ich hatte hinter einem CAN-Transceiver gemessen und dort war CAN-RD für 600us auf low. Laut Datenblatt ist der CAN-Bus-Zustand dann DOMINANT.
Sergej schrieb: > Ich hatte hinter einem CAN-Transceiver gemessen > und dort war CAN-RD für 600us auf low. > Laut Datenblatt ist der CAN-Bus-Zustand dann DOMINANT. So, dann gehst Du Gerät für Gerät durch und misst immer an CAN-TX und kannst dadurch feststellen, wer der Verursacher ist. fchk
Frank K. schrieb: > So, dann gehst Du Gerät für Gerät durch und misst immer an CAN-TX und > kannst dadurch feststellen, wer der Verursacher ist. Dies ist leider leichter gesagt wie getan, da das Signal nur für kurze Zeit anliegt (nicht permanent) und die anderen CAN-Transceiver nur schwer erreichbar und kontaktierbar sind...
Sergej schrieb: > Es hängen viele (~ 10-20?) Devices am Bus … > Vielleicht eine Idee, wie man dies noch eingrenzen kann? Entweder 1) Alle abziehen und einen nach dem anderen wieder anschließen, bis die 600µs auftauchen. Oder 2) Einen nach dem anderen abziehen, bis die 600µs verschwinden. Aber die Antwort ist so trivial, dass Du sicher auch schon selbst drauf gekommen bist. Was spricht dagegen?
:
Bearbeitet durch User
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.