Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

DAC MAX521 mit I2C Kategorie: I²C-Bus (von Pirre - 8.06.2011 12:27)
Ich nutze:
C-Control Pro Mega32
Hallo,
leider ist es mir noch nicht gelungen, den 8 Kanal DAC MAX521 via I2C zu kontrollieren.
Laut Datenblatt wird die Kommunikation mit einer Startbedingung begonnen (SCL und SDA high,
SDA wechselt auf low). Darauf folgt die 8 Bit Slaveadresse mit einem ACK als 9. Bit. Nun wird
ein Kommandobyte (8 Bit) gesendet, gefolgt von einem ACK Bit. Darauf folgt das Datenbyte für den
DAC-Wert mit ACK als 9. Bit. Am Ende wird eine Stopp-Bedingung benötigt, d.h. SDA von low auf
high, während SLC high ist. Im Nichtkommunikationszustand müssen also SDA und SLC high sein.

Schema:

SCL = high, SDA = high

Start-Bedingung: SDA high -> low
Slaveadresse (8 Bit) + ACK
Kommandobyte + ACK
Datenbyte + ACK
Stoppbedingung: SLC = high, SDA low -> high

SCL = high, SDA = high

Eine Spannungsmessung der SDA- und SLC-Pins ergab jedoch nach dem I2C_Stop()-Befehl einen
low Pegel an diesen Pins.
Da ich keine Erfahrung mit I2C habe weiss ich nicht, ob die Start- und Stoppbedingung
standardisiert ist oder ob die C-Control Bedingungen nicht denen des MAX521 entsprechen.
Auch weiss ich nicht, ob ein gesendeter Befehl der C-Control I2C-Schnittstelle automatisch mit
einem ACK beendet wird oder ob dies separat erfolgen muss (wenn ja, wie? in der Doku fand ich dazu
nichts).
Kann mir jemand weiterhelfen bzgl. dieser Start-/Stopbedingung und dem ACK?
Der MAX521 kann übrigens nur empfangen.
Vielen Dank!


    Antwort schreiben


Antworten:

Re: DAC MAX521 mit I2C (von Franz-Peter - 8.06.2011 15:31)
    Re: DAC MAX521 mit I2C (von Pirre - 8.06.2011 17:21)