Hallo, ich bin ein ziemlicher Anfänger beim Programmieren von MCUs und frage mich wie die Taktfrequenz der A/D-Wandler-Clock "fAD" von der System-Clock abhängt. Über welche Register stellt man die ein? Ich initialisiere den A/D-Wandler folgendermaßen: vcut=1;ch0=1;ch1=0;ch2=1; //AN2 selected(adcon0 bit 0-2) adgsel0=1;adgsel1=1; //Port P1/P9 group(AN2i) selected(adcon2 bit 1 and 2) md0=0;md1=0;md2=0; //One Shot selected(adcon0 bit 3-4,adcon1 bit 2) cks0=0;cks1=0;cks2=1; //fAD divide by 12 selected(adcon0 bit 7,adcon1 bit 4,adcon2 bit 4) bits=1; //10-bit mode selected(adcon1 bit 3) smp=1; //With sample and hold(adcon2 bit 0) trg=0; //Software trigger selected(adcon0 bit 5) Aus dieser Initialisierung und dem Datenblatt des M16C habe ich folgende Berechnung zur Samplerate des A/D-Wandlers aufgestellt: Grundtaktung: 20 MHz geteilt durch A/D-Operating Clock: fAD devided by 12 = 20 MHz / 12 geteilt durch A/D-Conversion Speed per pin: sample and hold 10bit: 33 fAD-Cycles = 20 MHz durch 12 durch 33 ??? = 20 * 10^6 durch 12 durch 33 = 50505,05 Hz = ca. 50 kHz = 50.000 Werte pro Sekunde? Da kann doch irgendwas nicht stimmen mit meinen Berechnungen!! Wahrscheinlich ist fAD ungleich der Grundtaktung von 20 MHz, oder? Wo finde ich die Taktung von fAD bzw. wie stelle ich sie ein?
> Wo finde ich die Taktung von fAD bzw. wie stelle ich sie ein? Im Datenblatt unter "Clock Generating Circuit". > fAD devided by 12 = 20 MHz / 12 Die 12 ist kein fester Wert, denn kannst du ändern im CKS Bits in den Registern ADCON0 bis ADCON2
Hallo Martin, danke für die schnelle Antwort! > Im Datenblatt unter "Clock Generating Circuit". Dort finde ich lediglich unter 7.5.2 Peripheral Function Clock den folgenden Satz zur fAD clock, der mir nicht wirklich weiterhilft: "The fAD clock is produced from the main clock, PLL clock or on-chip oscillator clock, and is used for the A/D converter." > Die 12 ist kein fester Wert, denn kannst du ändern im CKS Bits in den > Registern ADCON0 bis ADCON2 Eigentlich will ich den gar nicht ändern. Die Anwendung läuft mit der Einstellung wunderbar. Ich möchte lediglich wissen welche Frequenz die fAD clock hat, um in der Anwendungsdoku die Berechnung der Samplingfrequenz angeben zu können.
Schau mal Dir mal die grafische Veranschaulichung unter "Clock Generation Circuit" an und vergleiche mit den Registerwerten die im Clock-Modul gesetzt sind. Dann wird deutlich woher der A/D-Wandler den Takt bezieht. Gruß Judge
> The fAD clock is produced from the main clock
Das bedeutet fAD = Main Clock. Wenn Main Clock vom Quarz kommt, dann fAD
= Quarzfrequenz. Ich finde auch, das es in der Grafik gut zu erkennen
ist.
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.