Hallo zusammen Ich habe etwas verwirrung bezüglich der ADCs beim H7. Was ich bisher gem. ST Doku herausgefunden habe: 1. full range nutzen 2. stabiler quarz clk 3. bga version nutzen nicht tqfp 4. fadc max 20mhz, boost aus 5. adc convertierung mit timer starten 6. Vanalog sowie Vref sauber versorgen (+ klassische layoutempfehlungen) 7. differentiel anstatt single ended 8. wenn alles geklappt hat, sollte 16 bit mit 0.5LSB error mit bis zu 800kSps pro ADC möglich sein. Von intresse sind hier insbesondere die SW seitigen Aspekte. Insbesondere die ADC Einstellungen (triggerung per timer?), boost modus, conversion timing etc, s&h timing etc. offset calibration etc sind mir nicht so klar. Kennt sich hier diesbezüglich jemand aus?
Diode schrieb: > Ich habe etwas verwirrung bezüglich der ADCs beim H7. > > Was ich bisher gem. ST Doku herausgefunden habe: > > 1. full range nutzen > 2. stabiler quarz clk > 3. bga version nutzen nicht tqfp > 4. fadc max 20mhz, boost aus > 5. adc convertierung mit timer starten > 6. Vanalog sowie Vref sauber versorgen (+ klassische layoutempfehlungen) > 7. differentiel anstatt single ended > 8. wenn alles geklappt hat, sollte 16 bit mit 0.5LSB error mit bis zu > 800kSps pro ADC möglich sein. Na, das glaub ich erst, wenn das jemand mit gescheiten Test bewiesen hat! Sowas mit einem SEHR guten, einzelnen ADC hinzukriegen ist schon SEHR sportlich bis unmöglich! Das Ganze integriert in einem Mikrocontroller bedeutet noch viel mehr Aufwand!
Bin auch weit davon entfernt. Kämpfe erheblich mit dem Offset: Single ended ca 1000 (bei 64k range) Diff ca 500 Hatte zuerst das devboard im verdacht. (Aber alle meine Versuche die auf ein layoutproblem deuten würden blieben erfolglos (keine Auswirkungen). Kann das sein, dass dieser 16 bit adc bereits 10bit offset hat?!? Ich kenne offsetkompensation eher als nice to have; bei so einem massiven offset wäre dies wohl ein must have damits überhaupt brauchbar wird.
Diode schrieb: > Bin auch weit davon entfernt. Kämpfe erheblich mit dem Offset: > > Single ended ca 1000 (bei 64k range) > Diff ca 500 Klingt jetzt nicht sooo dramatisch. Kann man kalibrieren. > Hatte zuerst das devboard im verdacht. (Aber alle meine Versuche die auf > ein layoutproblem deuten würden blieben erfolglos (keine Auswirkungen). > > Kann das sein, dass dieser 16 bit adc bereits 10bit offset hat?!? Kann sein, muss nicht. > Ich kenne offsetkompensation eher als nice to have; bei so einem > massiven offset wäre dies wohl ein must have damits überhaupt brauchbar > wird. Kann sein.
Diode schrieb: > 8. wenn alles geklappt hat, sollte 16 bit mit 0.5LSB error mit bis zu > 800kSps pro ADC möglich sein. Datenblatt gelesen? Nein? ENOB = 12.2 Bits unter best case Bedingungen.
Falk B. schrieb: > Klingt jetzt nicht sooo dramatisch. Kann man kalibrieren. kann ich aus der Aussage schliessen, dass dies normal bei diesem ADC ist? (Beruhigt und beunruhigt mich gleichzeitig) Falls ja: Danke erstmal! 1. Wie kalibrieren? (genügt lediglich beim powerup bezüglich interner spannungen? ist ein periodischer refresh nötig?) 2. Gibts evtl eine einfache externe SPI ADC alternative die ohne kalibration etc. gleich auf anhieb ca 14 bit genau die werte liefert? (Bandbreite Signal max 100kHz)
Diode schrieb: >> Klingt jetzt nicht sooo dramatisch. Kann man kalibrieren. > > kann ich aus der Aussage schliessen, dass dies normal bei diesem ADC > ist? (Beruhigt und beunruhigt mich gleichzeitig) Keine Ahung, ich kenn mich mit dem Ding nicht aus. > 1. Wie kalibrieren? (genügt lediglich beim powerup bezüglich interner > spannungen? Vermutlich. >ist ein periodischer refresh nötig?) Vermutlich nicht.
HAL_ADCEx_Calibration_Start macht den Job, danach habe ich bei stichproben max 4.5mV Abweichungen gefunden single ended. Naja nicht perfekt aber ok Wichtig: Offset und linearity kalibrieren lassen
Diode schrieb: > 2. Gibts evtl eine einfache externe SPI ADC alternative die ohne > kalibration etc. gleich auf anhieb ca 14 bit genau die werte liefert? > (Bandbreite Signal max 100kHz) LTC1864 - allerdings mit 5 V. Es wird auch neuere Typen geben.
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.