Forum: Mikrocontroller und Digitale Elektronik MSP SD_16 nur ein Marketing GAG ??


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernd (Gast)


Lesenswert?

Hallo zusammen,

Ich versuche nun schon seit Tagen den SD_16 ADC zu Höchstleistungen
anzutreiben. Es gelingt mir nicht das Ding über 12 BIT zu bringen.
Welche Maßnahmen auch immer ergriffen werden, 4 LSB's flippen rum.

Filter (Hardware, Software), Mittelwertbildung, VREF sowie Eingang
sauber abgeblockt, kein Erfolg. OSR 1024.

Wer hat den ADC schon einmal Erfolgreich mit 16 BIT betrieben ?? und
wie ??

Beispielcode wäre schön.

Gruß

Bernd

von ggg (Gast)


Lesenswert?

Was sagt er denn bei kurzgeschlossenem Eingang?

von Bernd (Gast)


Lesenswert?

Das ist nicht unbedingt sehr aussagekräftig. 3x 0 is 0 sagt man in Köln.
Ich habs aber mal mit einer sauberen Festspg. versucht um mal von einem
undefinierten Meßsignal wegzukommen, und das was der ADC herausbringt
ist nicht stabil.

von Martin (Gast)


Lesenswert?

16 Bit sind nicht möglich. Im Datenblatt steht SINAD = 84 dB,
also höchstens 14 Bit. Hinzu kommen noch andere Störungen.
Da nützt der beste Code nichts.

von Bernd (Gast)


Lesenswert?

Ich formuliere die Frage neu, hat jemand den SD_16 erfolgreich mit
voller Auflösung im Einsatz ? Ich kann das nach zahlreichen Versuchen
kaum glauben.

Der SD_16 hat derart viele Einstellmöglichkeiten das ich nun fast
geneigt bin zu behaupten das die genannte Auflösung ein Marketing GAG
ist.

Wenns anders wäre würde ich mich freuen.

von Bernd (Gast)


Lesenswert?

Hallo Martin,

ja, habe ich auch so gelesen. Der hat nen Signal/Noise von 84 dB. Ein
guter Wandler hat 6 dB pro BIT. Dennoch hatte ich die Hoffnung das man
mit den zahlreich beschriebenen Einstellungen die 16 BIT hinbekommt. 14
BIT wären ja auch schon sehr schön aber selbst die bekomm ich nicht
hin.

Also, meiner Meinung nach lügen die ganz ordentlich. Das Datenblatt ist
ebenso voller Zweideutigkeiten.

von Mark H. (haemi)


Lesenswert?

Salve,

16 bit Auflösung ist ja schön und gut, aber was Ihr wollt sind 16 bit
Genauigkeit. Und das sieht man dem SNR ja schon an, dass das nix wird.
Sie haben's nur netter verpackt, damit es nicht schon die Leute von
Einkauf merken, sondern erst die Ingenieure, die sich dann damit
rumplagen müssen. ;)

Was meint Ihr, was das für Mirakel-ADCs sein müssen, die in modernen 24
bit Consumer-Audiogeräten werkeln. Ich sage ja nicht, dass man zwischen
14 und 24 bit einen Unterschied hört, aber 24 bit in einer
PC-Soundkarte für unter 50 Euro... auf so eine Idee kann auch nur ein
Marketing-Fuzzi kommen. :)

Sorry für die wenig konstruktive Antwort. Ich kenne den besagten ADC
nicht. Aber ich wollte doch noch einmal auf den Unterschied zwischen
Auflösung und tatsächlicher Genauigkeit hinweisen. Und von ersterer ist
ja scheinbar im Datenblatt überall die Rede. Also lieber nicht zuviele
Hoffnungen machen.

Mark

von Bernd (Gast)


Lesenswert?

Hallo Mark,

ja der Unterschied zwischen Auflösung und tatsächlicher Genauigkeit ist
mir durchaus klar. Ich habe noch einige Tests durchgeführt, 12 - 13 BIT
ist absolutes Maximum. Falls also noch einer auf den Schrott von TI
setzt, aufgepasst, SD_16 ist ein faules Ei.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Macht doch mal eine Mittelwertbildung über mehrere Messewerte, dan habt
ihr eure 16 Bit Genauigkeit.

von Bernd (Gast)


Lesenswert?

Andreas,

