CCS Wizard Aquisition Time ? Verwirrung Begrifflichkeiten.
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  AD-Wandler (CCS)  |  CCS Wizard Aquisition Time ? Verwirrung Begrifflichkeiten. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: CCS Wizard Aquisition Time ? Verwirrung Begrifflichkeiten.  (Gelesen 2721 mal)
 
Nuke
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« am: April 21, 2007, 01:11:59 »

Hallo,
ich ich bin etwas verwirrt über die Begrifflichkeiten,
was den CCS und TAD angeht.

Im Wizard unter Analog ändere ich mit Aquisition Time den Wert "ADC_TAD_MUL_X", was dann
vermutlich die "ACQT2:ACQT0: A/D Acquisition Time Select bits" setzt.

MitClock dann die "ADC_CLOCK_DIV_X", was wohl die "ADCS2:ADCS0: A/D Conversion Clock Select bits"
setzt.

So und jetzt wirds verwirrend: Im Datenblatt zum PIC18F4680 steht:

19.3 Selecting the A/D Conversion
Clock
The A/D conversion time per bit is defined as TAD. The
A/D conversion requires 11 TAD per 10-bit conversion.
The source of the A/D conversion clock is software
selectable. There are seven possible options for TAD:
• 2 TOSC
• 4 TOSC
• 8 TOSC
...

Wieso heisst das jetzt bitte auch TAD?

Und ums noch verwirrender zu machen: Im aktuellen Manual des CCS auf Seite 41:
delay_us(10); //a small delay is required after setting the channel
//and before read

Warum? Ich denke, dass hab ich über die Acquisition Time hardwaremäßig eingestellt?

Kann mir da vielleicht jemand Erleuchtung schaffen? Vielleicht ist das ein grundsätzliches
Verständnisproblem mit den Registern des ADC.

Danke.

Gespeichert
Bernd
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 3815



Profil anzeigen
« Antworten #1 am: April 22, 2007, 07:32:05 »

Zitat
Im Wizard unter Analog ändere ich mit Aquisition Time den Wert "ADC_TAD_MUL_X", was dann
vermutlich die "ACQT2:ACQT0: A/D Acquisition Time Select bits" setzt.

Ja.

Zitat
MitClock dann die "ADC_CLOCK_DIV_X", was wohl die "ADCS2:ADCS0: A/D Conversion Clock Select bits"
setzt.

Ja.

Zitat
Wieso heisst das jetzt bitte auch TAD?

Weil über <ADCS2:ADCS0> TAD eingestellt wird. Die Einstellung der "Conversion Clock" ist nichts anderes als die Einstellung von TAD. Wenn Du z.B. bei 20MHz Oszillatorfrequenz <ADCS2:ADCS0> auf 16 TOSC einstellst, setzt Du damit

    TAD = 16 * (1/20MHz) = 800ns

Die Einstellung von <ACQT2:ACQT0> hat keinen Einfluß auf TAD, sondern verwendet die zuvor eingestellte TAD als Zeibasis. Wenn <ACQT2:ACQT0> auf 8 TAD konfiguriert wird, beträgt die Acquisition Time somit 8 * 800ns.

Zitat
Und ums noch verwirrender zu machen: Im aktuellen Manual des CCS auf Seite 41:
Code:
delay_us(10); //a small delay is required after setting the channel
              //and before read

Warum? Ich denke, dass hab ich über die Acquisition Time hardwaremäßig eingestellt?

Nicht alle PICs verfügen über die "automatische" Acquisition Time. Bei vielen älteren PICs muß man selbst dafür sorgen, daß eine hinreichend lange Zeit gewartet wird. Für den 18F4680 ist dieser zusätzliche Delay natürlich unnötig.


Viele Grüße

Bernd
Gespeichert

Nuke
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antworten #2 am: April 22, 2007, 14:55:09 »

Wieder danke für die ausführliche Antwort.
Schön, dass hier Leute wie Bernd sind, die so viel Erfahrung haben und auch
solche sachen wissen.

Gruß aus Köln und danke
Peter
Gespeichert
bizkwie
Jr. Member
**
Offline Offline

Beiträge: 64


Profil anzeigen
« Antworten #3 am: Mai 24, 2007, 21:33:34 »

Wieder danke für die ausführliche Antwort.
Schön, dass hier Leute wie Bernd sind, die so viel Erfahrung haben und auch
solche sachen wissen.

Gruß aus Köln und danke
Peter

Kann ich dir nur ganz dick & fett zustimmen!!!  :mrgreen:
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.04 Sekunden mit 19 Zugriffen.
 
Top! Top!