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
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.
>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)
"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
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.