AT90CAN mit internem Oszillator

Gast #1196838
Lesenswert?

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
#1197227
Lesenswert?

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
Gast #1197263
Lesenswert?

> 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.
#1197348
Lesenswert?

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
Gast #1197685
Lesenswert?

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
Gast #1197898
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren