Offset Data alignment

OP (Firma: Fa) #4968267
Lesenswert?

Hallo

Ich verstehe nicht ganz, wofür der Offset sein soll?
Dient das jetzt nur der Angabe, ob ich signed oder unsigned values 
konvertieren möchte?
Und wie funktioniert das genau mit der Angabe bei 12 bit und right 
alignment?
Welches Register muss wie gesetzt werden?

Es ist das RM0394 Seite 395. Wäre froh, wenn jemand helfen könnte.

Danke
Gast #4968278
Lesenswert?

Ein Offset wird von dem Wandlungsergebniss subtrahiert. Der Wert des 
Offsets selbst wird in die Bits 11 bis 0 (genannt OFFSETy) geschrieben.
Englisch: "... the converted value is decreased by the user-defined 
offset written in the bits OFFSETy[11:0]."

Der Kanal, auf den das angewendet wird, wird in die Bits 0 bis 4 des 
Registers ADCx_OFRy geschrieben.
Englisch: "The channel to which the offset will be applied is programmed 
into the
bits OFFSETy_CH[4:0] of ADCx_OFRy register.

> Dient das jetzt nur der Angabe, ob ich signed oder unsigned values
> konvertieren möchte?
Nein.

> Und wie funktioniert das genau mit der Angabe bei 12 bit und right
> alignment?

Was ist da genau Deine Frage? Auf welchen Teil im Datenblatt beziehst Du 
Dich? Hat das noch mit dem Offset zu tun? An sich gibt es eben die 
Möglichkeit, den Wandlungswert rechts auszurichten.

Datenblatt: 
http://www.st.com/resource/en/reference_manual/dm00151940.pdf
Gast #4968306
Lesenswert?

D. I. schrieb:
> Was ist der Offset denn genau, ein gewisser Fehler?

Nein. Er ist nur ein Wert der eben abgezogen wird.

Dein Gedanke betrifft aber eine Anwendung , eine Verwendung dieser 
Möglichkeit. Falls der ADC einen konstanten Fehler hätte , dann könnte 
man ihn damit ausgleichen. Oder falls die Schaltung vor dem ADC, also 
dessen Eingangsschaltung einen konstanten Fehler hätte , könnte man 
ihn damit ausgleichen.

Beachte den Konjunktiv.

> Muss ich diesen überhaupt angeben?

Nein. Das hinge davon ab, wie Du die Notwendigkeit definierst. Was 
könnte Dich dazu zwingen, dass Du den angeben musst ?

> Warum ist dieser user-defined?

Nun, es könnte ja sein, dass es keine Gründe gibt, die Dich, den User, 
zur Anwendung eines Offsets veranlassen. Das hängt von der konkreten 
Anwendung ab.
OP (Firma: Fa) #4968313
Lesenswert?

Theor schrieb:
> D. I. schrieb:
>> Was ist der Offset denn genau, ein gewisser Fehler?
>
> Nein. Er ist nur ein Wert der eben abgezogen wird.
>
> Dein Gedanke betrifft aber eine Anwendung , eine Verwendung dieser
> Möglichkeit. Falls der ADC einen konstanten Fehler hätte , dann könnte
> man ihn damit ausgleichen. Oder falls die Schaltung vor dem ADC, also
> dessen Eingangsschaltung einen konstanten Fehler hätte , könnte man
> ihn damit ausgleichen.
>
> Beachte den Konjunktiv.
>


Vielen Dank, das habe ich gebraucht. Es steht nämlich einfach nur drin, 
wenn man einen Offset definieren möchte, muss man das ... machen, 
anstatt erklärt wird was es überhaupt ist. Ich dachte das ist einfach 
ein Fehler, der korrigiert werden muss. Der ADC sollte ja keinen Fehler 
aufweisen, wenn der zuvor kalibriert wurde.


Edit:
Eine andere Frage noch:
Es gibt ja den DMA one shot mode und den continuous.
Wenn ich jetzt zB 20 Werte habe, die ich konvertieren möchte und nach 
einer gewissen Zeit wieder 20Werte konvertieren möchte usw. Also immer 
nach einer gewissen Zeit die gleiche Anzahl an Daten.
Dann eignet sich der one shot mode dafür, richtig?

Ich habe nämlich keine Daten, die ich kontinuierlich umwandeln muss.
Gast #4968332
Lesenswert?

