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
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
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?!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.