STM32 ist hauptsächlich eine digitale Schaltung, die digitale Schaltung hat nur ein hohes und niedriges Niveau, es gibt kein Konzept von wenigen V-Spannungen, also wenn Sie den Spannungswert lesen möchten, müssen Sie den ADC-Modulumsetzer verwenden, um dies zu erreichen.Die analoge Spannung des ADC-Pins wird in ein Data umgewandelt, das im Register existiert, dann lesen wir diese Daten in die Variablen, können Sie die Anzeige, Urteil, Aufzeichnung und andere Operationen durchführen, ADC kann das analoge Signal in ein digitales Signal umwandeln, ist die Brücke zwischen der analogen Schaltung und der digitalen Schaltung.ADCs sind analog-digital-Brücken, die wiederum eine analog-digital-Brücke haben. Es muss eine digital-analoge Brücke geben. Das sind DACs, Digital-Analog-Wandler, mit denen man digitale Variablen in analoge Spannungen umwandeln kann, aber im letzten Abschnitt haben wir eine digital-analoge Brücke gelernt.PWM,Vorheriger Abschnitt Wir verwenden PWM, um die Helligkeit der LED und die Motorgeschwindigkeit zu steuern, das ist die Funktion des DAC, während PWM nur vollständig geleitet und vollständig getrennt ist, in beiden Zuständen gibt es keinen Stromverlust, so dass in diesem hohen Leistungsszenario der Gleichstrommotor Geschwindigkeitsregelung PWM verwendet wird, um die analoge Menge zu entsprechen, ist eine bessere Wahl als der DAC.Und die PWM-Schaltung ist einfacher und häufiger, so kann man sehen, dass PWM noch eine Menge Anwendungsraum für DACs einnimmt, seit der Anwendung von DACs hauptsächlich in den Bereichen der Wellenform-Generierung, wie Signalgenerator, Audio-Decoding-Chip usw., Diese Bereiche sind PWM noch keine gute Alternative, das ist eine kurze Einführung von ADC und DAC, in diesem Abschnitt lernen wir ADC,DAC Jeder weiß selbst, dass unser Modell STM32 auch keine DAC-Peripherie hat.
Der ADC von STM32 ist, 12 Bit (Auflösung, in der Regel mit wie vielen Bits dargestellt, 12 Bit AD-Wert, seine Darstellung im Bereich von 0 – 2 auf 12 minus 1, das heißt, das quantifizierte Ergebnis im Bereich von 0 -4095 ist, je höher die Zahl der Bits, desto feiner ist das quantifizierte Ergebnis, desto höher ist die entsprechende Auflösung)Die Konvertierung dauert eine kleine Zeit, hier bedeutet 1us, dass die AD-Konvertierung beginnt, um das Ergebnis zu erzeugen, braucht 1us Zeit, die AD-Konvertierungsfrequenz ist 1MHz, das ist die schnellste Konvertierungsfrequenz des STM32 ADC, wenn Sie ein sehr hohes Signal konvertieren müssen, dann sollten Sie überlegen, ob diese Konvertierungsfrequenz ausreicht.Wenn Ihre Signalfrequenz relativ niedrig ist, reicht diese maximale Umwandlungsfrequenz von 1 MHz aus.)
Eingangsspannung (die allgemeine Anforderung ist, zwischen der negativen und positiven Pole des Chips zu variieren, 0 V entspricht 0, 3,3 V entspricht 4095, die Mitte ist eine entsprechende lineare Beziehung) Bereich: 0-3,3 V, Umwandlungsergebnisbereich: 0-4095
18 Eingangskanäle für die Messung von 16 externen (16 GPIO-Anschlüssen, direkt analoges Signal auf dem Pin, keine zusätzlichen Schaltungen erforderlich, Pin kann die Spannung direkt messen) und 2 interne Signalquellen (Der interne Temperatursensor und die interne Referenzspannung, der Temperatursensor kann die Temperatur der CPU messen, zum Beispiel kann Ihr Computer eine CPU-Temperatur anzeigen, können Sie diesen Temperatursensor mit ADC lesen, um zu messen, die interne Referenzspannung ist eine Referenzspannung von etwa 1,2 V, diese Referenzspannung ändert sich nicht mit der externen Stromversorgungsspannung.Nicht Standard 3,3 V, die Messung der Spannung des externen Pins kann nicht richtig sein, können Sie diese Referenzspannung lesen und kalibrieren, um den richtigen Spannungswert zu erhalten)
Regelgruppe und Injektionsgruppe zwei Konvertierungseinheiten, das ist die Verbesserung des STM32 ADC, der normale AD-Konvertierungsprozess ist, eine Konvertierung zu starten, einen Wert zu lesen, und dann wieder zu starten, Werte zu lesen, so ein Prozess, aber der STM32 ADC ist fortgeschrittener, kann eine Gruppe aufzeichnen, eine Gruppe auf einmal starten, mehrere Werte in Folge konvertieren, und es gibt zwei Gruppen,Einer ist die Regelgruppe für den regelmäßigen Gebrauch und der andere die Injektionsgruppe für Notfälle.
Der analoge Wachhund überwacht automatisch den Eingangsspannungsbereich, dieser ADC kann in der Regel verwendet werden, um die Lichtintensität, die Temperatur und diese Werte zu messen, und es gibt oft eine Nachfrage, wenn das Licht höher ist als eine bestimmte Schwelle, unter einer bestimmten Schwelle oder die Temperatur höher ist als ein bestimmter Bereich, unter einer bestimmten Schwelle, wenn einige Operationen ausgeführt werden, ist dies höher als ein bestimmter Wert, unter einer bestimmten Schwelle Urteil,Sie können den analogen Wächterhund verwenden, um automatisch auszuführen, der analoge Wächterhund kann bestimmte Kanäle überwachen, wenn der AD-Wert über der oben festgelegten Schwelle oder unter der unten festgelegten Schwelle liegt, wird er eine Unterbrechung anwenden, können Sie die entsprechende Operation in der Unterbrechungsfunktion ausführen, so dass Sie den Wert nicht ständig manuell lesen müssen, dann verwenden Sie das Urteil mit if.
STM32F103C8T6 ADC-Ressourcen:ADC1 und ADC210 externe Eingangskanäle (das heißt, es kann nur das analoge Signal von bis zu 10 externen Pins messen, oben gesagt 16 externe Signalquellen, das ist, dass diese Serie maximal 16 externe Signalquellen hat, aber wir haben weniger Chip-Pins, es gibt viele Pins, die nicht ausgeführt werden)
Als nächstes erfahren wir, wie dieser ADC genau die Spannung misst.
Das ist die innere Struktur eines ADCs, der sich nähert, und das Verständnis dieser Struktur ist sehr hilfreich, um den ADC von STM32 zu lernen, da das ADC-Prinzip von STM32 das gleiche ist wie dieses, aber STM32 zeichnet nur ein Feld für den ADC und beschreibt nicht die innere Struktur.

