STM32 GPIO Analog Pin?

OP #6068937
Lesenswert?

Hallo Leute,

beim STM32 kann ich per STM32Cube einen Pin als GPIO_Analog 
konfigurieren. Ich verstehe diese Konfiguration aber nicht so ganz. Kann 
ich diesen Pin nutzen, um beispielsweise das Signal eines Sensors 
auszuwerten? Ich frage deshalb, weil ich keinen ADC mehr zur Verfügung 
habe.
Gast #6068959
Lesenswert?

Im Datenblatt deines µC kannst du nachsehen, ob an eine Pin eine 
Analogfunktion zur Verfügung steht. Willst du diese nutzen, 
konfigurierst du diesen bin als analog.

Analog Funktionen sind z.B. ADC, DAC, Comparator...
Gast #6068973
Lesenswert?

Tim K. schrieb:
> Kann ich diesen Pin nutzen, um beispielsweise das Signal
> eines Sensors auszuwerten?

Ja

> Ich frage deshalb, weil ich keinen ADC mehr zur Verfügung habe.

Die STM32 Mikrocontroller haben alle (?) mehrere ADC, die mehrere Pins 
analog einlesen können. Insgesamt sind damit alle analogen Eingänge 
abgedeckt. Du kannst bei jedem ADC konfigurieren, welche(n) Pin(s) er 
einlesen soll.

"einen ADC mehr zur Verfügung" kann eigentlich nicht sein. Vermutlich 
gehst du davon aus, dass jeder ADC nur genau einen Eingang einlesen 
kann. Das ist aber nicht der Fall. Es ist eher nur ein Pin 
gleichzeitig pro ADC. Aber abwechselnd kannst du alle analogen 
Eingänge lesen.

Guckst du hier: 
http://stefanfrings.de/mikrocontroller_buch2/Einblick%20in%20die%20moderne%20Elektronik.pdf

Kapitel 9.17 und 11.1

Vergleiche den dort gezeigten Quelltext mit den Informationen des 
Referenzhandbuches deines STM32 Modells.
Gast #6068986
Lesenswert?

Ich glaube nicht das er den ADC Input meint. Man kann jeden Pin als GPIO 
Analog schalten.

Analog configuration:
When the I/O port is programmed as analog configuration:
•The output buffer is disabled
•The Schmitt trigger input is deactivated, providing zero consumption 
for every analog value of the I/O pin. The output of the Schmitt trigger 
is forced to a constant value (0).
•The weak pull-up and pull-down resistors are disabled by hardware•Read 
access to the input data register gets the value “0”

Steht im Reference Manual. Das ist wenn ich mich richtig erinnere 
hauptsächlich zum Strom sparen gedacht, da alle Input und Output Treiber 
deaktiviert sind. Das kannst du an nicht verwendeten Pins benutzen.
#7622613
Lesenswert?

Konnte man hier nicht mal ohne Registrierung posten??

Guest schrieb:

Ich glaube nicht das er den ADC Input meint. Man kann jeden Pin als GPIO Analog schalten.

Analog configuration: When the I/O port is programmed as analog configuration: •The output buffer is disabled •The Schmitt trigger input is deactivated, providing zero consumption for every analog value of the I/O pin. The output of the Schmitt trigger is forced to a constant value (0). •The weak pull-up and pull-down resistors are disabled by hardware•Read access to the input data register gets the value “0”

Steht im Reference Manual. Das ist wenn ich mich richtig erinnere hauptsächlich zum Strom sparen gedacht, da alle Input und Output Treiber deaktiviert sind. Das kannst du an nicht verwendeten Pins benutzen.

Richtig. Das hat mich am Anfang auch ganz schön verwirrt, wohl ebenso wie die zwei ersten Antwort-Autoren. Ich hab dein Zitat nochmal als Screenshot aus dem RefMan des STM32G4 angehängt.

Der Analog-Mode der GPIOs hat (zunächst) nichts mit anderen Peripherals zu tun. Grundsätzlich kann jeder GPIO Port im Analog-Modus konfiguriert werden, was nach einem Reset für die meisten sogar default ist. Siehe zweiter Screenshots vom G4-RefMan im Anhang. Daneben ist es möglich einen Pin mit einer Analog-Peripherie, wie eben einem ADC, zu verbinden.

Weitere Quelle(n) dazu aus der ST Community: https://community.st.com/t5/stm32cubemx-mcus/question-about-adc-versus-gpio-analog/td-p/480285/page/2 bzw. https://community.st.com/t5/stm32-mcus-products/use-gpio-analog-for-adc-read-value-on-stm32h735/td-p/75324

The GPIO analogue option is not to be confused with an ADC input, but in principle has two functions: • Disconnecting the external pin from the digital function. This is useful, for example, to disconnect the Schmitt trigger present at the digital input from a floating input, because this can lead to high-frequency switching of this trigger with associated current consumption. • Connecting any analogue peripherals (e.g. opamp, comparator, ADC) that may be present, but do not necessarily have to be in the respective case.

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren