Datum: 13.04.2008 22:46
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?
Datum: 13.04.2008 22:54
> 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
Datum: 13.04.2008 23:06
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.
Datum: 14.04.2008 00:08
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
Datum: 14.04.2008 07:24
> 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.
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


