mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90CAN mit internem Oszillator


Autor: hoopi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael Lehr (Firma: Ingenieurbüro Lehr) (ml-net)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der interne Oszillator macht gerne mal 5 bis 10% Fehler.
Also externer Takt ist Pflicht.

Autor: Harald H. (hhoopi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer sagt, dass die Kalibrierung nur ein einziges Mal stattfinden muss? 
Man könnte sie ja jede Minute durchführen.

Autor: Harald H. (hhoopi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Harald H. (hhoopi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: R. Zahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Harald H. (hhoopi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Harald H. (hhoopi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.