www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Chip Ansteuerung?


Autor: Gerd F. (gerd_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Auflösung des internen ADC des 89C51CC03ers reicht für mein Projekt 
leider nicht aus. Ich möchte Strom messen (60mv Shunt - 150A) Bei 10 Bit 
bekomme ich eine Auflösung von 146 mA, deshalb würde ich gerne einen 12 
Bit ADC einsetzen, dann bekommme ich immerhin 36,6 mA Schritte, das 
sollte dann reichen um die entnommene und zugeführte Leistung 
einigermassen genau zu ermitteln.

Ich habe mir den 12 Bit ADS7816 rausgesucht, er wird seriell angesteuert 
über !CS, DCLOCK und Dout. Ich möchte das folgendermassen machen:

- Mit einem Port DCLOCK hin und her schalten.
- Den Chip mit CS=0 aktivieren.
- Während den nächsten 12 Impulsen die bits von Dout lesen und zu einem 
12 Bit Wort zusammensetzen.

Ist das das richtige Vorgehen oder gibt es da eine elegantere Lösung?

Gruss
Gerd

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch die Möglichkeit, die Auflösung eines gegebenen Wandlers 
durch Oversampling zu erhöhen. Das setzt natürlich die effektiv 
erzielbare Samplerate herab; um vier Bit zusätzliche Auflösung zu 
gewinnen, ist 256faches Oversampling erforderlich, bei zwei Bit genügt 
16faches Oversampling.

Dieses Konzept ist in einer AppNote* von TI beschrieben, ich habe es 
erfolgreich mit dem in verschiedenen MSP430-Varianten verwandten 
12-Bit-A/D-Wandler umgesetzt (auf 'F449, 'F1611 und 'F5438), mit dem so 
stabile 16 Bit Auflösung erreicht wurden.

Das Prinzip ist einfach: 256 Samplewerte werden addiert und die 
resultierende Summe durch 64 geteilt.

*) 
http://focus.ti.com/general/docs/lit/getliterature...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. Firefly schrieb:
> Das Prinzip ist einfach: 256 Samplewerte werden addiert und die
> resultierende Summe durch 64 geteilt.

Kann man machen, wenn man sie gerne selber in die Tasche lügen will.
Das Ergebnis ist hochgradig vom Rauschen des Signals und des ADC 
abhängig.
Es ist im allerbesten Falle monoton, aber keinesfalls linear.

Ich hab das selber mal mit nem ATmega8 probiert, der hat auch nen 10 Bit 
ADC. Ich habe nichtmal ein 11. Bit rauskitzeln können.

Wenn ein ADC so gut wäre, daß er 12 Bit Auflösung schafft, warum sollte 
dann der Hersteller nur 10 Bit ausgeben?


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd F. schrieb:
> Ist das das richtige Vorgehen oder gibt es da eine elegantere Lösung?

Ja, so wird das gemacht.
Nennt sich Software-SPI.


Peter

Autor: Gerd F. (gerd_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab den 12 Bit ADC auf meinem layout auch schon untergebracht, es 
geht mir nur noch um die Softwaremässige Ansteuerung, ob der oben 
beschriebene Weg so funktionierten wird oder ob man das anderst macht, 
ich hab eben nich nie mit einem Chip der auf diese Weise angesteuert 
wird, gearbeitet.

Gruss
Gerd

Autor: Gerd F. (gerd_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter, unser Treat hat sich gerade überschnitten :-)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hat möglicherweise auch mit dem Aufbau des ADC zu tun, da gibt es ja 
unterschiedliche Funktionsweisen. Daß TI vollständige Augenwischerei 
betreibt, das wage ich zu bezweifeln.

Peter Dannegger schrieb:
> Wenn ein ADC so gut wäre, daß er 12 Bit Auflösung schafft, warum sollte
> dann der Hersteller nur 10 Bit ausgeben?

Nun, er ist dann ja erheblich langsamer, was sich nicht so schick 
verkauft.

Ich werde mal meinen Testaufbau (besteht im wesentlichen hieraus: 
http://olimex.com/dev/msp-449stk2.html) überprüfen, ich kann dafür eine 
Präzisionsspannungsquelle mit vier Dekaden und auch eine 
Widerstandsdekade mit sechs Dekaden verwenden; Kontrollmessungen kann 
ich mit einem genauen kalibrierten DVM anstellen.

Kann jetzt aber noch nicht genau sagen, wann ich dazu kommen werde; im 
Büro ist gerade Land unter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.