Dieses Diagramm ist das interne Strukturdiagramm des ADC0809, es ist ein unabhängiger 8-Bit-ADC-Chip, in der Vergangenheit ist die Leistung des Single-Chips noch nicht sehr stark, also muss ein ADC-Chip angeschlossen werden, um AD-Konvertierung durchzuführen, dieser ADC0809 ist ein klassischer ADC-Chip, der jetzt die Leistung und die Integration des Single-Chips sehr verbessert haben.Viele Single-Chip-Geräte haben bereits die ADC-Peripherie integriert, so dass kein Chip angeschlossen werden muss, Pins können die Spannung direkt messen, die Verwendung ist immer noch sehr praktisch
Zunächst links hier IN0 ~ IN7, ist 8 Eingangskanäle, durch den Kanal wählen Sie den Schalter, wählen Sie den Weg, geben Sie zu diesem Punkt zu konvertieren, unten ist die Adresse Sperr und Codierung, ist es, welchen Kanal Sie wählen möchten, legen Sie die Kanalnummer auf diesen drei Füßen (ADDA, ADDB, ADDC) und geben Sie ein Sperrsignal (ALE),Der oben angegebene Wechselschalter kann automatisch ausgewählt werden, dieser Teil entspricht einem Datenselektor, der das analoge Signal durchführen kann, da die ADC-Konvertierung ein sehr schneller Prozess ist, geben Sie ein Startsignal, nach ein paar US ist die Konvertierung abgeschlossen, also wenn Sie Multiplex-Signale konvertieren möchten, müssen Sie nicht mehrere AD-Konverter entwerfen, nur einen AD-Konverter benötigen.Dann fügen Sie einen Multi-Option-Schalter hinzu, den Sie konvertieren möchten, ziehen Sie zuerst den Schalter ab, wählen Sie den entsprechenden Kanal aus und beginnen Sie mit der Konvertierung.
Dies ist der Teil der Auswahl dieses Eingangskanals, dieses ADC0809 hat nur 8 Eingangskanäle, unsere STM32 interne ADC hat 18 Eingangskanäle, also entspricht hier, ist ein 18-Eingangs-Multiplex-Schalter, dann ist das Eingangssignal ausgewählt, hier zu kommen, wie kann man wissen, wie viele Codierungsdaten dieser Spannung entsprechen?Dies erfordert, dass wir eine nach der anderen Methode vergleichen, zuerst ist es ein Spannungsvergleicher, der die Größenverhältnis zwischen den beiden Eingangssignalspannungen beurteilen kann, eine hohe und niedrige Ausgabe zeigt, wer groß und wer klein ist, seine beiden Eingänge, eine ist die zu messende Spannung, die andere ist hier die Ausgangsspannung des DAC,Ein DAC ist ein Modellwandler, wie wir bereits gesagt haben, geben Sie ihm eine Daten und er kann die entsprechende Spannung der Daten ausgeben.Das DAC-Innere ist die Konvertierung mit dem gewichteten Widerstandsnetzwerk zu erreichen, spezifisch können Sie den AD / DA Abschnitt des 51 Single-Chip-Tutorials sehen, jetzt haben wir einen externen Kanal Eingang, unbekannte codierte Spannung, und einen DAC-Ausgang, bekannte codierte Spannung, beide gleichzeitig in den Spannungsvergleicher eingeben, um die Größe zu beurteilen, wenn die Spannung des DAC-Ausgangs größer ist,Wenn die Ausgangsspannung des DAC kleiner ist, vergrößere ich die DAC-Daten, bis die Ausgangsspannung des DAC und die Eingangsspannung des externen Kanals gleich sind, so dass die Daten des DAC-Eingangs die kodierten Daten der externen Spannung sind.
Dieser Prozess der Spannungsregelung wird durch diese schrittweise Annäherung an die SAR durchgeführt, um die Codierung der unbekannten Spannung so schnell wie möglich zu finden, verwenden wir in der Regel die Dizitalogie.Zum Beispiel ist hier ein 8-Bit-ADC, die Codierung ist von 0 bis 255, beim ersten Vergleich geben wir dem DAC die Hälfte der Eingabe 255, zum Vergleich, das ist 128, und dann sehen, wer groß ist und wer klein ist, wenn die DAC-Spannung groß ist, beim zweiten Vergleich, dann gibt es die Hälfte von 128, 64.
Wenn man so weiter geht, findet man am schnellsten die Codierung der unbekannten Spannung, und dieser Prozess, wenn man ihn in Binärzahlen ausdrückt, findet man 128, 64, 32, genau die Bitrechte für jedes Bit des Binärs, und dieser Prozess ist gleichwertig mit dem Prozess, das Binär von hohem bis niedrigem Bit in der Reihenfolge zu beurteilen, ob es 1 oder 0 ist.Dies ist die Quelle der Annäherung des Namens, dass für den 8-Bit-ADC, von hohen bis niedrigen Bits 8 Mal in der Reihe zu beurteilen, kann die Codierung der unbekannten Spannung zu finden, für den 12-Bit-ADC, müssen Sie 12 Mal in der Reihe beurteilen, das ist der Prozess der Annäherung, dann,Nach der AD-Konvertierung sind die Eingangsdaten des DAC, die Codierung der unbekannten Spannung, hier ausgegeben werden, 8 Bit haben 8 Leitungen, 12 Bit haben 12 Leitungen, und schließlich hier oben,EOC ist End Of Convert, START ist Start der Konvertierung, geben Sie einen Eingangsimpuls, beginnen Sie die Konvertierung, CLOCK ist die ADC-Uhr, da die ADC-Innen Schritt für Schritt beurteilt werden, so dass eine Uhr benötigt wird, um den Prozess voranzutreiben.VREF + und VREF- sind die Referenzspannung des DAC, zum Beispiel geben Sie eine Daten 255, entspricht 5V oder 3,3V, wird von dieser Referenzspannung bestimmt, die Referenzspannung dieses DAC bestimmt auch den Eingangsbereich des ADC, also ist es auch die Referenzspannung des ADC, und schließlich auf der linken Seite ist die Versorgung der gesamten Chipschaltung,VCC und GND, in der Regel die Positive der Referenzspannung und VCC sind die gleichen, werden miteinander verbunden, die Negative der Referenzspannung und GND sind die gleichen, sind auch miteinander verbunden, so dass der Bereich der Eingangsspannung des ADC im Allgemeinen der gleiche ist wie die Stromversorgung des ADC.