D. I. schrieb:

> Vielen Dank, das habe ich gebraucht.

Bitte. Gerne geschehen.

> Es steht nämlich einfach nur drin,
> wenn man einen Offset definieren möchte, muss man das ... machen,
> anstatt erklärt wird was es überhaupt ist.

Na ja. Streng genommen steht das da. Ein Wert der abgezogen wird. Punkt. 
Nicht mehr und nicht weniger.

Das ist eher eine Frage, was so ein Manual überhaupt erklärt oder 
abdeckt. Es erklärt in diesem Fall nicht, wozu man so etwas brauchen 
könnte. Es setzt vielmehr voraus, dass der Anwender die grundlegenden 
Eigenschaften von ICs, von AD-Wandlern und der Eingangsschaltung kennt 
und weiß, dass in gewissen Fällen ein Fehler auftritt, welcher Art er 
ist und dann messerscharf schliesst, dass er diesen mit dem Offset, wie 
beschrieben durch Subtraktion einer Konstanten, kompensieren kann.

> Ich dachte das ist einfach
> ein Fehler, der korrigiert werden muss.

Das wäre unplausibel. Es gibt eigentlich abstrakt betrachtet ansonsten 
nur zwei Möglichkeiten. Die Abweichung kann 1. der Höhe nach ab Werk 
angegeben werden oder 2. zur Laufzeit ermittelt werden (oder 3. eine 
Kombination von beidem).
Das erste steht ausdrücklich unter den Characteristics des AD-Wandlers.
Das zweite aber würde in dem Manual ausdrücklich erwähnt werden; nämlich 
dass in den Bits ein Wert steht, der den Fehler des individuellen Chips 
angibt. Das aber steht da nicht. Vielmehr eben genau das, was wir jetzt 
erschlossen haben.

Es bleibt also nur die dritte (bzw. vierte) Möglichkeit, dass der 
Hersteller den Fehler einerseits in den Characteristics angibt und wovon 
er abhängt und der Hersteller eine Möglichkeit beschreibt, wie konstante 
Offsets berücksichtigt werden können.


> Der ADC sollte ja keinen Fehler
> aufweisen, wenn der zuvor kalibriert wurde.

Das trifft so nicht zu.
Der ADC hat einen Fehler. Sogar mehrere, unterschiedlichen Typs. 
Darunter ist ein konstanter Offset der am einfachsten in der Fabrik zu 
korrigierende. Aber darüber, ob und mit welcher Genauigkeit das 
geschieht, haben wir noch nicht gesprochen.
Im übrigen sind diese Fehler meist noch temperaturabhängig, so dass sich 
die Notwendigkeit ergeben kann, einen Offset, abhängig von einer 
Temperaturmessung selbst zu berücksichtigen.
Gast #4968335
Lesenswert?

D. I. schrieb:

> Edit:
> Eine andere Frage noch:
> Es gibt ja den DMA one shot mode und den continuous.
> Wenn ich jetzt zB 20 Werte habe, die ich konvertieren möchte und nach
> einer gewissen Zeit wieder 20Werte konvertieren möchte usw. Also immer
> nach einer gewissen Zeit die gleiche Anzahl an Daten.
> Dann eignet sich der one shot mode dafür, richtig?
>
> Ich habe nämlich keine Daten, die ich kontinuierlich umwandeln muss.

Das hast Du hinzugefügt, während ich meine letzte Antwort schrieb. 
Leider kann ich selbst darauf aus zeitlichen Gründen nicht eingehen und 
muss das einem anderen zur Antwort überlassen.
OP (Firma: Fa) #4968357
Lesenswert?

Theor schrieb:
> D. I. schrieb:
>

>>
>> Ich habe nämlich keine Daten, die ich kontinuierlich umwandeln muss.
>
> Das hast Du hinzugefügt, während ich meine letzte Antwort schrieb.
> Leider kann ich selbst darauf aus zeitlichen Gründen nicht eingehen und
> muss das einem anderen zur Antwort überlassen.

Kein Problem, danke trotzdem ;)

PS: Ja, ich hatte auch nicht die Fehler gemeint, die der ADC hat 
(Linearitätsfehler, Offsetfehler etc.) und durch die Kalibrierung 
vermieden werden. Ich meinte den vom Vref abhängigen Fehler. Dieser wird 
mit der Kalibrierung ausgeglichen.

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