AD-Wandller - Kontrollregister unter Linux

Gast #4604673
Lesenswert?
• ▲
▼
Guten Morgen,
ich habe eine Frage zum AD-Wandler AD7998. Dieser hängt an einem 
Beagleboard. Die Overlays für den I2C1-Bus und der Konfiguration der 
GPIOs für CONVST und BUSY (Pullups) habe ich bereits geladen.

Um den ADC nun mit V_in_1 testen zu können, muss ich für Kanal 1 ein 
Conversion Start-Signal senden, um die EIngangsspannung überhaupt lesen 
zu können.

Mein eigentliches Problem stellt jedoch das Kontrollregister dar, da ich 
damit noch absolut nichts zutun hatte. Im Control Register müssen die 
Kanäle (Eingangsspannung an V_in_1), die beim nächsten CONVST-Signal 
digitalisiert werden sollen, konfiguriert werden oder? Falls ja, wie 
gehe ich da am besten vor, wenn ich unter Linux in einer Shell mit den 
i2c-tools arbeite?
Gast #4604692
Lesenswert?
• ▲
▼
Wo ist den genau dein Problem ?

du musst das Register setzen und die Daten da rein schreiben das geht 
mit den I2C Tools recht simpel ist aber recht aufwendig sinnvoller wehre 
es was mit einer anderen Programmiersprachen zu machen perl, python,c 
wen php bei dir die rechte hat ginge das auch.

Schau dir mal i2cset an für die Register und i2cget zum auslesen.
Gast #4604816
Lesenswert?
• ▲
▼
Es ist aufwendig, aber ich möchte es nur Testweise nutzen, um mir einen 
Wert ausgeben zu lassen.

Das Problem liegt darin, dass ich nicht genau weiß, wie oder was ich in 
das Register schreibe, um mir meinen Wert an V_in_1 beim nächsten 
Conversion Signal digitalisieren zu lassen.
#4604894
Lesenswert?
• ▲
▼
Also meist ist es so das es ein dev-i2c devices gibt. Dem wird per  ctrl 
die Adresse über geben und dann kann man read und write per fd darauf 
zugreifen.  Das Protokoll musst du selber inszenieren.

Möglich ist auch per proc oder sys Filesystem darauf zu zugreifen.  Ob 
der Treiben diese Funktionen zu Verfügung stellt weis ich nicht.
Gast #4609293
Lesenswert?
• ▲
▼
Ich habe es nun versucht, komme aber nicht weiter.

root@beaglebone:/# i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- 22 -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Adress Pointers auf Conversion Result Register setzen
root@beaglebone:/# i2cset -y 1 0x22 0x00

Den Wert als Wort auslesen (2 Byte)
root@beaglebone:/# i2cget -y 1 0x22 0x00 w
0xb80f

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