Ich suche einen Mikrocontroller mit einem guten eingebauten ADC und bin bei den ADuC7000 von Analog sowie den STM32 von ST gelandet. Beide haben einen 12Bit ADC mit max. 1MSPS. Hat jemand Erfahrung mit den beiden und kann mir sagen, welcher die bessere Analogperformance hat? Welche effektive Auflösung (ENOB) kann ich von den Systemen erwarten?
Den STM32 hatte ich schon mit 1,7us am laufen, schneller kann der nicht. Der hat 2 AD-Wandler drin, die in verschidenen Konfigurationen betrieben werden können, ne feine Sache. Nur die "Injected" Funktionen wollten irgendwie nicht, aber der "Normale" Wandler hat sehr gut funktioniert. Über DMA gehen die Ergebnisse problemlos ins RAM. Mit der guten STM Firmware Lib kam ich sehr schnell zum Ergebnis. ADuC kenn ich nicht.
ST verspricht zumindestens 1 MSPS... Wie sieht es mit den Eigenschaften des ADCs aus? Wie viele Bits sind effektiv nutzbar?
Ich kenn nur den ADC von Analog Devices. Ein sehr guter Wandler, bei dem bei gutem Layout auch die angegebenen Daten eingehalten werden. Der Controller ist leider etwas langsam bei Programm im Flash.
Ich musste den Chip mit 48 MHz laufen lassen, ich konnte 60 Messungen (mit DMA) in 100uS machen. 12 Bit sind verwendbar (+/- 1-2 Counts) Allerdings benötigt es eine richtig gute Eingangsbeschaltung! Bei schnellen Messungen verhobelt der AD Eingang das Signal durch den internen Ladekondensator.
>Bei schnellen Messungen verhobelt der AD Eingang das Signal durch den >internen Ladekondensator. Sollte doch eigentlich nur ein Frage der Quellenimpedanz sein, oder? Was heißt "richtig gute Eingangsbeschaltung" (passiv/aktiv/..)?
Beim ADuC7026 komme ich auch nur auf 780kSps (ein Kanal) beim Evaluetion-Board von AD. Egal, ob freilaufend oder via Interrupt. Beim Interrupt werden ab und zu ein paar Messungen nicht ausgeführt. Blackbird
>Was heißt "richtig gute Eingangsbeschaltung"
C von >= 1uF direkt am Eingang, dann ist Ruhe.
@Markus, Du machst Scherze oder nicht? Wenn Du 1uF am Eingang hast und Signal bis 1 MHz messen willst, dann bedeutet das, dass Du einen super OP am Ausgang Deiner analogen Quelle hast oder hab ich mich da wo vertan. Bin kein Analogspezialist, doch die Quellenimpedanz um 1uF zu laden oder auch entladen muss schon maechtig niedrig sein, wenn Aenderungen von mehr als 1-2bit sichtbar sein sollen. Der ADC kann auch 20-bit und 10 MHz bieten, solange die Beschaltung alles klattbuegelt oder im anderen Fall viele LSB Noise reinbringt, dann hilft das alles sehr wenig. @ Matthias, ich denke mal aktiv sind bei 1Msamples und 12 bit ein guter Vorschlag. Falls das zu teuer ist? -> Versuchts einfach mal mit 10 bit ;-) Robert
@Robert: Bei den schnellen Messungen hatte ich kein 1uF dran, sondern nur 1nF, dann allerdings hatte ich differenzen von 5-15 Counts. (Sinus gemessen und per SW ausgewertet) Dann habe ich umgebaut auf Spitzenwert-Gleichrichter, und es kam nur Ruhe rein mit dem großen C nahe am CPU Pin. Wie schon oben geschrieben, die Spikes, ausgelößt durch den Ladekondensator der AD-Eingangsstufe können bei schnellen Messungen eine aktive Schaltung zum Schwingen bringen, das muss unbedingt berücksichtigt werden, bzw. im Versuchsaufbau ermittelt werden! PS: Alle CPU's haben das gleiche Problem.
>PS: Alle CPU's haben das gleiche Problem.
Das kann man aber nicht durch einen großen Kondensator lösen, sondern
durch eine niederohmige Treiberstufe, die zudem schnell einschwingt:
OPV.
Bei hoher Abtastrate fließt nämlich ein deutlicher Eingangsstrom, der an
zu hohen Eingangswiderständen (>1k) zu Spannungsabfall führt.
Also ich verwende den ADuC7026 für ein art Audio Projekt. Der AD-Wandler ist O.K. nur die CPU etwas zu langsam. Wenn du aber 1MSPS sauber haben willst, nimm bitte einen externen AD-Wandler. Sonnst solltest du die CPU noch langsamer takten lassen. CPU+AD-Wandler + 2x Noise ist halt das Problem ? (verursacht durch die CPU) Gruß Sascha.
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.