Ich lese im Datenblatt kaum was über die interne Ref, fidne kaum welchen Wert diese eigentlich hat. Dennoch steht dort das eine vorhanden ist für den Temp Fühler und auch für den ADC genutzt werden kann... Kann sie nur auch dafür verwendet werden oder ist die auch dafür ausgelegt? ist die stabil genug für die 12Bit?
Thomas P. schrieb: > Kann sie nur auch dafür verwendet werden oder ist die auch dafür > ausgelegt? Du hast noch einen Punkt vergessen: sind die zur Verfügung gestellten Kalibrierdaten gut genug. Meiner Erfahrung nach ist die interne Ref ganz ok, die von ST programmierten Kalibrierdaten haben dagegen durchaus bei manchen Exemplaren einen kräftigen Offsetfehler. Genaue Zahlen hab ich leider nicht im Kopf. Gab aber auch mal einen Thread dazu hier im Forum wo andere ähnliches berichtet haben. Wenn Du selbst Kalibrierdaten aufnimmst und im Flash oder einem externen EEPROM ablegst, bekommst Du deutlich bessere Werte. > ist die stabil genug für die 12Bit? Die 12 Bit sind sowieso nicht stabil erreichbar, die letzten 2 Bit oder so flattern in der Praxis.
"Die 12 Bit sind sowieso nicht stabil erreichbar, die letzten 2 Bit oder so flattern in der Praxis." ?!?! Wieso das? Beim Xmega flattert nichts, warum ist das bei STm anders?!? Wozu sind es denn dann 12 Bit Wandler? Wie schalte ich die interne Ref um? Ich ref manual für den ADC finde ich nichts(RM0360)
ach verdammt..ganz am ende stehts doch :-) HAbe die Umstellung auf TEmp oder redf gefunden
Thomas P. schrieb: > Wieso das? Tja, das ist mögl. aufgrund der Chipstruktur so. Du kannst dir ja mal den Spass machen, den internen ADC mal auf einen DAC zu legen und dir das mit dem Kopfhörer anzuhören. Da surrt und bratzelt es doch schon ganz nett. Mit einem externen I²S ADC ist da Ruhe.
:
Bearbeitet durch User
Dann wären doch aber alle Datenblätter falsch?!? Wenn die +-2LSB angeben?!? Und warum klappt es dann beim Xmega?
Beitrag #5649615 wurde vom Autor gelöscht.
Nimm NICHT die internen ADCs für Aufgaben wo es auf Exaktheit ankommt. Ich musste das auf die harte Tour lernen. Die +-2 Bit gelten auch nur bei richtig gutem Layout, kleinem Kondensator am Eingang und deshalb auch kräftigem-puffer Opamp. Wenn du die normalen Nucleo/Disco Boards nimmst und da fröhlich rumsteckst kommst du vielleicht auf 7 bis 8 Bit. Ich mag ST und die ADCs sind schnell aber reichen nur für Poti-Abtastung und dergleichen. Nimm einen externen und hänge ihn an die 54MHz SPI, das geht mit 3Msps wunderbar. Für mehr dann eben parallel an die GPIO. Wenn du frickeln willst dann gehts auch per DCMI (Hsync/Vsync ignorieren) oder FMC (NOR-Flash Variante)
Thomas P. schrieb: > ist die stabil genug für die 12Bit? Was hat die stabile Referenzspannung mit der Auflösung zu tun? ;) Je nach dem was du messen willst kann man die interne Referenz verwenden oder nicht. Wenns nur um die grobe Temperatur geht, kann man das machen. Die interne Referenzspannung hat 1.2 - 1.25 V (Werte vom STM32F072). Dann gäbe es noch einen internen Kalibrationswert, dem würde ich aber auch nicht mehr als +-10 mV trauen, siehe Datenblatt und hier: Beitrag "STM32F072 ADC Genauigkeit trotz Kalibrierung nicht optimal" Wenn du die exakte Temperatur möchtest, brauchst du sowieso nen anderen Sensor, z.B. MAX31725. Für präzise ADC-Werte dementsprechend ne gute Referenzspannungsquelle, z.B. REF6233
Und nicht vergessen, es wird nicht im Verhältnis zur internen Referenz gemessen sondern zu Vda. Allerdings kannst du mit einem Kanal die Referenz messen und danach deinen Messwert. Neben den genannten Fehlermöglichkeiten kommt noch die hinzu, dass Vda zwischen den beiden Messungen schwankt. Dann geht es erst recht in die Hose.
Es geht in meiner Frage nicht darum ob die Ref nun genau 1,25 oder 1,20 hat..BITTE GENAU LESEN BEVOR MAN ANTWORTET! Es geht darum ob die zu stark rausch oder für 12 Bit geeignet ist!
und um die Temperatur geht es schon mal gar nicht...wieso liest hier eigentlich nie jemand die Fragen?!
Thomas P. schrieb: > Ich lese im Datenblatt kaum was über die interne Ref, fidne kaum welchen > Wert diese eigentlich hat. Thomas P. schrieb: > wieso liest hier > eigentlich nie jemand die Fragen?! Wieso liest du nicht das Datenblatt? ;) Aber mal ernsthaft Thomas P. schrieb: > Es geht in meiner Frage nicht darum ob die Ref nun genau 1,25 oder 1,20 > hat..BITTE GENAU LESEN BEVOR MAN ANTWORTET! > Es geht darum ob die zu stark rausch oder für 12 Bit geeignet ist! Rauschen, oder Spannungsungenauigkeiten der Ref haben mit der Auflösung von 12 Bit nicht zwingend etwas zu tun! Oder Anders gesagt, da du so auf die Auflösung bestehst: denkst du +- 10 LSB (bei 12 Bit) sind schlimmer oder eine schwankende bzw. unbekannte Ref von 1,2 - 1,25? Was ist dein Signal, welches dich interessiert? Und wie genau möchtest du messen?
"denkst du +- 10 LSB (bei 12 Bit) sind schlimmer oder eine schwankende bzw. unbekannte Ref von 1,2 - 1,25?" !??!? ÄHmm jA!!! Soll das ein Scherz sein!?? Was interesseirt es, welchen Wert die REf genau hat, wenn ich die Berechnung schlussendlich mit dem gemessenen Wert durchführe?! Aber ein wild umherzappelnder ADC Wert der sich nur durch 10000000fach Oversampling und Filterunge tc pp erreichen lässt wären keine wirklichen 12Bit.. Das DAtenblatt spricht auch bei weitem nicht von 10 zappelnden LSB.. Abgesehen davon..wie oft soll ich es sagen...beim Xmega ist es doch auch kein Thema??!? Wieso sehen das alle beim STM als völlig i.O. an. Dann taugt er nichts und ich würde auch Atsam umsteigen oder eben Xmega
Thomas P. schrieb: > Oversampling und Filterunge tc pp erreichen lässt wären keine wirklichen > 12Bit.. Also für die meisten Messungen (wo die Zeit ausreicht um ein paar mal zu sampeln) bin ich ganz froh wenn der ADC etwas zappelt, denn so kann man per Oversampling noch wesentlich mehr Bits rausholen als der ADC hergibt, ohne da noch schaltungsmässig selber eine Rauschquelle einbauen zu müssen. Nachtrag: Auf die Genauigkeit hat Oversampling keinen Einfluss
:
Bearbeitet durch User
"schaltungsmässig selber eine Rauschquelle einbauen zu müssen." Was per PWM und einem Widerstand schnell gemacht ist..also froh bin ich ganz sicher nicht, wenn der ADC ab Werk nichts taugt und wackelt..dann lieber absichtlich kontrolliert wackeln lassen
Thomas P. schrieb: > !??!? > ÄHmm jA!!! > Soll das ein Scherz sein!?? Stimmt nicht. Einige STM32-Fanboys haben einfach nur keine Ahnung von Hardware. Oder arbeiten mit den Discovery-Boards. Oder arbeiten mit einem Derivaten, das keinen VREF-Eingang hat. Ich darf in der Arbeit auch mit STM32 werken. Wir verwenden unter Anderem für Testadapter STM32F3, die internen ADCs sind mit der dort verbauten externen Referenz ganz gut (also für 12Bit-Verhältnisse). Da zappelt vielleicht das letzte Bit, aber selbst das nicht immer. So ein STM32 mit FPU und >50MHz zieht schon etwas Strom im Digitalteil, da besteht schon ein gewisser Anspruch an die Stromversorgung. Mehr als bei einem 8-Bitter zumindest. Dazu sieht man oft Step-Down-Regler, 10mV Rippel (ist eh schon gut!) ist im Analogteil nicht so toll. Auch die GND-Führung will bedacht werden. Ein ATXMEGA dürfte das gleiche Problem haben. Nur braucht der weniger Strom, und hat daher weniger Anspruch an die Versorgung. Nein, die ADCs der STM32 sind schon ok, wenn die Versorgung sauber ist. Sage ich als überzeugter PIC32-Fan.
ich habe beim Xmega156 nur einen Tantal und einen Elko..nichts keine 100nf oder sonstwas..es wackelt ein Digit auf dem STECKBRETT!! Gleiceh Breakoutplatine beim STM32 zappelt mal gut 8-10 mit gelegentlichen Sprüngen die noch größer sind!! bei 16MHz
ach ja, alles an EINER Spannungsquelle(Labornetzteil) keine extra Versorgung oder REf oder sonstwas..nur die interne vom Xmega
Thomas P. schrieb: > offenbar bin ich nicht der einzige... > Beitrag "STM32 ADC Verhalten eigentümlich" SO ein schlechtes Verhalten hatte ich nie. Bei zig Platinen... Zeig mal die Schaltung, vielleicht kann man dir ja helfen. Oh, und die Kalibrierung hast du gemacht? Da gibts so eine Kalibrierroutine. Wie sieht dein TACQ und deine Quelle aus? Man muss die Peripherie von ST nicht mögen, sie ist ziemlich kompliziert, aber sie funktioniert definitiv ziemlich gut. Sont gäbe es noch das: https://www.st.com/content/ccc/resource/technical/document/application_note/group0/3f/4c/a4/82/bd/63/4e/92/CD00211314/files/CD00211314.pdf/jcr:content/translations/en.CD00211314.pdf Wenn dir ST nicht gefällt, nimm halt XMEGA. Man nimmt zum Basteln was gefällt. Böse geagt: Hättest dir halt nicht den STM32 von den Fanboys andrehen lassen sollen ;-)
keine Kalibrierung..wofür auch, die ändert ja nichts am eigentlichen Problem... Die Frage ist halt ob ein ATsam besser ist... Ich werde es morgen nochmal mit dem 373 versuchen..ATSAm und UC liegen auch schon zum Test Bereit. Aufbau brauch ich nicht zeigen. Bedingungen für beide sind gleich, wie oben geschrieben..selbst ohne Kondensatoren ist der xmega besser..
Thomas P. schrieb: > Was interesseirt es, welchen Wert die REf genau hat, wenn ich die > Berechnung schlussendlich mit dem gemessenen Wert durchführe?! Wie willst du den ADC Wert der Referenzspannung berechnen, ohne eine exakte bekannte Referenzsspannung? V_meas = ADC_Value * (4095 / V_REF). Da hilft leider auch der im Werk vermessene Wert VREFINT_CAL in Register 0x1FFFF7BA nur bedingt > Das DAtenblatt spricht auch bei weitem nicht von 10 zappelnden LSB.. Zählt man alle LSB-Fehler zusammen sind es zumindestens beim F072 +-10 Bits. Einige lassen sich aber evtl durch die interne Routine raus kalibireren. Thomas P. schrieb: > selbst ohne Kondensatoren ist der xmega besser.. Ist dir schon mal in denn Sinn gekommen, dass ein etwa 3$ teurer Xmega16 etwas bessere Daten haben könnte, als ein mit 1.6$ nur halb so teurer STM32F030? Könnte aber natürlich auch einfach am Markt liegen... Die STM haben hald ein großes Featureset und sind dabei auch bezahlbar. Dabei leidet hald dann auch die Qualität, im Falle vom ADC die Genauigkeit. Für die allermeisten Fälle ausreichend. Für spezielle Fälle gibts gute 24-Bit ADCs. Dein Messfall ist leider immer noch unbekannt.
Vergiss bitte die Diskussion mit der Ref..ist ein völlig anderes Thema und unwichtig. Ist dir schon mal in denn Sinn gekommen,wenn die Daten im Datenblatt stehen, diese auch erreicht werden können sollten?!? "Die STM haben hald ein großes Featureset und sind dabei auch bezahlbar. " Bringt nur nichts, wenn alles nicht richtig funktioniert und Spielkram is..dann sollten die ins Datenblatt 10Bit und mit Oversampling 12Bit schreiben...tun sie aber nicht! "Dein Messfall ist leider immer noch unbekannt." tut auch so gar nichts zur Sache, weil es an den Fakten absolut nichts ändert "ass ein etwa 3$ teurer Xmega16 etwas bessere Daten haben könnte, als ein mit 1.6$ nur halb so teurer § Dann verrat mir nach Deiner Logic mal, wonach ich bei STM32 suchen muss um einen vergleichabren ADC zu finden wie im XMega, wenn es offenbar über die Datenblätter nicht geht??!? Also manchmal....
Thomas P. schrieb: > Vergiss bitte die Diskussion mit der Ref..ist ein völlig anderes Thema > und unwichtig. Kann ich dir nicht folgen. Wieso sollte die Referenzspannung bei analogen Messungen unwichtig sein? Das ist doch DIE Bezugsgröße für die Umrechnung. Thomas P. schrieb: > Ich lese im Datenblatt kaum was über die interne Ref, fidne kaum welchen > Wert diese eigentlich hat. > Kann sie nur auch dafür verwendet werden oder ist die auch dafür > ausgelegt? Soviel zum "völlig anderem Thema", zur Ref war deine anfängliche Frage... Thomas P. schrieb: > Ist dir schon mal in denn Sinn gekommen,wenn die Daten im Datenblatt > stehen, diese auch erreicht werden können sollten?!? Tun sie, wenn man alle Toleranzen und Faktoren mit beachtet, also auch Temperatur, Takt etc. Thomas P. schrieb: > "Dein Messfall ist leider immer noch unbekannt." > tut auch so gar nichts zur Sache, weil es an den Fakten absolut nichts ändert Um welche Sache geht es dann hier? Ob man die internen Ref auch für andere ADC-Eingänge nutzen kann? Ja, kann man. Wenn dir der integrierte im STM32 zu schlecht ist, dann musst du eben einen anderen (externen) ADC verwenden. Mich würden die Ergebnise deines STM32 zu Xmega16 Vergleichs dennoch interessieren ;)
warum ist die Ref wichtig, sie ist doch nur RELATIV. Aber wie gesagt egal.. das einzige was die nicht darf ist rauschen oder schwanken im Betrieb Nein, die Frage zur Ref war ob die stabil genug ist, oder zu sehr rauscht. Bei keinem µc ist die genau, weil das auch völlig wurscht ist..lassen wir das! Nööö! tun Sie nicht!! Beide werden heir gelichzeitig bei gleichen Temo getestet und der STM ist kacke!! Also stimmen die Angaben so nicht! PUNKT "Wenn dir der integrierte im STM32 zu schlecht ist" GENAU darum geht es!! und nein, ich nehme dann keinen anderen ADC..sondern werde mich weg von STM bewegen! Weil meine hauptsächlichen basteleien auf den ADC setzen!
Das wichtige an einem µC sind zwar DMA, Interrupthandhabung, Busmatrix, Dokumentation, Libraries und dergleichen, aber wenn du meinst, dann such eben den mit dem besten internen ADC. Andere gehen da eben zu Analog, Linear (gehören ja eh zusammen), TI und MAXIM aber nungut. TI hat übrigends mitunter die kompaktesten ADCs mit so 3mm^2 footprint (falls es ein Problem der Layoutgröße ist) Entspann dich einfach etwas, ein µC ist niemals perfekt in allen Belangen und im Datenblatt wird auch nur mit Wasser gewaschen.
Thomas P. schrieb: > Beide werden heir gelichzeitig bei gleichen Temo getestet und der STM > ist kacke!! Ich bin mir zwar nicht ganz sicher, ich meine aber stm gibt zum rauschen durchaus Angaben an. Die stm Controller sind mit an Sicherheit grenzender Wahrscheinlichkeit in einem "besseren" (zu lesen: schnelleren) CMOS Prozess gefertigt. Damit MUSS das rauschen, bedingt durch die Halbleiterphysik, höher sein. Externe ADCs sind schon immer besser in Bezug auf rauschen. Außerdem: bei den stms sind die ADCs nicht bandbegrenzt..... Mach mal einen passenden Tiefpass vor den Eingang und vergleiche nochmal. Bevor du über dieses Feature schimpfst - es gibt Fälle wo du keine bandbegrenzung willst.... Stichwort dazu ist subsampling oder Unterabtastung 73
wie gesagt...wenn im Datenblatt steht +-2LSB ist die Angabe falsch Bin hier raus
So rein vom lesen her habe ich schlicht das Gefühl, dass der STM32 nicht die Ursache des Problems ist. Aber was weiß ich schon...
Thomas P. schrieb: > wie gesagt...wenn im Datenblatt steht +-2LSB ist die Angabe falsch Das wären 11bit... Das sollten sich meiner Erfahrung liefern... Wie gesagt, sie sind (gottseidank) nicht bandbegrenzt... Die externe Beschaltung ist dann eine Kunst... Das ist bei den sar wandlern von AD üblicherweise nicht anders..... aus ähnlichen Gründen.... Wenn du was unaufwendiges willst, nimm irgend einen i2c ADC... Die haben ganz andere Design requirents wie schnelle ADCs... 73
Hans schrieb: >> wie gesagt...wenn im Datenblatt steht +-2LSB ist die Angabe falsch > > Das wären 11bit... Das sollten sich meiner Erfahrung liefern... tun sie auch ;-) Aber der gute Herr will seine XMEGA besser finden. Lasst ihn. Wozu diskutieren?
Welche Angabe genau meinst du? Auf die schnelle im Datenblatt habe ich auch keine Angaben zum SNR gefunden (auch nicht SNRD oder die effektive Auflösung) um zumindest mal rudimentär unter dessen Bedingungen den möglichen Signal/Rausch Abstand einschätzen zu können... Meine Versuche mit einem F051 Discovery jedoch mit vorgeschalteten AFE (~3.5khz BW 3te Ord.)ergaben um die 1Lsb Std.Abweichung und etwa ±3lsb Min/Max vom Mittel. Abtastrate waren nur 10khz wobei der Adc selbst mit max Takt lief, die Zeit für das settling wurde variiert. Ziel sollte sein 10 Kanäle sequentiell mit 10khz/Kanal abzutasten. Da wäre für jeden Kanal noch bis zu 8 Messungen für Mittelwertbildung geblieben, je nach settling Zeit Wahl und was wievielt bringt. Generell ( auch bei anderen MCU's) waren die Messungen auch sehr empfindlich z.b. wenn über SPI ordentlich Daten transferiert wurden. Ich könnte mir hier auch gut Vorstellen das dies mit eigenem Design dann auch besser wird. Wurde es zum Beispiel auch beim am Ende verwendeten EFM8LB12 (Architektur Wechsel war erstmal nicht gewünscht, sonst hätte ich mich nochmal mit den kinetis beschäftigt) welcher aber auf dessen Entwicklungs Board auch schon besser war. Wenn Arm und Mixed Signal integriert dann eventuell auch mal bei NXP Kinetis vorbeischauen oder bei TI. Je nach Vorhaben wird man hier schon was ausreichendes finden und ggf. dann halt externe nutzen.
was ist AFE? Habe gestern den 373 Sigma Delta 16Bit getestet...also selbst 14Bit sehe ich da nicht... Die Woche werde ich den Atsam 4S2AB testen
Thomas P. schrieb: > was ist AFE? Analog Front End Thomas P. schrieb: > Habe gestern den 373 Sigma Delta 16Bit getestet...also selbst 14Bit sehe > ich da nicht... Habe ich das eigentlich richtig gelesen, dass du deine Tests auf einem Steckbrett machst? Halte ich bei gewünschter 16 Bit Auflösung für mutig...
Dann hat AFE sicher auch einen Filter?! Das kann man natürlich nicht als vergleich heranziehen. Ich erwarte nicht 100% Perfekte Werte..ich erwarte zu sehen, welcher µc ADC besser ist bzw weniger rauscht. Und dazu ist das Steckbrett problemlos geeignet. Gemessen wird ein statischen Signal(1,2V Zelle. Selbst auf dem Steckbrett wären 16 Bit möglich, es gibt immer noch die Möglichkeit beine vom Breakout abzuknipsen oder C direkt ans Breakout zu löten etc pp. Aber wie gesagt..darum geht es nicht...es geht nur darum welcher ADC und gleichen Bedingungen stabiler ist.
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.