Quarze / EMV Noobfrage

Gast #3319418
Lesenswert?

Hallo Community,

bei der Suche nach einem Austauschquarz für meinen Atmega328p hab ich zu
PWM-Tetzwecken ein 20mhz Quarz mitbestellt.

Meine Frage ist eigentlich nur wie sich das mit den 20mhz in Sachen EMV
verhält? Habe ich mir evtl. eine Fehlerquelle mitgekauft oder ist dieser
Bereich "noch" im Rahmen? Vorher war ein 8mhz Quarz am werkeln..

Sorry für die Noobfrage aber im Internet kursieren irgendwie
verschiedenste Meinungen. Das Ganze kommt dann auf das Olimex Starter
Kit.

P.S:
2te noobfrage: der externe Quarz ist bereits über die Fuses
einprogrammiert.
Kann ich ganz normal meine F_Cpu Einstellungen vornehmen oder ist es
egal was ich angebe weil jetzt permanent 20mhz getaktet sind? Oder
anders gefragt: überschreibt die F_Cpu den durch den Quarz vorgegebenen
Takt?



Gruß
lolo
Gast #3319480
Lesenswert?

lolo schrieb:
> Meine Frage ist eigentlich nur wie sich das mit den 20mhz in Sachen EMV
> verhält? Habe ich mir evtl. eine Fehlerquelle mitgekauft oder ist dieser
> Bereich "noch" im Rahmen? Vorher war ein 8mhz Quarz am werkeln..

Das kann man pauschal nicht sagen. Das kommt auf das Layout an. Im 
Allgemeinen kann man aber sagen, dass die EMV-Problematik sich 
tendenziell verschlechtert, wenn man voraussetzt, dass mit höherer 
Frequenz auch die Flankensteilheit steigt. Um EMV brauchst du dir keine 
Sorgen zu machen, bei Experimentierplatinen ist das ohnehin obsolet und 
im prof. Umfeld wird man sich hüten diese unqualifizierten Platinen zu 
verbauen.

lolo schrieb:
> Kann ich ganz normal meine F_Cpu Einstellungen vornehmen oder ist es
> egal was ich angebe weil jetzt permanent 20mhz getaktet sind? Oder
> anders gefragt: überschreibt die F_Cpu den durch den Quarz vorgegebenen
> Takt?

1. Fuses wählen die Taktquellen, Vorteiler oder PLLs. Der Quarz schwingt 
deswegen immernoch mit 20 MHz.

2. F_CPU ist nur eine Angabe für den Compiler. Der kann ja nicht 
wissen wie schnell dein Mikrocontroller läuft. Beim Compilieren muss er 
das aber wissen, damit er die richtige Dauer z.B. bei delay_ms() 
errechnen kann und das Programm dann entsprechend kompilieren kann. Dein 
Mikrocontroller läuft immernoch mit 20 MHz. Wenn du deinem Compiler 
sagst F_CPU = 10000000 (10 MHz) und einen Quarz mit 20 MHz anschließt 
und dann eine delay von 200ms machst, und es am Mikrocontroller 
ausführst dann dauert deine delay nur 100ms (die hälfte da die 
Quarzfreuqenz doppelt ist).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren