Forum: Mikrocontroller und Digitale Elektronik PIC18F4550 über I²C an MAXIM7349


von Stefan (Gast)


Lesenswert?

Hallo,

ich versuche a, GPIO-Demoboard von Microchip
den I²C Bus zu nutzen um einen "Tastenbaustein"
von Maxim anzusteuern (MAX7349).

Sobald ich die Datenleitung des MAX7349 an den I²C Bus anschließe,
wird diese Leitung auf Masse gezogen. Der ganze I²C Bus ist dann quasi 
TOT.
Hab schon den 2. Baustein auf meiner Platine aber keine Besserung.
Ist das Verhalten Normal? Hab ich vielleicht was vom I²C falsch 
verstanden?


Gruß Stefan

von Zwirbeljupp (Gast)


Lesenswert?

Schaltplan?

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Hier der Schaltplan meines Testboardes.

Damit gehe ich dann auch die bereits Funktionierende
I²C Schnittstelle des Microchip GPIO-Demo Boardes. Diese Wiederum führt 
direkt zu den I²C Pins des PIC´s.

Gruß stefan

von Dirk W. (Gast)


Lesenswert?


von Zwirbeljupp (Gast)


Lesenswert?

Da felt schonmal der Abblockkondensator am MAX7349.
Abgesehen davon fällt mir nichts schlimmes auf und der MAX darf 
eigentlich nicht von sich aus den Bus auf low ziehen.
Der PIC läuft vermutlich mit 5V?

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ja der läuft mit 5V. Aber die Verbindung zum Max7349 besteht nur über 
die
gemeinsame Masse und über die I²C Leitungen. Diese sind laut Datenblatt 
5V kompatibel.

Anstatt Kondensator hab ich ein einzelnes Labornetzteil für die sauberen 
3,3V - Aber ich probiers aus.

Pullups sind auf dem Microchip GPIO Demomodul. Dort funktioniert auch 
schon die I²C Kommunikation mit den Mircochip Portbausteinen MCP23008 
usw. auch das Display funktioniert. Eben bis ich den Max anschließe - 
dann ist der Bus TOT.
Die Leitung hat keinen kurzschluß!. Hab schon den 2. Max drin. Hab das 
Gefühl der WILL die Leitung runter ziehen. Deswegen dachte ich ich habe 
was mit dem I²C Protokoll nicht verstanden.

Gruß Stefan

von Stefan (Gast)


Lesenswert?

HI,

ich habs.
Mein Multimeter zeigte gut 0,5V falsch an - ich glaub ich habe
beide MAX7349 geschrottet.
Mit nem neuen gehts nun, die Spannungsversorgung mach ich nun lieber 
über nen LM3940 - dann geht da nichts schief.

Nun ne frage zur Kommunikation.

Ich Programmier das mit dem C18 Compiler in C.

Ich möchte den MAX ansprechen. Geht das in dieser Art?


          I2CStart();
     WriteI2C(0x70); // Opcode write mode, addr ess 0x01
     WaitForACK;
     WriteI2C(0x00); // Command Byte: Keys FIFo
     WaitForACK;
     WriteI2C(0xff); // Data byte: D0-D7=High
     WaitForACK;
     I2CStop();

Gruß Stefan

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.