Hallo zusammen, ich möchte ein wenig mit CAN-Bus experimentieren und habe mir dazu ein paar MCP2551 + CAN Treiber MCP2515 besorgt. Als AVR nehm ich dafür Atmega8. Dummerweise hab ich mich ein wenig vertanbei der Bestellung und nun zu wenig Quarze.. (und 7 EUR Versandpauschale für ein paar Cent-Quarze :(.. muss nicht sein wenn nicht unbedingt nötig..) 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? 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) 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. vg, und danke, avlbger
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
Ja ich muss jetzt mal mit einem anfangen.. und mit AVR hab ich wenigstens langsam das Gefühl dass ich mich ein wenig auskenne (zumindest reichts meist für meine Anwendungen) Ich muss gestehen ich wüsste jetzt net mal so genau den Unterschied von PIC zu AVR.. muss ich mal recherchieren wenn Zeit ist :) Danke auch für den Hinweis mit dem zweiten Busteilnehmer, darüber bin ich zum Glück schon im Netz gestolpert so wäre mir dieser Fehler beim Testen zumindest mal nicht passiert :) Dann geh ich das Ganze nun also mal mit verschiedenen Quarzen an und bin gespannt ob ich durchsteige :) Danke und lg, avlbger
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.