Guten Abend, ich arbeite an einem Projekt zur Steuerung und Reglung mithilfe eines Beaglebone Black Boards. Es läuft unter Debian 3.8.13 mit einem BB-View Cape, nächter Schritt sollte die Kommunikation mit einem DS1621 sein. Nun, nachdem ich den I2C1 des Boards wieder auf Pin P9_17 und P9_18 gelegt habe, wollte ich es testen. Über i2cdetect finde ich auf dem I2C1 meinen Sensor mit der Adresse 0x48 Will ich nun mit i2cdump -y 1 0x48 den Sensor lesen, erhalte ich eine Reihe "XX". Eine TinyRTC arbeitet einwandfrei. Ich habe den Sensor ebenfalls mit 2.6k Pullups angeschlossen, ohne erfolg. Leider ist das mein Einstieg in Linux, ich bitte um etwas nachsicht falls es ein offensichtlicher Fehler sein sollte. Ich hänge an dieser Stelle jetzt schon seit Stunden und habe google und co gefragt. Leider habe ich nicht wirklich etwas gefunden, da ich weitgehend Fälle finde wo der Teilnehmer garnicht erkannt wird, oder flasche Werte gelesen werden. Für direkte Hilfe oder einen Anstoß in die richtige Richtung wäre ich sehr dankbar!
Hallo! Der DS1621 hat als binäre Basisadresse: bit7..............bit0 1 0 0 1 A2 A1 A0 R/W Das kommt also mit Deinem 0x48 nur dann hin, wenn man sich das Read-Write-Bit wegdenkt. und A0-A2 am Chip auf Low sind.
Guten Abend, gut das ist soweit richtig, A0-A2 liegen auf GND. ___________________ root@beaglebone:~# i2cdetect -r 1 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-1 using read byte commands. I will probe address range 0x03-0x77. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- ____________________ Die Abfrage von 0x49 welcher nicht verbunden ist, erfolgt nahezu sofort: ____________________ root@beaglebone:~# i2cdump -y 1 0x49 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX 90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX ____________________ Frage ich 0x48 ab, dauert es pro Byte ca. 1sek. ____________________ root@beaglebone:~# i2cdump -y 1 0x48 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX ^C ____________________ Also nehme ich an läuft dort schon etwas schief (Timeout, repeat, acknowledge) Mir fehlt allerdings jeglicher Ansatz zur Lösung und/oder analyse des Fehlers da man im Netz mit Infos überflutet wird und nicht weiß was zutrifft. Kann es mit den Treibern für den I2C zu tun haben? Ich finde einen Treiber für die DS1307, allerdings nichts für den Ds1621 - wobei dazu die Suche im Netz ebenfalls nur bedingt erfolgreich war.
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.