mikrocontroller.net

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


Autor: Christian --- (kakuijin)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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:
//AVDD=4.25V+
//AVSS=GND
//sAN0: VREF+=5V+
//sAN1: VREF-=GND
//sAN3: Analog

ADPCFG = 0b1111111111110000; //-------(8)(7)(6)(5)(4)(3)(2)(1)(0)
ADCON1 = 0b0000000011100100; //ADON(0)-ADSIDL(0)---FORM(00):SSRC(111)-SIMSAM:ASAM:SAMP:DONE
ADCHS  = 0b0000000000100011; //CH123NB(00):CH123SB(0):CH0NB(0):CH0SB(000):CH123NA(00):CH123SA(1):CH0NA(0):CH0SA(0000)
ADCSSL = 0x00;
ADCON3 = 0b0000001000000100; // ---SAMC(00010):ADRC(0)-ADCS(000100)
ADCON2 = 0b0110000100111100; // VCFG(011)--CSCNA(0):CHPS(01):BUFS(0)-SMPI(1111):BUFM(0):ALTS(0)
...


adc_on=1;
ADIE=0;
ADIF=0;

void adc_read() {
   while(!ADIF);
   while(!adc_done);

   puffer[0]=adbuff0;
   ...
   puffer[15]=adbuff15; 
 
   for(i=0; i<16; i++) {
      printf("adc%u : %lu \n\r",i,puffer[i]);
   }
}
Ausgabe:

adc0 : 956     // Richtiger wert von CH0                                                                                                                                                                               
adc1 : 354     // Falscher wert von CH1                                                                                                                                                                                     
adc2 : 955                                                                                                                                                                                          
adc2 : 354                                                                                                                                                                                          
adc4 : 955                                                                                                                                                                                          
adc5 : 345                                                                                                                                                                                          
adc6 : 959                                                                                                                                                                                          
...

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

Autor: A. K. (prx)
Datum:

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

Autor: Christian --- (kakuijin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jap, hab ich...
The 10-bit, high-speed Analog-to-Digital Converter
(ADC) allows conversion of an analog input signal to a 
10-bit digital number. 
...
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...

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein errata-sheet ist ein blatt mit bekannten fehlern:

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

kapitel 13!

Autor: Christian --- (kakuijin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Owkay,

Danke, das erklärt einiges!

Jetzt habe ich ein Staubfänger mehr :)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian --- (kakuijin)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.