Forum: Mikrocontroller und Digitale Elektronik Wieder mal Oszillator-Verständnisfrage


von Ithamar G. (antimon)


Lesenswert?

Hallo zusammen,

nachdem längeres Suchen im Forum nicht weitergeholfen hat, muss ich
doch meine Frage posten:

Kann ich den internen Oszillator für externe Bausteine verwenden? Laut
Datenblatt ist XTAL1 ja der Eingang und XTAL2 der Ausgang, der an
weitere Bausteine angeschlossen werden kann - gilt das nur wenn der
Eingang beschalten ist? Oder kann ich mit dem internen Oszillator auch
externe Bausteine ansteuern?

Und nochwas, da der interne ja ziemlich ungenau ist und für serielle
Verbindungen nicht geeignet ist: Ich möchte den CAN-Controller MCP2515
mit einem ATTiny2313 verbinden und möglichst viel Platz einsparen.
Falls ich den 2515 an den interen Takt anschliessen kann, langt das für
den CAN-Betrieb bei 500 kbaud? Oder ist der Takt dafür zu ungenau?

Falls es nicht geht, verbinde ich besser den Oszillator mit dem
CAN-Controller und dessen Taktausgang mit dem Tiny oder umgekehrt? Oder
ist das egal?

Sorry für die vermutlich mittlerweile nervende Frage - aber zu dem
Thema hab ich durch die Suche nix gefunden :(

von Ithamar G. (antimon)


Lesenswert?

Also habe ich das richtig verstanden? Ich brauche bei einem Quarz beide
Pins (XTAL1 und XTAL2) und kann dann aber nicht einen als Ausgang
nehmen und an den anderen IC weiterleiten, dafür brauche ich einen
Oszillator, dessen Ausgang an XTAL1 geht und von XTAL2 geht der Takt
weiter zum nächsten Chip?

Wie ist das mit dem Takt für serielle Verbindungen? Es heisst für eine
stabile Datenübertragung braucht man einen "krummen" Takt, kann ich
den irgendwie extra erzeugen, den internen nehmen oder aus den
geplanten 8Mhz ableiten?

Ich bin total verwirrt, was die ganzen Takte anbelangt und hoffe dass
mir jemand Licht ins Dunkel bringen kann...

von A.K. (Gast)


Lesenswert?

Beim 2515 fällt mir eher der umgekehrte Fall ein. Immerhin hat der für
genau solche Fälle einen eigenen Takt-Ausgang. Also Quarz an den 2515
und dessen Taktausgang den Tiny.

Der Ausgang vom 2515 läuft zwar mit OSZ/4 an, ist aber
umprogrammierbar.

von Unbkannter (Gast)


Lesenswert?

Du kannst das Quarz-Signal bei den meisten Controllern abgreifen, musst
aber praktisch immer das Signal sofort mit einem Schmitt-Triger puffern
das das Signal in der Regel sehr empfindlich ist.

Wenn Du das Clock-Signal an mehrer andere Bausteine verteilen musst,
baut man keine Kette sondern das Taktsignal wird nach dem Puffer
natürlich parallel verteilt.

Taktfrequenzen von einigen bis zig MHz zu verteilen ist an und für sich
kein Problem, kann aber eine absolute Falle für Anfänger werden.

von Ithamar G. (antimon)


Lesenswert?

Der ATTiny hat doch auch nen Taktausgang, ist das was anderes als der
des 2515?

Das Puffern klingt einleuchtend, aber wozu ist dann der Ausgang da -
ich dachte gerade für solche Fälle...?

Aber beide ICs sollten doch an den gleichen Takt angeschlossen werden,
wenn ich sie durch die ISP-Schnittstelle verbinde oder? Oder funzt das
auch wenn beide unterschiedlichen Takt haben?

Im Datenblatt des 2515 gibt es ein Beispiel für die Taktverteilung mit
einem 74AC04, allerdings habe ich nur 74HC04 und 74HCT04 da - die ich
vermutlich nicht verwenden kann. Oder doch?

Lieber wärs mir aber ohne weiterem Logikbaustein, der braucht nur
Platz...

von A.K. (Gast)


Lesenswert?

Der MCP2515 hat neben den Quarzanschlüssen noch einen Ausgang CLKOUT, an
dem, wenn man nichts dagegen tut, ein gepufferter Takt mit Quarz/4
anliegt. Programmierbar auch auf Q/2 und Q/1.

von Ithamar G. (antimon)


Lesenswert?

Ah okay - der Pin, hab ich ganz übersehen...

Aber was passiert wenn ich meinen AVR da anschliesse und per SPI den
Takt auf Q/1 ändere? Dann ändert sich ja auch schlagartig der
Systemtakt des AVR und der kommt durcheinander...? Sollte ich dann nach
dem Setzen des Registers einen Soft-Reset ausführen?

Und zur prinzipiellen Beschaltung: Einfach den Ausgang des Oszillators
an OSC1 des 2515, und dessen Ausgang an den XTAL1 des AVR(Tiny/Mega),
fertig? Oder brauch ich noch irgendwelche Widerstände/Kapazitäten?

von A.K. (Gast)


Lesenswert?

Tiny2313: "When applying an external clock, it is required to avoid
sudden changes in the applied clock frequency to ensure stable
operation of the MCU. A variation in frequency of more than 2% from one
clock cycle to the next can lead to unpredictable behavior."

Umprogrammieren geht also nicht so ohne weiteres. Softreset hilft
nicht. Ist auch nicht Q/4 sondern Q/8. Wenn also 25/8=~3MHz für den
Tiny zu wenig sind, geht's so nicht.

Andere Frage: Muss der Tiny genau getaktet werden? Der RC-Oszillator
kann ja 8MHz und wenn's nicht grad für eine Baudrate gebraucht wird,
kann man für genauere Zeiten einen Timereingang auf den CLKOUT legen.
Spart netto einen Pin ein.

von Ithamar G. (antimon)


Lesenswert?

Das ist mein Problem - ich weiss nicht ob es geht dass beide ICs mit
unterschiedlichen Taktraten laufen, bzw. nicht vom gleichen Oszillator
getaktet werden...

Eigentlich würde der interne des Tiny reichen, der 2515 hat ja keinen
(oder doch?) und muss daher extern getaktet werden. Nur muss halt die
Kommunikation via SPI sichergestellt werden - aber die wird via SCK
getaktet oder?

Hat der Takt des 2515 eigentlich was mit der Bustransferrate zu tun?

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.