das habe ich gemacht mit 8x Samples, mit 80 Samples, alle möglichen
Filtereinstellungen getested (mit Referenquelle), ISR, non ISR, HW
Filter, SW Filter, könnte noch Stunden erzählen (vor allem die vielen
Fehler, Marketing Formulierungen im Datasheet), kurz gesagt forget it.


Wenn ich das nicht alles schon getestet hätte, dann hätte ich diesen
Thread nicht aufgemacht.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ups, sorry, hab ich überlesen.

von Johannes (Gast)


Lesenswert?

Hallo Bernd,

lassen wir doch mal die Kirche im Dorf: 12-13Bit sind für einen in
einen Mikrocontroller integrierten ADC allemal ein ordentlicher Wert.
In so einer Umgebung ist der "Chip Noise" immer wesentlich höher als
bei einem separaten ADC, bei dem man sich auch schon ziemlich nach der
Decke strecken muss, um echte 16Bit verwertbare Auflösung zu
erreichen.

Das hat nichts mit Schrott zu tun, und mit Marketing-Gags nur insofern,
als dass TI dem Marktwunsch nach billigen(!) Controllern mit >10Bit-ADC
nachgekommen ist. Vergleiche einfach mal die Preise der MPS mit SD16-
und SAR12- oder SAR14-ADCs, und dann die jeweils gespecten Fehler...

Also ich finde, so schlecht steht der SD16-ADC gar nicht da.

Besten Gruß
Johannes

von Bernd (Gast)


Lesenswert?

Johannes,

dann schreibt man das auch so ins Datenblatt. Das 16 BIT unrealistisch
sind war mir klar, hätte ich auch toleriert. Das es im Datenblatt bei
der Angabe Signal/Rauschverhältnis plötlich 14 BIT sind zeigt ja das
hier was faul ist. 14 BIT wären akzeptabel. Unterstellt man nun das BIT
14 nun noch zum klassischen Fehler +- 1 LSB liegt so kommt man auf 13
stabile BIT's. In der Realität sind dann eben nur noch 12 BIT stabil.

TI hat ja nen SD_10, was schafft denn der ? 4 BIT ;-))

Also, der SD_16 verdient zu recht den Namen SD_12 ;-))) und das ist die
Wahrheit.

von Martin (Gast)


Lesenswert?

Ich schätze, dass Problem bei TI ist, dass die unterschiedlichen
Abteilungen gegeneinander konkurrieren, anstatt zusammen zu arbeiten.
Beispielsweise gibt es von den TI den MSC121x mit einem 8051-Kern und
einem 24-Bit AD-Wandler, der effektiv 20Bit erreichen kann. Leider
verbraucht der MSC121x aber sehr viel mehr Strom als ein MSP430.
Würde man den MSP430 mit dem AD-Wandler eines MSC121x kombinieren,
so hätte man ein spitzen Produkt, und der Preis würde sich auch noch
in Grenzen halten.

von Bernd (Gast)


Lesenswert?

Martin,

ja, dass kann man nicht immer so beurteilen. Im Prinzip finde ich den
MSP ganz nett, aber über solche Sachen ärgert man sich dann doch. Ich
verwende auch eine ganze Reihe an 8x51 Derivaten, wenn diese mit ADC
ausgestattet sind und im Datenblatt stehen 12 BIT (z.B. ADUC), dann
sind es auch 12 BIT, ohne Kompromiß.

Ich habe den Eindruck das TI einfach Marktanteile erobern will. Das
machen die in erster Linie über den Preis. Qualität scheint nicht im
Vordergrund zu stehen.

Schade, aus den Dingern könnte was werden. Das Konzept ist gut und die
Entwicklungsumgebung ebenso.

Warum sich unterschiedliche Abteilungen nicht zusammensetzten !? Große
Firmen haben eigene Gesetze.

von Karl vom Kanal (Gast)


Lesenswert?

Ohne diesen SD_16 zu kennen: wie sieht es denn mit der Hardware aus ?
Ist es ein fliegender Aufbau ? Entspricht die Leiterplatte den Regeln
der Kunst für 16 Bit ? Ist die Referenzspannung überhaupt stabil ?

Wenn man höchste Leistung fordert, sollte man sie auch selber erbringen
:-)

von Profi (Gast)


Lesenswert?

Evtl. musst Du den Processor anhalten, während die Wandlung läuft. Wenn
fertig, µP mittels INT aufwecken.
Macht man beim AVR auch so, wenn's genau sein soll.

