Baudratentoleranz CAN Bus

Hallo, weiß jemand welche Baudratenanbweichung beim CAN Bus zulässig sind. Ich möchte einen Prozessor von Silabs ehemals Cygnal einsetzen. Der hat einen internen Oszzilator mit einer Abweichung von 2%. Die Frage ist nun ist das OK, oder muß ich doch einen Quarz anschließen ???

mfg Andreas

Reply to
andreas ruetten
Loading thread data ...

Hallo Andreas,

2% iss nich, auf gut deutsch. Soweit ich weiss muessen es 1.5% sein oder noch weniger bei hohen Taktraten. Quarz oder PLL sind aber doch nicht so teuer.

Gruesse, Joerg.

Reply to
Joerg

Joerg schrieb:

Diesmal geht es allein um Größe. Der Quarz ist dann schon fast so groß wie der Microcontroller. Und die wirklich kleinen SMD Quarze sind dann wirklich zu teuer, oder nur in Rollen a 10.000 zu erhalten. Aber wenns nicht geht, dann geht es nicht......

Danke , Andreas Rütten

Reply to
andreas ruetten

Hallo Andreas,

Ich kenne Deinen uC nicht. Aber viele wie etwa der MSP430 laufen mit einem winzig kleinen Uhrenquartz und der Hauptoszillator ist dann in einer Regelschleife daran gekoppelt. Geht so etwas mit Deinem Controller?

Auch andere Quarze bekommt man in einem Gehaeuse, dass zwar so breit und lang ist wie ein Mini Quartz, jedoch nur etwa 3mm hoch. Am besten mal bei einem Hersteller fragen. Bei Euch in Deutschland vielleicht Dr.Steeg & Reuter? In der Eifel gibt es noch einen Hersteller, aber ich habe den Namen vergessen.

Gruesse, Joerg.

Reply to
Joerg

andreas ruetten schrieb:

Es gibt ein Papier zum CAN-Bittiming anbei der Link:

formatting link

Auf S.6 unten ist die Toleranz ausgeführt. Wichtig: die Baudrate! Die erwähnst Du nicht.

2% auf was? Hast Du ein Datenblatt vom Oszillator? Wenn die Abweichung worst-case ist, d.h. Alterung und Temperatur dann solltest Du einmal Regelabweichung anschauen. Der von Dir favorisierte µC besitzt sicher einen Resonator, und bei der Anpassung der CAN-Spec von V1.1 auf V1.2 wollte man eben auch den Einsatz von Resonatoren ermöglichen.

Nö, Du benötigst nicht unbedingt einen Quarz, deswegen mein Dissenz zu den anderen Postings. 2% ist normalerweise eine worst-case Abweichung, wenn Du eine Baudrate von 100 kBaud nutzen kannst (man bedenke, ein CAN-Frame benötigt dann ~ 1,3 ms alleine zur physikalischen Übertragung über den Bus) dann funktioniert der Bus auch mit 2%. Ist Dein Netzwerk single-source mit diesem µC bestückt, wie sieht die Toleranz der anderen CAN-Knoten aus? Du schreibst leider zu wenig über die verknüpfte Anwendung (bspw. Labormeßplatz 2 CAN-Knoten, 2 m Leitungslänge etc.). Beim entsprechendem Setup der Bittimingregister solltest Du einen Bus mit 100 kBaud zum Laufen bekommen. Da Theorie und Praxis beim CAN oft auseinandergehen kannst Du natürlich auch Tests mit 250 kBaud oder 500 kBaud machen, denn 2% sind sicher ein Datenblattwert, oder?

Bitte mehr Details über Deine Anwendung, dann kann man auch präzisere Empfehlungen abgeben.

Reply to
Anastasios Tsitlakidis

Anastasios Tsitlakidis schrieb:

Besten Dank ...

Die steht auch leider noch nicht fest.

Über alles ...

Nein einen internen RC Oszillator

10m 2 Knoten.

Mit dem link von Bosch hast du mir erstmal geholfen. Besten Dank

Andreas

Reply to
andreas ruetten

Um mal eine Zahl in den Raum zu werfen: Im Automobilbereich werden gefordert:

500kbit/s +/- 0,4% 250kBit/s +/- 0,7% 125kbit/s +/- 1,2%
Reply to
Erik Hermann

Erik Hermann schrieb:

Es gibt OEM mit schärferen Vorgaben, für bestimmte Anwendungen (Labormeßplätze etc.) kann man aber sicher auch mal mit 2% experimentieren, wenn man keine anderen µC zur Auswahl hat.

Reply to
Anastasios Tsitlakidis

Ich kenne Deinen Prozessor nicht. Daraus, dass er aber mit 2% Abweichung kommt, schliesse ich aber dass er keinen integrierten CAN Bus Controller hat und Du das Protokoll stattdessen in Software programmierst. In diesem Fall solltest Du einfach ein variables Timing realisieren. Orientiere Dich an den Daten, die Dir geschickt werden (andere Busteilnehmer bzw ACK/NAK Slots falls es keine anderen aktiven Teilnehmer gibt). Fuehre eine Messung durch, und passe daraufhin Deine Sende-Rate an. Die Messung sollte regelmaessig durchgefuehrt werden (am besten kontinuierlich bei jedem empfangenen Paket), da Temperaturschwankungen Deinen internen Oszillator beinflussen.

Marc

Reply to
jetmarc

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.