Hallo Kollegen, Kann mir jemand verraten, ob für eine CAN-Übertragung bei 200KBaud der interne 8MHz-Oszillator am AT90CAN32 ausreicht, oder sollte man gleich einen Quarz einsetzen? Danke schon mal. hoopi
der interne Oszillator macht gerne mal 5 bis 10% Fehler. Also externer Takt ist Pflicht.
Hallo Michael, Dachte ich mir schon, ich hoffte noch auf die interne Kalibrierung des RC-Oszillators, die laut Datenblatt ziemlich genau sein soll. Reicht die nicht aus? hhoopi
Gibt es auch Daten auf dem CAN-Bus ohne eine Beteiligung Deines Controllers und werden diese Daten von einem Teilnehmer gesendet, der eine exakte Zeitbasis besitzt? In diesem Falle spricht natürlich nichts dagegen, den CAN RX Pin als normalen Input zu verwenden, mit einem Timer die Bitzeiten zu bestimmen und den internen Oszillator so lange abzustimmen, bis die Bitzeiten den 200kbps entsprechen. Eine Art selbstständige Kalibrierung also. Nach dieser Prozedur aktivierst Du den den CAN-Controller und auf geht's. Tobias
> Eine Art selbstständige Kalibrierung also.
gute Idee - was passiert aber, wenn die Temperatur um z. B. 20°C steigt
oder fällt z. B. bei Einsatz in einem KFZ ?
Otto
Wer sagt, dass die Kalibrierung nur ein einziges Mal stattfinden muss? Man könnte sie ja jede Minute durchführen.
Hallo Tobias, Der Baustein sitzt wahrhaftig im Automotive-Bereich und muss sich mit einem übergeordneten Steuerrechner unterhalten, der Messwerte abfragt. Es geht darum, den abgekündigten SAE81C91 mit Prozessor etc. durch einen einzelnen AT90CAN zu ersetzen. Das mit der Kalibrierung wäre schon interessant, aber ich glaube, das funktioniert nicht, da auch der Timer vom Systemoszillator abhängig ist, daher auch nur falsche Zeiten messen kann. Ich denke, ich werden einen Quarz einsetzen, damit bin ich auf der sicheren Seite und muss mich nicht im Bett wälzen mit Albträumen von ausfallenden Busteilnehmern und folgenden Telefonanrufen. Otto hat schon recht mit der Temperaturdifferenz, die kann in dem Anwendungsfall recht hoch sein. Kann mir vielleicht einer einen SMD-Quarztyp nennen mit 6 MHz und möglichst so klein wie ein Fliegenschiss? Ich finde in dem Frequenzbereich nichts kleineres als 7x5mm. hhoopi
> da auch der Timer vom Systemoszillator abhängig ist, daher auch nur > falsche Zeiten messen kann Gerade das ist ja der Gag an der Sache. Du ermittelst rechnerisch z.B., dass der Timer bei 8 MHz Systemtakt während einer Bitzeit genau bis 1000 zählen müsste. Ist der Zählerstand nachher höher/niedriger, weißt Du, dass der Oszillator zu schnell/langsam läuft und regelst ihn ein wenig nach. Das alles wiederholst Du so lange, bis Dein Timer möglichst genau bis 1000 zählt.
Hallo Tobias, Jetzt, ja, ach so. Ich ermittle also die nötige Frequenzänderung aus den Bus-Signalen, die irgendwann mal eintreffen. Das ist natürlich ein toller Trick. Ich war immer noch auf dem eigenen Rechner zugange. Ich denke, die Kalibrierung muss vielleicht alle paar Minuten mal durchgeführt werden, wenn der Teilnehmer gerade nichts anderes zu tun hat. Ich werde mal näher drüber nachgrübeln. Schönen Dank für den Tipp. hhoopi
Hallo hhoopi die Größe des Quarzes steht in einem direkten Zusammenhang zur Frequenz und somit wird der Quarz auch immer größer, wenn die Frequenz kleiner wird. Einen 6MHz Quarz bekommt man gerade noch in ein Gehäuse mit den Abmessungen 7x5mm, kleiner geht nicht. Oder es kommt ein Resonator in Frage, dann sind kleinere Abmessungen möglich. Falls es um Fragen zu kleinen Quarzgehäusen geht, oder um Fragen zu Quarzen allgemein, dann kann ich gerne helfen. Mit freundlichem Gruß R. Zahn
Hallo R., Vielen Dank für die Erläuterung, ich werde die Platte wohl ein wenig aufräumen müssen, wenn ich mit dem Trick von Tobias nicht hinkomme. Danke nochmal an Alle. hhoopi
Dann verrate uns später mal ob's geklappt hat. Ich könnte mir vorstellen, dass man im laufenden Betrieb zum "Nachkalibrieren" nicht einmal den CAN-Controller abschalten muss. Das PIN-Bit des CAN RX Pins müsste sich ja auch bei aktivem CAN-Controller einlesen lassen. Ich würde übrigens vorzugsweise die Rezessiv-nach-Dominant-Flanken auswerten, da diese aktiv erzeugt werden und somit steiler sind. In der Praxis ist's vermutlich egal.
Hallo Tobias, Werde ich mal versuchen, wenn mir die Zeit nicht davonläuft. Ich hatte jetzt vor, aus eben den Zeitgründen und zur Sicherheit einen Quarz einzusetzen. Aber wie gesagt, interessieren würde mich es auch brennend. hhoopi
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.