www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik A-/D Wandler an ARM9


Autor: Melanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es sollen Spannungspegel von Thermopiledetektoren gemessen werden. Diese 
werden zunächst verstärkt und sollen dann mit einem Mikroprozessor 
ausgewertet werden.
Dabei handelt es sich um einen AT91SAM9261 auf dem ein in C 
geschriebenes Programm unter Linux läuft.
Was dazwischen nun fehlt sind A-/D Wandler.
Bisher wurde eine NI Messkarte verwendet, dessen ADC eine 16bit 
Auflösung hat. Benötigt werden 100 - 200 SPS - die Pegel ändern sich mit 
Frequenzen von 1-5 Hz.
Hat jemand Anregungen welche Wandler geeignet wären?
Mal angenommen passende ADCs wurden gefunden, wie sieht die Verbindung 
genau aus? Also wie kann das Ergebnis der AD-Wandlung mit dem C-Programm 
gelesen werden? Wird ein Ausgangspin des ADCs mit einem GPIO des 
µProzessors verbunden? Außerdem sollen mehrere unterschiedliche 
Spannungen gemessen werden. Sollte man mehrere 1Kanal oder 2 bzw. 
Mehrkanal-ADCs verwenden?

Gruß
Melly

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Melanie schrieb:

> Mal angenommen passende ADCs wurden gefunden, wie sieht die Verbindung
> genau aus? Also wie kann das Ergebnis der AD-Wandlung mit dem C-Programm
> gelesen werden? Wird ein Ausgangspin des ADCs mit einem GPIO des
> µProzessors verbunden? Außerdem sollen mehrere unterschiedliche
> Spannungen gemessen werden. Sollte man mehrere 1Kanal oder 2 bzw.
> Mehrkanal-ADCs verwenden?
>
> Gruß
> Melly

Die externen Wandler gibt es mit SPI oder einem Adr/Datenbus. Falls es 
SPI ist, dann gibt der Wandler einen Interrupt sobald ein Ergebnis 
bereit steht auf einen Ausgang, der mit einem Interrupt Pin des 9261 
verbunden sein muss. Ueber das SPI Interface liesst Du dann das 
Ergebnisregister aus.

Alternativ, groessere Bauform und eher nicht so geeignet ist ein ADC mit 
eigenem Datenbus. Dieser Ansatz ist bei Hochgeschwindigkeitswandlern 
wichtig, denn dort koennte SPI zum Flaschenhals werden, also nicht 
gerade Deine Anwendung.

Solche Wandler gibts von Analog Devices, Maxim und noch einigen mehr.

Gruss, Robert

Autor: Melanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man z.B. mehrere ADS7813 ADCs verwenden möchte, benötigt man dafür 
4 + Anzahl der Wandler Pins am µP (bei 8 Wandlern z.B. 12), richtig?

So wie ich das Datenblatt verstanden habe braucht man

conv um eine Umwandlung zu starten
busy zeigt an, dass eine Umwandlung im Gange ist
Data stellt die Daten bereit
und über Dataclk wird der Takt vom µP vorgegeben
weiterhin noch ein chipselect bin zur Auswahl des ADCs

Wenn man nun vom µP die vier Pins mit jeweils allen Wandlern verbindet 
und zusätzlich an verschiedenen Pins jeweils CS der ADcs verbindet 
sollte das funktionieren?

Wäre die Vorgehensweise dann so?:

Pin für AD-Wandler setzen somit ist cs beim entsprechenden ADC gesetzt.
delay?
pin conv setzen 0
delay?
busy pin überprüfen? auf 0
delay?
busy pin überprüfen? auf 1
delay?
daten von pin lesen
conv auf 1
cs auf 1

Beim Lesen habe ich was davon gelesen, dass nur 1 Byte = 8 Bit 
übertragen wird aber man braucht hier 2 Byte=16 Bit?!

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.