Forum: Mikrocontroller und Digitale Elektronik dsPIC30F4011 - ADC Probleme mit 1MSPS


von Christian -. (kakuijin)


Angehängte Dateien:

Lesenswert?

Moin,

Mein ADC vom dsPIC30F4011 kommt nicht über 0,5MSPS, für meine Anwendung 
benötige ich aber rund 1MSPS.
Bin duzende Datenblätter durch, habe die Mikrochip Referenzen 
durchforstet usw..
"alle" möglichen Einstellungen probiert und bekomme die fu** 1MSPS nicht 
hin.


Daten:
1
//AVDD=4.25V+
2
//AVSS=GND
3
//sAN0: VREF+=5V+
4
//sAN1: VREF-=GND
5
//sAN3: Analog
6
7
ADPCFG = 0b1111111111110000; //-------(8)(7)(6)(5)(4)(3)(2)(1)(0)
8
ADCON1 = 0b0000000011100100; //ADON(0)-ADSIDL(0)---FORM(00):SSRC(111)-SIMSAM:ASAM:SAMP:DONE
9
ADCHS  = 0b0000000000100011; //CH123NB(00):CH123SB(0):CH0NB(0):CH0SB(000):CH123NA(00):CH123SA(1):CH0NA(0):CH0SA(0000)
10
ADCSSL = 0x00;
11
ADCON3 = 0b0000001000000100; // ---SAMC(00010):ADRC(0)-ADCS(000100)
12
ADCON2 = 0b0110000100111100; // VCFG(011)--CSCNA(0):CHPS(01):BUFS(0)-SMPI(1111):BUFM(0):ALTS(0)
13
...
14
15
16
adc_on=1;
17
ADIE=0;
18
ADIF=0;
19
20
void adc_read() {
21
   while(!ADIF);
22
   while(!adc_done);
23
24
   puffer[0]=adbuff0;
25
   ...
26
   puffer[15]=adbuff15; 
27
 
28
   for(i=0; i<16; i++) {
29
      printf("adc%u : %lu \n\r",i,puffer[i]);
30
   }
31
}
1
Ausgabe:
2
3
adc0 : 956     // Richtiger wert von CH0                                                                                                                                                                               
4
adc1 : 354     // Falscher wert von CH1                                                                                                                                                                                     
5
adc2 : 955                                                                                                                                                                                          
6
adc2 : 354                                                                                                                                                                                          
7
adc4 : 955                                                                                                                                                                                          
8
adc5 : 345                                                                                                                                                                                          
9
adc6 : 959                                                                                                                                                                                          
10
...

Mit dem Oszi schaut das Sampling auf 1MSPS einiger maßen gescheit aus.. 
aber das Ergebnis im Puffer ist Müll.. (Bild==Anhang)

Wäre über jeden Tipp/Rat/Lößung sher dankbar...


lg

von (prx) A. K. (prx)


Lesenswert?

Erratasheet gelesen?
Je nach Betriebsart sind 300-750Ksps drin, mehr nicht.

von Christian -. (kakuijin)


Lesenswert?

Jap, hab ich...
1
The 10-bit, high-speed Analog-to-Digital Converter
2
(ADC) allows conversion of an analog input signal to a 
3
10-bit digital number. 
4
...
5
and provides a maximum sampling rate of 1 Msps.


Kein Plan was ich falsch mache..
Kann doch nicht schwerer sein als den MPWM an zu steuern...

von morph1 (Gast)


Lesenswert?

ein errata-sheet ist ein blatt mit bekannten fehlern:

http://ww1.microchip.com/downloads/en/DeviceDoc/80398A.pdf

kapitel 13!

von Christian -. (kakuijin)


Lesenswert?

Owkay,

Danke, das erklärt einiges!

Jetzt habe ich ein Staubfänger mehr :)

von (prx) A. K. (prx)


Lesenswert?

Das Datasheet enthält die Träume des Designers.
Das Erratasheet enthält die traurige Wirklichkeit.

Das kann auch mal bedeuten, dass eine im Datasheet versprochene Funktion 
nicht nur eingeschränkt, sondern überhaupt nicht verwendbar ist.

von Christian -. (kakuijin)


Lesenswert?

[quote]
Das Datasheet enthält die Träume des Designers.
Das Erratasheet enthält die traurige Wirklichkeit.
[/quote]

Das heraus zu finden hat mich fast eine Woche gekostet ;(
Von nun an ist das Error Sheet mein neuer Begleiter bei der Auswahl der 
Chips bevor ich Sie mir zulege.

lg

von Dieter W. (dds5)


Lesenswert?

Ich arbeite zwar mit PIC24HJ der auch mit 1MSPS angegeben ist, bin mir 
aber nicht sicher ob das nicht (wegen Unterschreitung der minimalen 
sample-Zeit) nur im Einkanalbetrieb funktioniert.

von Benedikt K. (benedikt)


Lesenswert?

Im Einkanalbetrieb geht das nicht, man benötigt 2 S&H Stufen die 
abwechselnd samplen und umwandeln. Nur so kann man den ADC zu 100% 
auslasten. Ansonsten gehen immer ein paar Takte für das Samplen drauf.

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
Noch kein Account? Hier anmelden.