Hi, ich versuche hier einen I2C Chip (besser gesagt ist es ein kleines Board mit einem Sensor drauf,) mit einem FTDI anzusteuern, sobald ich jedoch Daten auf dem Bus sende sinkt mir SCL nur auf 1.5V herab und ich bekomme kein ACK vom Client. Komischerweise geht SDA auf 0V herunter. Ich nehme an das der Pull-Up Widerstand hier zu klein ist? Testweise habe ich auch noch einen anderen I2C Master zur Kommunikation verwendet, dieser funktioniert problemlos, daher würde ich das Board an sich lieber nicht modifizieren. Kann mir hier jemand einen Workaround für dieses Problem vorschlagen? Vielen Dank, David
Hab's mir noch etwas weiter angesehen, also SCL und SDA gehen direkt in den chip hinein Der FTDI nimmt 20mA sobald SCL auf Low gesetzt wird, wobei wenn ich jetzt Ground mit dem Pin verbinde komme ich auf 26mA jetzt die Frage wie kann ich die restlichen 6mA auch noch fressen :-)
Moin, > ...mit einem FTDI anzusteuern ... Genau, die haben auch nur einen Chip im Angebot... > Ich nehme an das der Pull-Up Widerstand hier zu klein ist? Ja, nimm lieber 1206 oder noch besser einen bedrahteten... ;) Welchen WERT hat denn der Widerstand? > Kann mir hier jemand einen Workaround für dieses Problem vorschlagen? Naja, was erwartest du? Kein Schaltplan vorhanden, etc. Das Problem ist also mit einem wachsweichen Informationsgehalt beschrieben... Ist es wenigstens ein FT-Chip mit MPSSE? > ... also SCL und SDA gehen direkt in den chip hinein ... oO Was bedeutet das? Direkt verbunden? Das sollte die übliche Verbindungsart sein, ja. > Der FTDI nimmt 20mA sobald SCL auf Low gesetzt wird, ... 20mA ist m.E. zuviel. > ...wobei wenn ich jetzt Ground mit dem Pin verbinde komme ich auf 26mA > jetzt die Frage wie kann ich die restlichen 6mA auch noch fressen :-) Ein FT-Chip ohne MPSSE kann die Ausgänge nur schlecht oder gar nicht auf Tristate schalten, das nächst-"beste" ist Input. Hast du das für Tristate gemacht? Falls nicht, dann frisst eh irgendwann der Strom deinen FT-Chip. Ralf
Hi, in dem erwähnten Beispiel verwende dort keinen Pull-Up Resistor, das kommt bereits aus dem Chip raus. Einen EEprom Chip hatte ich direkt angesprochen indem ich einfach einen 10k Pullup Widerstand verwendet habe, das hat soweit auch funktioniert. Ich hab mir jetzt ein anderes Beispiel (USB Soundkarte mit EEprom) besorgt wo ein i2c eeprom angesteuert wird, wenn ich dort SCL mittels amperemeter direkt mit Grounding verbinde bekomme ich 60mA, wenn du schreibst das 26mA bereits zu viel ist was wäre denn normal - das verwirrt mich jetzt etwas? Kannst du mir eine Dokumentation bezüglich i2c Empfehlen? (Das Protokoll an sich ist ja leicht zu verstehen, damit habe ich soweit auch keine Probleme). Ich verwende das hier zum Spielen: http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User's_Manual Also ja, es unterstützt MPSSE damit spreche ich das auch an.
So nebenbei, der SN74LVC16T245 dort steht "Input clamp current" -50mA? Bedeutet das nicht das dort 25mA kein Problem wäre? Oder ist das der falsche Parameter? SN74LVC16T245 an dem hängt quasi der I2C Slave: http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sces636a&fileType=pdf Wenn ich den 50Ohm Widerstand (welcher sich auf dem TIAO Board beim i2c input befindet) parallel schalte mit einem 10Ohm Widerstand (rechnerisch kommt dann ja ca 8 Ohm raus) dann fällt die Voltage auf ca 0.2V was ja eigentlich reichen sollte.
Nachdem ich mir das, via MPSSE emulierte I2C Protokoll des FTDI Chips, angesehen habe muss ich ohnehin feststellen dass das nicht so einfach klappt. Der FTDI Chip spricht wohl kein funktionierendes I2C. Es hängen testweise 2 Master gleichzeitig am Bus, ich kann die soweit unabhängig ansteuern, funktionieren tut jedoch nur der Cypress I2C Master. Habe soweit einen Screenshot des Scopes an FTDI geschickt, die überprüfen das wichtig hier FTDI supportet nur die eigenen Boards, das Board das ich verwendet habe wird nicht supportet von denen (deren Windows Lib klappt damit einfach nicht ordentlich, alternative Software klappt) Ich bezweifle das die Funktionalität anders ist, aber wie es bei Firmen so ist .. durchaus verständlich das die keine alternativen Dinge supporten. Nunja heute mal kurz ab zum Elektronikladen und ein originales abholen. Scheint so als ob beim Ack etwas schief geht (zumindestens ist dort auf dem Oszi ein Unterschied zu erkennen). Das ursprüngliche Problem wurde durch einen einfachen Widerstand an der richtigen Stelle gelöst :-)
Angemerkt sei hier das I2C via MPSSE des FTDI2232H Chips mit einem Eprom funktioniert, es scheint der I2C Slave zu sein welcher hier wohl genaueres Timing benötigt. Wenn's um Timing Details geht ist MPSSE des FTDI2232H anscheinend sehr schwierig anzusteuern und ohne den FTDI Support wohl fast unmöglich.
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.