Ich stelle ein Projekt zusammen, das das Komparatorperipheriegerät des STM32F051-Mikrocontrollers nutzt. Ich habe in der Dokumentation gelesen, dass der Eingangspin für den Betrieb des Komparators für analog konfiguriert werden muss ... was das gleiche Setup ist, wenn Sie den Pin als ADC-Eingang verwenden würden.
Kann ich einen einzelnen Pin, beispielsweise PA1, als Eingang verwenden und ihn sowohl als Fensterkomparatoreingang als auch als ADC-Eingang an ADC_IN1 konfigurieren?
Gibt es irgendwelche Fallstricke bei dieser Konfiguration, wie z. B. zusätzliches Rauschen, das ich berücksichtigen sollte?
Datenblatt (S. 19)
Referenzhandbuch (S. 295)
Eine interessante Referenz, die darauf hindeutet, dass dies möglich sein sollte: Entnommen aus AN4232: Erste Schritte mit analogen Komparatoren für die STM32F3-Serie
Dies funktioniert, Sie erhalten Nummern sowie Unterbrechungen zurück. Ich habe es mir angesehen, Download von .
Die Genauigkeit und Glitchiness sind noch unbestimmt. Aber ist in den Appnotes gut beschrieben, wie von @Bence Kaulics in diesem Thread angegeben (siehe results.txt für zusätzliche AppNotes).
Ich glaube, dass es aus den folgenden Gründen stabil sein wird.
a) The circuit diagram in RM0091 shows a direct connection from comparator to pin. i.e. it is indicated that the comparator cannot be disconnected with a switch or MUX, and will thus work as soon as the pin is assigned 'analog in'.
b) The comparator is NOT dependent on a 'Clock' to enable it (it is alow power device).
c) ST would not be able to make this level of change without assigning a new part number.
The good news is that one can continue to use the comparator for high-speed events such as over current and emergency stop etc whilst still using the ADC analog window events for other software control.
Das funktioniert auch mit dem DAC, dh man kann das Ganze intern mit dem DAC oder extern mit dem DAC und ein paar Widerständen aufbauen.
Wenn Sie sich nur die Schaltung ansehen, verwenden Sie den ADC parallel zum Komparator, im Wesentlichen einen Verstärker. Wie wir wissen, handelt es sich um sehr hochohmige Geräte mit großer Verstärkung. Störungen sind nicht unser Freund.
Jetzt werden wir von Zeit zu Zeit eine entladene Kappe auf diesen Stift schlagen, um den ADC zu füttern.
Wie wir alle wissen, müssen wir den ADC überabtasten und vorzugsweise den ersten Messwert nach einem Mux-Switch-Ereignis ablehnen, um eine Verzerrung von und zu benachbarten Kanälen zu eliminieren.
Der ADC am STM hat eine Eingangsimpedanz von etwas < 50 K // 5 pF, abhängig davon, wie sie verwendet werden. (DM00039193.pdf S. 76ff)
Tabelle 53 gibt 400->50 KOhm an, was ich vor einiger Zeit fand, als ich meinen F373 ADC kalibrierte.
Seite 79 zeigt die ADC-Schaltung.
S. 82 gibt eine kurze Beschreibung des Komparator-Pins, gelesen zusammen mit der allgemeinen Beschreibung der analogen Pins oben (S. 73ff)
Legen Sie das parallel zu Ihrem Komparatoreingang und ADC MUX und modellieren Sie es in Spice. Denken Sie daran, die ADC-Kappe regelmäßig auf eine zufällige Spannung aufzuladen.
Was auch immer sonst in der Schaltung und Software passiert, Sie werden ziemlich vernünftige Störungen an Ihrem Komparatoreingang bekommen. SCHLECHTE IDEE, selbst wenn Sie den Stift an einen niederohmigen Folger und eine Entkopplungskappe anschließen (auf der beweglichen Leitung eines Komparatoreingangs????).
Die vom ADC verwendete Kappe ist der Killer. Hoffentlich werden zukünftige Geräte mit internen Followern/Isolatoren sowohl am ADC als auch am Komparator abtasten. Diese sind möglicherweise bereits als undokumentierte Merkmale vorhanden (unwahrscheinlich aufgrund des Mux-Übersprechens).
Wie ich glaube ich, dass wir uns so sehr mit der digitalen Seite der Dinge beschäftigen, dass wir die Grundlagen vergessen, wenn wir zu analog und hybrid wechseln.
Wie misst man kleine Ströme mit einem Strom-Spannungs-Wandler? ist eine Diskussion, die ich gestern mit jemand anderem hatte. Ich kannte die Antwort, weil ich selbst daran gescheitert bin. Selbst bei den besten 3V in 50K erhalten wir einen AVO von 16K/Volt. Wann habe ich zuletzt so ein AVO / Multimeter benutzt?
Abgesehen davon zeigt ein Blick auf die Schaltung des F373, dass ST und ARM anscheinend beabsichtigt hatten, brauchbare Ergebnisse zu erzielen, wenn sowohl Komparator als auch ADC gleichzeitig in einem gemischten Gerät verwendet werden. Die Hinzufügung von Operationsverstärkern in den Serien 150 und 300 gibt einen Hinweis auf die Anforderungen an die Impedanzisolation.
Ich bin mir sicher, dass jemand, der klüger ist als ich, in der Lage sein wird, die Umgebung, für die diese internen Verbindungen entworfen wurden, neu zu konstruieren. Ich würde denken, Automotive oder HVAC .... Wechselrichter und LWL. Die FOC-Bibliothek kann wertvolle Erkenntnisse liefern.
Sofern Sie kein hochgenaues Hochgeschwindigkeitsinstrument bauen, kann eine solche Verwendung ausreichend stabil sein, um praktisch verwendet zu werden (innerhalb der oben genannten Einschränkungen). Es wird sicherlich eine Menge externer Schaltungen einsparen. Strenge Tests bei hohen Geschwindigkeiten sollten dem Schüler wahrscheinlich am besten als Übung überlassen werden (Verführen Sie mich zum Lernen).
Lösung hier .
Sieht so aus, als ob die HAL ADC-Bibliothek für Mehrkanal-DMA etwas kaputt ist. Ich habe auf der STM-Website gepostet, um eine Antwort zu erhalten. Problemumgehungen :-
a) IRQ an beiden ADCs
b) Beide ADC abfragen
c) DMA auf einem Kanal und Polling auf dem anderen
d) Initialisieren Sie die Low-Level-Register manuell
Dies ist noch ein weiterer Vorbehalt gegenüber der Lösung, bei der beide Komparatoren verwendet werden, bis eine bessere Lösung gefunden wird.
Das relevanteste Setup, das ich finden konnte, ist das folgende aus Using STM32F05xx analog comparators in application cases , ( AN4112 ), page 4:
Es sagt:
Abbildung 1 zeigt, wie ein Sensorausgang (Temperatursensor, Drucksensor, pyroelektrischer Infrarotdetektor, Fotodiodensensor) an ein STM32F05xx-Gerät in einer analogen Spannungsüberwachungsanwendung mit Komparator 2 (COMP2) angeschlossen wird. COMP2 überwacht die analoge Spannung im Stop-Modus, während der ADC sie im Run-Modus misst.
Hier arbeiten der ADC und der COMP abwechselnd, aber ich denke, beide werden gleichzeitig konfiguriert. Wenn wir im Dokument fortfahren, gibt es ein Blockdiagramm über die COMP-Konfiguration.
Basierend auf diesem Bild denke ich, dass der ADC und der COMP den gleichen ADC-Kanal teilen, der einzige Unterschied ist die Anzahl der aktivierten analogen Schwellenquellen .
Der Text unter Abbildung 5 in der Frage besagt, dass die
Komparatoreingang ist ein ADC-Kanal
möglicherweise identisch mit ADC_IN1.
Zweck dieser ganzen Konfiguration ist es, Strom zu sparen, der COMP löst Zustandsänderungen der MCU aus (STOP <--> RUN). Wenn also der Eingang unter einem bestimmten Schwellenwert liegt, werden die MCU und der ADC abgeschaltet und nur der Komparator funktioniert, und wenn der Eingang über dem Schwellenwert liegt, wachen die MCU und der ADC auf, der ADC misst die Eingangsspannung. Aber wenn der Eingang wieder unter den Schwellenwert fällt, schickt der COMP die MCU in den STOP-Zustand.
Es ist eine Möglichkeit, sie zusammen zu verwenden, ich hoffe, dies würde die Frage voranbringen.
Ich denke, du solltest im STM-Forum fragen. Es gibt auch (STM32F1) UART RX und TIMx auf demselben Pin, beide Eingänge, aber Sie können sie nicht zusammen verwenden, wie z. B. das Erkennen des Timer-Interrupts für das Ende der Übertragung. Stattdessen muss ein anderer TIMx-Pin parallel geschaltet werden, um die Funktion UART RX und Timer-Interrupt zu haben. Ich denke, es kann immer nur eine Funktion gleichzeitig aktiv sein.
Versuchen Sie, MxCube herunterzuladen und zu sehen, welche Konfiguration erstellt werden kann.
David
Daniel
jaskij
Daniel
jaskij
Daniel
Daniel
jaskij
jaskij