Integrierte ADC sind immer so eine Sache, mit dem digitalen Rauschen.
Besser wird's mit einem externen (z.B. TI/BB ADS125x).
Da muss man auch schon froh sein, wenn man mit allem Drum und Dran
(Verstärker, Filter...) 18 Bits bekommt.

von Johannes (Gast)


Lesenswert?

@Bernd,

das steht im Datenblatt! Zwar nicht unter OSR1024, aber unter OSR256,
konkret auf S.46:

DC Power Supply Rejection = typ. 0,35%/V

(oder 1 LSB eines 8Bit-ADC!)

@Bernd und Martin,

Der Punkt ist, dass es Sigma-Delta-Wandler sind, die ganz anders
funktionieren als Successive-Approximation-Wandler und demzufolge ganz
anders gespect werden. Und: Das Sigma-Delta-Verfahren arbeitet immer
nur mit glatten Datenwort-Stufungen, egal wie viele Bits effektiv dabei
herauskommen. Also mit 8 Bit je Datenwort gibt es nur die drei
Auflösungen 8, 16 und 24 Bit...

uc?

Gruß Johannes

von Bernd (Gast)


Lesenswert?

Johannes,

mir ist nicht klar was du sagen willst, habe ins Datenblatt gesehen und
nichts neues entdecken können.

1 LSB pro 8 BIT ? meint 16 BIT -2 ???

Vielleicht kannst du das mal klarer formulieren.

von Martin (Gast)


Lesenswert?

Das mit 8-16-24 Bit bei Sigma-Delta-Wandlern stimmt so nicht.
Es gibt auch 18-Bit-Wandler (z.B. Max1401)

von arc (Gast)


Lesenswert?

- MSC12xx vs. MSP SD16: Aussage auf dem 430-Tag war, daß eine
  Integration aufgrund des verwendeten Prozesses nicht funktioniert
  und man keinen Grund für einen höher auflösenden Wandler für die
  430er sah (und sieht)
- PSRR: >80dB (0.35%/V ist die Drift der Verstärkung)
- die Probleme mit dem SD16 konnten hier im letzten (im ersten und
  letzten) Projekt mit diesem AD-Wandler auch nur mit sehr hohem
  Aufwand auf ein verträgliches Maß reduziert werden.
  Vorgehensweise, nach ähnlichen Schwierigkeiten: AD-Takt: 1MHz,
  OSR=512/1024, Messung/Mittlung des PGA-Offsets bei jeder Messung,
  Mittelwert über den Mittelwert aus 32 Messungen und der Ausgabe
  eines IIR-Filter und anschließendem FIR auf der PC-Seite.
  Ergebnis im besten Fall: ca. 15-Bit, bei 7.62-facher Verstärkung.
- bei den MSC12xx/ADS121x/ADS1254 wird zwar die effektive Auflösung
  angegeben, aber als ENOB(RMS). Aussagekräftiger sind bspw. die
  Angaben, die Cirrus z.B. beim CS5534, SiLabs beim C8051F35x oder
  selbst TI beim ADS1234 macht: RMS Noise und Noise Free Resolution

von Bernd (Gast)


Lesenswert?

arc,

ja, so bin ich in etwa auch vorgegangen. AD Takt=1MHz, OSR=1024,
Mittelung über 8 Messungen. Wie gesagt, habe auch diverse andere
Settings versucht aber bei den erwähnten Einstellungen das beste
Ergebnis erzielt.

Zusätlich Errata Sheet +VREF beachtet, korrektur Wert nach VREF, VREF
abgeblockt, ADC Eingangsfilter.

Viel mehr geht nicht, heraus kommen 12-13 BIT, ab BIT 14 ist Ende.

Gut zu wissen das TI das auf dem MSP430 day zugegeben hat, liege also
nicht so daneben.

von Johannes (Gast)


Lesenswert?

Ok, dann wollen wir mal :)

Erstmal entsprechen 0,35% eher mehr als weniger 1LSB bei
8Bit-Auflösung, und die LSBs verdoppeln sich mit jedem weiteren Bit.
Auf 16Bit-Auflösung hochgerechnet ergeben sich also 256LSB.

