Forum: Mikrocontroller und Digitale Elektronik Unterschied scan mode und continuous conversion mode


von Lars (Gast)


Lesenswert?

Hallo,

ich bin mir nicht ganz sicher ob ich den Unterschied zwischen den im 
Titel genannten ADC Modi richtig verstanden habe.

Der scan mode wandelt mehrere, in einer Gruppe organisierte, Kanäle 
einmal um. Nach der Wandlung muss der ADC neu getriggert werden um eine 
neue Umwandlung zu starten.
Bein continuous conversion mode werden die in einer Gruppe organisierten 
Kanäle permanent umgewandelt.

Ist das so richtig? Wenn ja, warum wird dann der scan mode so oft mit 
dem continuous mode kombiniert, wenn der einzige Unterschied im erneuten 
Triggern des scan modes liegt.

Danke schonmal für die Hilfe

von Vincent H. (vinci)


Lesenswert?

Lars schrieb:
> Hallo,
>
> ich bin mir nicht ganz sicher ob ich den Unterschied zwischen den im
> Titel genannten ADC Modi richtig verstanden habe.
>
> Der scan mode wandelt mehrere, in einer Gruppe organisierte, Kanäle
> einmal um. Nach der Wandlung muss der ADC neu getriggert werden um eine
> neue Umwandlung zu starten.
> Bein continuous conversion mode werden die in einer Gruppe organisierten
> Kanäle permanent umgewandelt.
>
> Ist das so richtig? Wenn ja, warum wird dann der scan mode so oft mit
> dem continuous mode kombiniert, wenn der einzige Unterschied im erneuten
> Triggern des scan modes liegt.
>
> Danke schonmal für die Hilfe


Richtig.

Oft?
Nunja, es ist halt ein tolles Feature kontinuierlich Werte von mehreren 
Kanälen einlesen zu können. Kombiniert man Scan/Continuous mit einem 
zirkular laufenden DMA, dann hat man stets aktuelle ADC-Werte ohne einen 
einzigen CPU Zyklus dafür aufwenden zu müssen.

von Peter D. (peda)


Lesenswert?

Lars schrieb:
> Ist das so richtig?

Dazu bräuchte man den Link auf das Datenblatt des unbekannten µC.

von Lars (Gast)


Lesenswert?

@Vincent
Würde der continuous mode mit einem zrikular laufenden DMA nicht das 
selbe Ergebnis liefern?


@Peter
Sorry, hätte ich dazu sagen sollen. Es handelt sich um den STM32f407VGT. 
Hier der Link zum Datenblatt : 
http://www.st.com/content/ccc/resource/technical/document/datasheet/ef/92/76/6d/bb/c2/4f/f7/DM00037051.pdf/files/DM00037051.pdf/jcr:content/translations/en.DM00037051.pdf

von Vincent H. (vinci)


Lesenswert?

Lars schrieb:
> @Vincent
> Würde der continuous mode mit einem zrikular laufenden DMA nicht das
> selbe Ergebnis liefern?

"Scan Mode" ist meiner Ansicht nach ein etwas schlecht gewählter Name 
für ein eigentlich simples Feature. Das hat offenbar auch ST bemerkt, 
weshalb neuere Modelle mit anderen ADC Registern (und Feature 
Bezeichnungen) kommen (wie z.B. die L4 Serie).

Der Unterschied ist folgender ->
Um beim F407 den "Scan Mode" zu aktivieren, schreibt man die Anzahl der 
gewünschten Wandlungen in die L bits des SQR1 Registers und setzt 
anschließend das SCAN bit in CR1.

Ein wesentlich neueres Derivat, der L431 etwa besitzt zwar noch die L 
bits, jedoch kein SCAN bit mehr. Wozu auch, will man nur einen Kanal 
wandeln, dann schreibt man als gewünschte Wandlungen schlichtweg "1" und 
die Sache hat sich.


Ich würde mich also weniger auf die Namen der Features versteifen, als 
auf das was in den ADC Registern passiert. Um nun deine Frage zu 
beantworten, nein, ist ausschließlich der "Continuous Mode" aktiviert, 
der "Scan Mode" jedoch nicht (und damit das SCAN bit nicht gesetzt), 
dann werden die L bits des SQR1 Registers und damit die Anzahl der 
eigentlich gewünschten Wandlungen ignoriert. Der allererste Kanal in 
deiner Sequenz würde kontinuierlich gewandelt werden.

von Lars (Gast)


Lesenswert?

Ah, ok. Jetzt habe ich es verstanden. Danke

von Sven P. (Gast)


Lesenswert?

Vincent H. schrieb:
> Ich würde mich also weniger auf die Namen der Features versteifen, als
> auf das was in den ADC Registern passiert. Um nun deine Frage zu
> beantworten, nein, ist ausschließlich der "Continuous Mode" aktiviert,
> der "Scan Mode" jedoch nicht (und damit das SCAN bit nicht gesetzt),
> dann werden die L bits des SQR1 Registers und damit die Anzahl der
> eigentlich gewünschten Wandlungen ignoriert. Der allererste Kanal in
> deiner Sequenz würde kontinuierlich gewandelt werden.

Weil ich auch gerade über den Mist stolpere:
Das heißt also, der "selected channel", den man durch Beschreiben von 
ADON umwandeln kann, wird über SQ1 ausgewählt?

Es gibt ja ansonsten garkein Register, in dem man den Kanal einstellen 
könnte, der bei nicht-SCAN-Modus umgewandelt wird...

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
Noch kein Account? Hier anmelden.