Stefan L. schrieb:
> Die Überlegung ist nun den MCP an den Quarz (16Mhz) zu hängen und über
> den CLOCKOUT vom MCP den AVR mit Takt zu versorgen. Offenbar liefert der
> MCP aber per default Takt/8. Theoretisch wäre das per SPI änderbar aber
> funktioniert das wenn ich im AVR SPI initialisiere bei Takt/8 und dann
> den MCP auf Takt/1 umstelle? Dann würde die Taktrate beim AVR ja während
> des Betriebs sprunghaft ansteigen... geht sowas gut?
Gesichert ist es nicht. Das Umschalten muss ohne Glitches stattfinden,
d.h. beim Umschalten müssen in jedem Fall die Timingbedingungen
eingehalten werden. Das wäre mit einem digitalen Oszi oder Logicanalyzer
zu prüfen. Hättest Du einen PIC genommen, hättest Du im Betrieb die Takt
umschalten können, d.h. mit dem internen RC Oszillator gestartet und
anschließend auf den externen Takt umgeschaltet. Dann hättest Du aber
ohnehin Deine Probleme nicht gehabt, denn Deinen CAN-Controller gibt es
nämlich für nur unwesentlich mehr Geld auch gleich mit eingebautem PIC
und heißt dann PIC18F26K80 in der Version mit dem meisten Flash.
> Weiters, leider auch keine Info im Netz dazu gefunden, kann mir jemand
> sagen mit welchen Taktfrequenzen CAN überhaupt möglich ist bzw. ob man
> nicht jeden Quarz verwenden kann? Für RS232-Schaltungen nimmt man ja
> normalerweise Baudratenquarze, ist das mit CAN auch so dass man hier
> dann "gerade" Frequenzen nehmen sollte? (Zu dem Ergebnis kam ich
> zumindest mit ein paar Online-Rechnern zur CAN Bitrate)
Es ist wie mit RS232. Prinzipiell funktionieren auch krumme Bitraten,
aber genau wie bei RS232 nur bestimmte Baudraten üblich sind, gibt es
auch bei CAN nur einige wenige gängige Standardbitraten
(125/250/500/1000, im Low-Speed Bereich vielleicht noch 62.5 und 50,
aber das wars dann auch)
> Will ich also in meiner Schaltung CAN und RS232 verwenden, wäre es
> demnach also fast unumgänglich bzw. zumindest sinnvoll zwei Quarze
> einzusetzen oder haut das mit einem Takt auch hin? (Wenn ja, hat wer
> Erfahrungswerte was da funktioniert?) Ich habe 8 Mhz, 16 Mhz, 7,3728 MHz
> und 14,7456 MHz rumliegen.
Dann hänge den 16MHz Quarz an den MCP und den 14.7456MHz Quarz an den
AVR.
Und denke daran: Du musst zwingend mindestens einen definitiv
funktionierenden CAN-Bus Teilnehmer zusätzlich zu Deinem AVR/MCP Board
auf dem Bus haben, denn sonst läuft Dein MCP in einen Bus Error beim
Senden.
fchk