Forum: Mikrocontroller und Digitale Elektronik MCP2515 Oszillator und SPI-Takt


von Olli Z. (z80freak)


Lesenswert?

Ich glaube das der SCK, welcher bei mir von einem Atmega kommt völlig 
unabhängig vom verwendeten Quarz des MCP ist, wollte hier aber nochmal 
nachfragen ob das auch stimmt.

Soweit ich das aus dem Datenblatt entnehmen konnte, ist der am MCP2515 
angeschlossene Quarz (oder RC-Glied) rein für die Taktgenerierung am 
CAN-Bus zuständig. D.H. egal ob ich da einen 8, 16 oder 20 MHz Quarz 
dran hab, hat das keinen Einfluss auf die SPI-CLK.

von Stefan K. (stefan64)


Lesenswert?

Ja.
Die SPI-CLK wird ja auch vom mc generiert.

Die einzige Abhängigkeit besteht darin, dass die SPI-CLK nicht höher als 
1/n des MCP2515 sein darf (n = 2, 4 oder 8, bitte selber nachlesen).

Viele Grüße, Stefan

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan K. schrieb:
> bitte selber nachlesen
Ich finde da keinerlei Abhängigkeiten im Datenblatt. Für mich sieht das 
tatsächlich auch so aus, als ob die beiden Interfaces komplett asynchron 
sind.

: Bearbeitet durch Moderator
von WR (Gast)


Lesenswert?

Olli Z. schrieb:
> Ich glaube das der SCK, welcher bei mir von einem Atmega kommt
> völlig
> unabhängig vom verwendeten Quarz des MCP ist, wollte hier aber nochmal
> nachfragen ob das auch stimmt.
>
> Soweit ich das aus dem Datenblatt entnehmen konnte, ist der am MCP2515
> angeschlossene Quarz (oder RC-Glied) rein für die Taktgenerierung am
> CAN-Bus zuständig. D.H. egal ob ich da einen 8, 16 oder 20 MHz Quarz
> dran hab, hat das keinen Einfluss auf die SPI-CLK.

Hallo Olli,

der Quarz ist für die interne Takterzeugung des MCP 2515 zuständig
und hat nichts mit dem SPI-Takt am SCL-Eingang zu tun. Die beiden
Taktquellen arbeiten unabhängig voneinander.

 Der SPI-Takt wird vom uC erzeugt und darf maximal 10Mhz betragen.

Gruss Werner

von Olli Z. (z80freak)


Lesenswert?

Vielen herzlichen Dank für die zahlreichen Antworten!
Ich denke da sich hier alle einige sind (was ja echt selten vorkommt 
hier im Forum ;-) sollte das stimmen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Man kann sie natürlich trotzdem sozusagen synchron betreiben mit nur 
einem Quarz. Habe beides schon verwendet:
-Quarz am ATMega, XTAL2 an den MCP
-Quarz am MCP, clkout vom MCP2515 ist Takt für den ATMega

Braucht man hohe Standardbaudraten für die serielle Schnittstelle, 
braucht man dann 2 Quarze.

von Harry L. (mysth)


Lesenswert?

H.Joachim S. schrieb:
> -Quarz am MCP, clkout vom MCP2515 ist Takt für den ATMega

Bedarf aber zusätzlicher Initialisierung, da der Clk nach dem Reset des 
MCP2515 zunächst durch 8 geteilt wir.

von Stefan K. (stefan64)


Lesenswert?

Lothar M. schrieb:
> Ich finde da keinerlei Abhängigkeiten im Datenblatt. Für mich sieht das
> tatsächlich auch so aus, als ob die beiden Interfaces komplett asynchron
> sind.

Stimmt, Du hast Recht.
Ich hatte den Atmega im Kopf, der kann als SPI-Slave max. eine SPI-Clock 
von fosc/4 vertragen.

Viele Grüße, Stefan

von H.Joachim S. (crazyhorse)


Lesenswert?

Harry L. schrieb:
> Bedarf aber zusätzlicher Initialisierung, da der Clk nach dem Reset des
> MCP2515 zunächst durch 8 geteilt wir.

Klar. Aber CANCTRL muss am Ende der init eh geschrieben werden, da kann 
man ohne zusätzlichen Aufwand auch CLKPREx mit schreiben.
Wichtig ist, dass nach reset überhaupt erst mal ein Takt kommt (und das 
tut clkout).

Die Diskussion mit der Taktumschaltung (in meinem Fall 2MHz -> 16MHz) 
hatten wir hier schon mal. Allgemeine Meinung war: nicht so gut. Ich 
konnte aber keinerlei Fehlfunktionen feststellen.
Und ansonsten kann man auch OSC2 als Takt für den AVR nutzen, hat dann 
direkt die Quarzfrequenz.

von Stefan K. (stefan64)


Lesenswert?

H.Joachim S. schrieb:
> Wichtig ist, dass nach reset überhaupt erst mal ein Takt kommt (und das
> tut clkout).

Ich habe das auch mal verwendet, mit einem mulmigen Gefühl, weil der 
clkout auch ausgeschaltet werden kann. In diesem Fall wäre der mc dann 
taktlos. Mir ist aber in > 10 Jahren Betrieb kein Problem damit 
aufgefallen.

Viele Grüße, Stefan

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
Noch kein Account? Hier anmelden.