www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN: Initialisierung und Synchronization Jump Width (SJW)


Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi und guten morgen!

ich möchte hier gerade zwei Controller über can miteinander verbinden 
was soweit auch ganz gut funktioniert.

Nun weiß ic haber nicht so richtig für was die Synchronization Jump 
Width (SJW) gut ist?

Soweit ich das verstanden habe, gibt dieser Wert an, um wieviele quantas 
die synchronisation springen darf, bezogen auf die baudrate bzw, die 
nominelle Bitzeit.

wenn die beiden controller nun irgendwann asynchron laufen (wg. 
ungenauem Quartz, ect.) dann können sich die Controller um diesen 
SJW-wert wieder einsynchronisieren, richtig?

Warum kann ich den Wert aber dann im Register einstellen? dann ist es 
doch besser ich mach diesen Wert so gross wie möglich, oder?

Mein Problem ist, dass ich nicht weiß was ich da einstellen/definieren 
soll? mach ich lieber einen grossen wert um evt. auftretenden 
verschiebungen auszugleichen oder eher klein weil das auch "irgendeinen" 
Vorteil hat?

Es handelt sich hierbei um einen SJA1000 und einen 82527 welcher ich mit 
250kbaud verbinden möchte

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ganzen Timing-Werte sind m.M.n. für einfache Verbindungen nahezu 
irrelevant. Nur bei großen Netzen mit vielen Teilnehmern, Störungen, 
Reflexionen und Verschleifungen wirken sie sich aus.

"wenn die beiden controller nun irgendwann asynchron laufen (wg.
ungenauem Quartz, ect.) dann können sich die Controller um diesen
SJW-wert wieder einsynchronisieren, richtig?"

Da die Übertragung ja generell asynchron läuft, synchronisiert sie sich 
ja bei jedem Frame neu.
Und dass die Quarze so ungenau sind, dass das Timing innerhalb eines 
Frames davonläuft ...

Nimm die Std-Werte (spicke bei anderen Programmierern), das passt fürs 
Erste.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nimm die Std-Werte (spicke bei anderen Programmierern), das passt fürs
>Erste.

Hi und Danke!
mein Problem ist, dass das so ziemlich mein erstes Programm ist, 
deswegen habe ich nichts zum "spicken" :(

Ich habe aber auch schon bemerkt, dass der Wert keinen Einfluß auf meine 
kommunikation hat. Nicht einmal hier auf dem Basteltisch wo ich die 
beiden Platinen mit "Eisenbahndraht" miteinander verbunden habe und 
alles über ein völlig überfordertes Steckernetzteil gespeist wird :o)

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Da die Übertragung ja generell asynchron läuft, synchronisiert sie sich
ja bei jedem Frame neu.

Sinn und Zweck der SJW ist eine möglichst bitweise Resynchronisation, 
sofern die entsprechenden Flanken im Eingangsdatenstrom existieren. 
Nicht zuletzt deshalb gibt es Stuffbits.

Wähle die SJW einfach als <=TSEG2 und du solltest keine Probleme 
bekommen. Eine größere SJW gibt dem Controller mehr Luft bei 
Baudratenabweichungen zwischen den einzelnen Nodes.

Weiterführende Infos:

http://www.port.de/engl/canprod/sv_req_form.html
http://can-cia.org

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.