Forum: FPGA, VHDL & Co. Mico32 mit STTS75 über I2C


von Ber (Gast)


Lesenswert?

Hallo Forengemeinde,

ich verwenden einen Lattice ECP2-20 mit integriertem Mico32.
Ich möchte über den I2C Bus einen Temperatursensor vom Typ STTS75 
ansprechen. Die Adresse des Sensor lautet 0x90.

Ich habe es so gemacht:
1
OpenCoresI2CMasterWriteByte(temp,    // Name des I2C Moduls
2
      0x90,    // Adresse des Sensors
3
      0x50);   // mal irgendwelche Daten

Wenn ich mir das dann am Oszilloskop anschauen wird nur 0x10 gesendet 
und sonst nichts.
Was (und wie) muss ich dem Sensor senden, damit er mir dann 16 bit 
Temperaturdaten zurücksenden?
Ist das erste Mal, dass ich mit I2C arbeite, blicke da noch nicht so 
richtig durch.
Wenn das jemand erläutern könnte, wäre ich sehr dankbar!

Vielen Dank,
Ber

von Ber (Gast)


Lesenswert?

Hab mich bei der Adresse vertan schäm
Funktioniert jetzt perfekt.

Lg
Ber

von Uwe Bonnes (Gast)


Lesenswert?

Kaum macht man es richtig, schon funktioniert es ;-)

von Ber (Gast)


Lesenswert?

Du hast es erfasst ;-)

von Duke Scarring (Gast)


Lesenswert?

Jaja, die Adressen bei I2C sind immer mal wieder ein Stolperstein.
Das klassische I2C verwendet ja 7 Bit für die Adresse und 1 Bit um 
Schreiben/Lesen zu signalisieren.

Das sind zusammen ein Byte. Oft wird -- der Einfachheit halber -- dieses 
als Adresse angegeben. Da muß man immer genau gucken, wie die 
Bibliotheksfunktion das haben will.

DUke

von Ber (Gast)


Lesenswert?

Hallo,

ich muss das Thema I2C leider noch einmal aufgreifen, da ich 
mittlerweile doch Probleme damit habe.
Ich verwende unter anderem einen PWM den ich mit anderen PWM's verunde 
um ein Stroboskop zu erhalten. Ich beginne mit 1Hz bis 25Hz 
Strobefrequenz.
Sobald ich den OPENCORES I2CMaster(3.1) in meine Platform einbinde passt 
meine Strobefrequenz nicht mehr, sie läuft von 1,5Hz bis 37,5Hz.
Ich habe weder die SDA und SCL Pins verdrahtet noch das I2C Module in 
meiner Software eingebunden.
Hatte irgendjemand schon mal ein ähnliches Problem und kann davon 
berichten?
Einen Fehler im VHDL schließe ich doch eher aus, da alles so 
funktioniert wie es soll wenn ich das I2C Modul in der Platform 
deaktiviere.
Weiß nur momentan leider nicht wo ich anfangen soll zu suchen...

Vielen Dank
Ber

von Duke Scarring (Gast)


Lesenswert?

Kannst Du mal eine Skizze von Deinem System erstellen? Was ist denn bei 
Dir "echte" Hardware, was im FPGA und welche Funktionen sind als 
Software realisiert.

Wenn Du SDA und SCL nicht angeschlossen hast, hast Du sie wenigstens 
intern auf 'H'-Potential gelegt? Vielleicht löst Dein I2C-Core ständig 
Interrupts aus und verlangsam so die Software. Ist nur eine Vermutung, 
wie gesagt, mir fehlt der Systemüberblick.

Duke

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
Noch kein Account? Hier anmelden.