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?
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.
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.
Peter schrieb: > dass ich nicht genau weiß, wie oder was ich in > das Register schreibe Das steht im Datenblatt.
Hmm, da stehen viele Infos, aber ich komme trotzdem nicht weiter ...
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.
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
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.