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
Mach mal das Layout und poste es hier. Welche Motorentreiber verwendest du? Wenn du die Treiber erst programmieren musst um die CLK out zu bekommen wäre das wohl nicht optimal... Lg
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
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
hmmm schrieb: > Wie üblich eine ordentliche > Trennung auf der Print von uC/SPI und der Motorversorgung. Für mich aus Neugier bzw zur Weiterbildung: was heißt ordentliche Trennung?
Zu einer ordentlicher Trennung gehört: a: Versorgung trennen/gut entkoppeln. b: Steuerung/uC und die "Leistungspfade" vom Motor und Versorung auf der Print trennen. Lg
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
>Der Treiber bietet die Möglichkeit, >ein 16 MHz Clock-Signal auszugeben. Mit bis zu 3% Fehler. UART im ATMega ist damit nicht mehr möglich.
holger schrieb: > Mit bis zu 3% Fehler. UART im ATMega ist damit nicht mehr möglich. Warum nicht? (3% * 9) Symbolzeiten ergibt einen Fehler von 27% der Symbolzeit beim letzten Bit. Das ist nicht schön, aber bei halbwegs sauberen Signalen überhaupt kein Problem.
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.
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
Investiere einfach die 25 Cent für einen Quarz und die Lastkapazitäten. Das haut hin und erspart dir einen haufen Ärger. Oder bist du größentechnich so am Limit? Lg
hmmm schrieb: > Investiere einfach die 25 Cent für einen Quarz und die Lastkapazitäten. > Das haut hin und erspart dir einen haufen Ärger. Oder bist du > größentechnich so am Limit? Selbst wenn - ein SMD-Quarz im 3mm*2mm Format plus zwei Cs im 0402 sind garantiert noch drin. fchk
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
Gute Entscheidung! Das erspart dir Bauchweh. :) Jetzt gehts ans Layout.... Bitte poste deinen Entwurf. Bin gespannt! Lg
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.