Nun sind die 0,35% aber pro Volt angegeben, d.h. sie werden nur in dem
Umfang wirksam, in dem die Spannung tatsächlich schwankt. Oder: Mit
jedem Faktor 2, um den die Spannung weniger schwankt, gewinnen wir 1
Bit Auflösung, sprich: bei 1/2V bekommen wir 9 Bit, bei 1/4V 10 Bit
usw. bis bei 1/256V Schwankung 16Bit Auflösung erreicht sind.

So, und jetzt sage mir mal jemand, wie man auf einem Controllerchip die
für 16Bit-ADC-Auflösung nötigen 4mV Versorgungsspannungsschwankung
tatsächlich erreichen kann...

@Martin
Klar kann ein separater SD-ADC auch beliebige andere Auflösungen
realisieren, denn er ist ja an keine bestimmte Datenwortlänge gebunden
wie etwa ein Controller. Ein Stichwort zum Thema ist die 1-Bit-CPU...

@acr
Ich mag mit dem DC PSR statt dem AC PSRR den "falschen" Wert
herangezogen haben (wovon ich noch nicht überzeugt bin) - die
Größenordnung des Einflusses von Vcc-Schwankungen bleibt doch
dieselbe.

Gruß Johannes

von arc (Gast)


Lesenswert?

Kleine Korrektur: Bei den F42x0, FE42x und F42x wird im Datenblatt CMRR
(Common Mode Rejection Ratio) und PSRR (Power Supply Rejection Ration)
angegeben. CMRR >90dB und PSRR >80dB bei Gain=1.
Beim F4270 zusätzlich noch der Gain Supply Voltage Drift (0.35%/V)
Beim F2013 wird dagegen CMRR (>90dB bei Gain=1), AC PSSR (>80dB) und
DC PSR mit 0.35%/V angegeben.
D.h. entweder ist der F2013 anders konstruiert oder die Angaben im
Datenblatt stimmen nicht.

von Bernd (Gast)


Lesenswert?

Der F2013 hat keinen Input Buffer, ist zunächst aber in der feature
Liste aufgeführt.

Das sind die Kleinigkeiten die ich meine. So etwas hat man recht häufig
im Datenblatt. Beispiel VREF, 100 nF recommended, 2 Seiten vorher, den
braucht man nicht (man braucht den 100nF). 8 IN Channel, dann aber ohne
100 nF, und so zieht sich das durch.

Nun wurde viel diskutiert aber das Problem nicht gelöst, kann man auch
nicht ;-)) ist eben ein Marketinggag ;-))

von arc (Gast)


Lesenswert?

Zur Problemlösung:
- DVCC bzw. AVCC haben jeweils 0.1uF und 4.7uF?
- DVCC AVCC nicht direkt verbunden sondern wie in den AppNotes
  über 20Ohm ?
- VRef gefiltert (hier 0.1uF und 1uF parallel)?
- Wird die Vref tON abgewartet >5ms
- Eingänge gefiltert bzw. ist die Settling Time noch ausreichend
  (MSP430x2xx User Guide S. 394 bzw. 718/742 für den MSP430x4xx)?
- Wird die Schaltung zufälligerweise über USB versorgt?

von Bernd (Gast)


Lesenswert?

arc,

kannst du mal die App. Notes hereinstellen, F2013 hat keine getrennten
DVCC, AVCC. Der Rest passt.

von arc (Gast)


Lesenswert?

Sry, die AppNotes beziehen sich nur auf die "Großen"

- MSP430F4270 Altimeter Demo
  http://www-s.ti.com/sc/psheets/slaa254/slaa254.pdf
- Implementing a Single-Chip Thermocouple Interface with the
MSP430x42x
  http://www-s.ti.com/sc/psheets/slaa216/slaa216.pdf
- MSP430F42x Single-Chip Weight Scale
  http://www-s.ti.com/sc/psheets/slaa220/slaa220.pdf

von Bernd (Gast)


Lesenswert?

danke, habs mir mal angesehen. Bringt aber im Moment nicht sehr viel.
Falls ich noch nen BIT mehr herausbekomme dann laß ich von mir hören.

von Johannes (Gast)


Lesenswert?

@arc und Bernd
Ich bin über die Zeit ja schon einiges an Verwirrung bei TI gewohnt,
aber das ist nun echt eine neue Qualität, nämlich dass ein und dieselbe
Controller-Option (hier: SD16) innerhalb derselben Familie von Member zu
Member so unterschiedlich gespect wird.
Danke, dass Ihr mich darauf aufmerksam gemacht habt.

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.