Forum: Mikrocontroller und Digitale Elektronik Canbus: Ozziloskop Signale einzelner Teilnehmer


von Josef (Gast)


Lesenswert?

Hallo,

im Orginale versuche ich ein AIS-Tranceiver ( em-Track) mittels NMEA 
2000 Netzwerk an einen Banana Pi zu verbinden.
NMEA2000 ist m.W. ein Canbus mit 250 KB/s


Meine Probleme:
Ich habe kein laufendes Netzwerk und bin nicht sicher, ob überhaupt 1 
oder beide Teilnehmer funktioneren, da mir jegliche Referenz fehlt.


So habe ich mein Oszi genommen:

Ich sehe auf keinem der Verbindung die richtigen Signalpegel.
Und weiss ich, besser: glaube ich zu wissen: Wenn der Sender keine Ack 
bekommt, hört er mit dem Sendebetrieb auf.
Kann dies der Grund für die nicht vorhandenen Pegel sein?? Dass der 
"Sender" schon abgebrochen hat??

Messung AIS-Gerät: CanL und CanH gegen GND. Wobei GND = NET-C ??
Oder ist NET-C  "nur" das Bezugspotential für NET-S (= 12V Versorgung 
???
Auch gegen shield sehe ich nichts.

Messung Controller am BPI: Versuche hier mit dem Tastkopf  CanL gegen 
CanH zu messen. Habe keine Differenztastkopf!
Denke, der Potentialunterschied zwischen den Leitungen sollte sichtbar 
sein.Oder ?

Vielen Dank für Hinweise und Unterstützung.

von Rudolph (Gast)


Lesenswert?

Hast Du die 120 Ohm Terminierung mit drauf?
Eigentlich soll das sogar zwei mal terminiert werden, man soll im 
abgeschaltetem Zustand so um die 60 Ohm zwischen den Leitungen messen 
können.

Für ein kurzes Ende auf dem Tisch zwischen zwei Teilnehmern reicht 
irgendwo ein 120 Ohm Widerstand zwischen den Bus-Leitungen aus.

Und dann einfach zwischen GND und CAN-L und/oder CAN-H messen.

In der Wikipedia steht jetzt auch nicht, ob das HighSpeed oder LowSpeed 
oder gleich ganz was anderes ist, nur, dass NMEA2000 auf CAN basiert und 
mit 250 kbit/s arbeitet.
Das "CAN_Low" eine Spannung von -2,5V haben soll passt allerdings nicht 
zum normalen CAN.

von Josef (Gast)


Lesenswert?

Danke für die schnelle Antwort.


habe 1x 60Ohm.
Meine Installation besteht aus 2m Kabel mit Stecker am AIS <-> 
Lüsterklemme mit Widerstand, <-> 1m Kabel mit Schraubanschluss am  BPI 
Controller.
Fazit Widerstand ist drin.!????

2,5V   verstehe den Wert jetzt nicht.   Wo, Wie ?

>>  wiki:
>>J1939 sowie die Erweiterungen NMEA2000 und ISOBUS
>>J1939 ist ein auf CAN basierendes Protokoll im Nutzfahrzeugbereich. Es wird von 
der Society of Automotive Engineers (SAE) gepflegt. Eine Einführung in J1939 
findet sich in Application Note Introduction J1939[6]
>>NMEA 2000 ist eine Erweiterung von SAE J1939 für den maritimen Bereich. Das 
Protokoll der NMEA-Organisation breitet sich zunehmend aus. Vorgänger ist NMEA 
0183.


Danach ist NMEA2000 = Canbus (höheres Protokoll?)

Was ich aber gemessen habe, ist ein  einzelner Teilnehmer. Frage mich, 
wie lange, wie oft er senden soll/muss, wenn er keine Ack bekommt.
Ziel ist die Überprüfung der einzelnen Komponenten. >_ Kabel defekt, 
Stecker defekt, falsch angeschlossen.

Mein Plan:
1.) Pegel jedes einzelnen Teilnehmers abgetrennt von allem prüfen
2.) Verkabeln
3.) Gesamter Bus messen

So dachte ich, ich würde die Pegel für jeden Teilnehmer separiert 
betrachten können. Zumindest bis er den Sendebetrieb einstellt, weil 
kein Ack kommt. Nur wann ist das??

von asdfgh (Gast)


Lesenswert?

Josef schrieb:
> Danach ist NMEA2000 = Canbus (höheres Protokoll?)

NMEA2000 ist ein Protokoll das seine Nutzdaten mittels CAN frames 
transportiert soweit ich das sehe, ja. Oder worauf zielte diese Frage 
ab?

NMEA0183 im Gegensatz dazu verwendet z.B. UART als darunterliegendes 
Transport-Protokoll.


> Frage mich, wie lange, wie oft er senden soll/muss, wenn er keine Ack bekommt.

Diese und andere Fragen sollten im Datenblatt zu deinem konkreten 
NMEA2000 Device beantwortet werden nehmen ich an.

Übrigens, mit ACK meinst du hier was genau? Das "ACK slot" Feld eines 
CAN-Frames? Eine andere Art ACK-Mechanismus aus NMEA2000? Oder ganz was 
anderes?

Die CAN-Details sind in Wikipedia ganz gut beschrieben:
https://en.wikipedia.org/wiki/Controller_Area_Network#Frames

Du kannst natürlich auch in den(die) Standard(s) reinschauen für mehr 
Details.

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.