16 MHz ext. Clock für AVR über PCB routen

Gast #3293852
Lesenswert?
• ▲
▼
Hey,

Ich layoute gerade eine Platine auf der sich im Wesentlichen ein AVR und 
ein Schrittmotortreiber IC befinden. Der Treiber bietet die Möglichkeit, 
ein 16 MHz Clock-Signal auszugeben. Aus Platzgründen hat der AVR keinen 
eigenen externen Taktgeber, ich wollte ihn eigentlich mit den internen 8 
MHz betreiben. Ich überlege jetzt, ob ich die 16 MHz des Treibers für 
den AVR als ext. Clock verwenden kann - zumindest als Option 
(Jumper/Lötbrücke). Allerdings sind Treiber und AVR ca 30 mm Luftlinie 
auseinander und es kommt mir nicht so günstig vor, die 16 MHz quer über 
das Board zu routen - wirklich beurteilen kann ich die Problematik als 
Hobbyist aber auch nicht. Also: ist es überhaupt ein Problem so ein 
relativ hochfrequentes Signal quer über das Board zu legen? Gibt es 
"Tricks" beim layouten, die das Problem verringern (MAsseflächen/-traces 
um den Takt-Trace)?

Danke für alle Tipps!
Johnny
Gast #3293894
Lesenswert?
• ▲
▼
hmmm schrieb:
> Wenn du die Treiber erst programmieren musst um die CLK out zu
> bekommen wäre das wohl nicht optimal...

Es handelt sich um einen L6470. Der Treiber gibt defaultmäßig 2 MHz aus, 
dann müsste man ihn über SPI auf 16 MHz stellen.

hmmm schrieb:
> Mach mal das Layout und poste es hier.

Naja, ich dachte ich frag mal vorher ...


Gruß
Johnny
Gast #3294108
Lesenswert?
• ▲
▼
Alles klar. Wie läuft das in der uC Firmware ab, wenn du zuerst mit 2MHz 
tacktest und dann umschaltest auf 16MHz?

Das mit dem Layout macht weniger Probleme. Wie üblich eine ordentliche 
Trennung auf der Print von uC/SPI und der Motorversorgung.

Lg
Gast #3294206
Lesenswert?
• ▲
▼
Johnny schrieb:
> Also: ist es überhaupt ein Problem so ein
> relativ hochfrequentes Signal quer über das Board zu legen?

Das ist eben relativ, andere Boards arbeiten mit einigen 100 MHz, bei 16 
MHz ist die Leitungsführung noch nicht besonders kritisch; aber 
grundsätzlich sollte ein Taktsignal nicht dicht neben anderen 
empfindlichen Leitungen verlaufen. Tricks wie Abschirmung durch GND 
links und rechts können nicht schaden.

Gruss Reinhard
#3294380
Lesenswert?
• ▲
▼
Wolfgang schrieb im Beitrag #3294343:
> Nach dem Shannontheorem

Nur gut, dass die meisten Signale dumm sind und das nicht wissen. 16MHz 
sind etwas unruhiger Gleichstrom. Das kannst du gern über 50cm Backplane 
ziehen. Es sollte nur nicht allzu hochohmig sein.

Nach deiner Rechnung sind PCs mit Taktraten von 300MHz und mehr im 
Speicher unmöglich zu bauen, weil man die Leitungen nur 1mm weit routen 
kann.

16MHz sind in etwa 18m Wellenlänge. Die 5. Oberwelle (und damit sieht 
ein Signal schon ganz passabel aus) wäre dann gut 3m. Selbst mit 
Verkürzungsfaktor x auf der Platine ist alles jenseits von gut und böse.
#3294387
Lesenswert?
• ▲
▼
Johnny schrieb:

> Es handelt sich um einen L6470. Der Treiber gibt defaultmäßig 2 MHz aus,
> dann müsste man ihn über SPI auf 16 MHz stellen.

Vorsicht. Wenn bei der Umschaltung Glitches auftreten, stürzt der AVR 
mit einer gewissen Wahrscheinlichkeit ab. Wenn der Controller mit dem 
internen RC-Controller anläuft und nach der Taktumschaltung auf den 
externen Takt geschaltet wird, wäre das kein Problem, aber keiner der 
AVRs, die ich bislang in den Fingern hatte, kann das, im Gegensatz zu 
den PICs, die das zumindest ab PIC18 können.

fchk
Gast #3294769
Lesenswert?
• ▲
▼
Hallo nochmal!

Vielen Dank für die Hinweise!

hmmm schrieb:
> Investiere einfach die 25 Cent für einen Quarz und die Lastkapazitäten.

Ich denke ihr habt recht, ich lass' die Variante mit der externen Clock 
ganz. Ich werde ziemlich sicher mit den AVR internen 8 MHz auskommen, 
der Controller macht nur ein bißchen i2c und eben SPI zum Motortreiber. 
War nur so frei nach dem Motto "lieber den Magen verrenken als dem Wirt 
was schenken" - dachte mir halt wenn schon mal 16 MHz da sind ... Aber 
im Endeffekt macht das nur Umstände mit den unterschiedlichen Clocks 
beim Starten und beim Lauf. Also Danke nochmal für die 
Entscheidungshilfe :-)!

Gruß
Johnny

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.