Hallo zusammen, ich habe es nun geschafft meinen AD7147 über das FTDI Kabel, das einen FT232H enthält, zu verbinden und es werden zumindest bereits schon mal Daten übertragen. Beim Schreiben sieht das Signal auf dem Oszi richtig aus und beim Lesen bis nach dem 1. Byte auch. Dann kommt aber das ACK Signal genau gleichzeitig mit einer steigenden Taktflanke. Anschließend bleibt SDA immer auf high, da vermutlich der AD7147 keine Daten mehr schickt, weil er das ACK nicht richtig erkannt hat. Wie kann ich dies beheben? Hat jemand eine Idee? Ich verwende die libMPSSE.dll aus der original LibMPSSE-I2C. Hier gibt es noch eine weitere Version im File mit dem Source-Code, aber das Problem bleibt gleich. Grüße, Martin
Martin schrieb: > Beim Schreiben sieht das Signal auf dem Oszi richtig aus und beim Lesen > bis nach dem 1. Byte auch. > Dann kommt aber das ACK Signal genau gleichzeitig mit einer steigenden > Taktflanke. Vergessen, das auch SCL nur als Open-Drain betrieben werden muss? Schau Dir SCL auf dem Oszi sehr genau an, der Slave darf das auf Low ziehen für Clock-Stretching. Das müsste man eigentlich auch dann sehen, wenn der FTDI dort irrtümlich nicht auf Open Drain steht.
Hallo, ich habe deine Antwort nicht 100%ig verstanden, aber sie hat mich zumindest so weit gebracht, dass ich folgendes festgestellt habe: Es scheint so zu sein, dass der AD7147 versucht, den Clock noch etwas hinauszuzögern, was aber nicht richtig klappt, oder? An der markierten Stelle auf dem Bild erscheint ein Glitch der vielleicht schon als High durchgeht. Wie kann ich das lösen? Ein Kondensator möglicherweise? Grüße, Martin
Martin schrieb: > Wie kann ich das lösen? Ein Kondensator möglicherweise? Nö. SCL darf nur durch den Widerstand nach high gezogen werden, bei Dir ist aber offensichtlich der FTDI aktiv ("scharfe" Ecke bei 0->1, das muss genau so rund wie bei SDA aussehen). Ich sehe grade das SDA dasselbe Problem hat. Kennt der FTDI keinen vernünftigen Open Drain Mode in der Pin Konfiguration? Clock Streching kann MPSSE übrigens gar nicht. Versuche es mal einfach deutlich langsamer.
Jim M. schrieb: > Clock Streching kann MPSSE übrigens gar nicht. Versuche es mal einfach > deutlich langsamer. Das ist aber schlecht! Wie soll der denn dann das ACK vernüftig handeln? Immerhin entsteht ja ein Delay durch die Wandlung auf USB! Oder macht das der ACK selber und legt die Daten in einen Buffer?
Ich hatte auch mal das 'Vergnügen' mit der MPSSE I²C zu machen und hab es am ende vom Tag sein gelassen bzw. Bitbanging mit der MPSSE gemacht. Effektiv ist die MPSSE nur ein Schieberegister, mit dem man prima SPI und wohl auch JTAG machen kann. I²C wird mangels Open-Drain-Ausgängen und mehr oder minder manueller Erzeugung von Start- und Stop-Bedingung doch sehr wackelig. Wenn du nicht auf den FT232H festgenagelt bist, nimm den FT4222H, der kann anständiges I²C und in der Revision B auch Repeated Start.
Hallo, ich habe mir leider gleich das ganze Kabel C232HM-DDHSL-0 bestellt, wo dieser Chip verbaut ist und ja eigentlich im Datenblatt steht, dass dieses I2C kann. Daher wäre es schon toll, es damit zum laufen zu bekommen. Es läuft ja nahezu alles, bis auf das ACK. Im Source Code der MPSSE Lib gibt es mehrere Vorschläge 'to solve the glitch issue'. Es ist nur leider nicht ganz klar, ob damit dieser Glitch gemeint ist Beste Grüße, Martin
Hallo, es funktioniert nun. Danke euch allen. Ich habe eben direkt von FTDI eine Antwort erhalten mit einem Link zu einer Beta-Version (LibMPSSE-I2C_v0.6_BetaRelease _WindowsOnly.zip), die wohl diesen Fehler behebt und mit der auch weitere Bytes empfangen werden können. Ich glaube nicht, dass ich das hier hochladen darf, daher schreibt einfach an den Support von FTDI und fragt nach dieser Version, falls ihr mal ähnliche Probleme habt. Beste Grüße, Martin
Hallo Martin, Ich habe dieses Problem auch bekommen. Könnten Sie bitte die Beta-Version verschicken (LibMPSSE-I2C_v0.6_BetaRelease _WindowsOnly.zip) für mich, das würde mir viel helfen. Meine E-Mail ist jackpeng20060531@gmail.com Freundliche Grüße, Jack
Hi Martin schrieb: > Ich glaube nicht, dass ich das hier hochladen darf, daher schreibt > einfach an den Support von FTDI und fragt nach dieser Version, falls ihr > mal ähnliche Probleme habt. @Jack Was meinst Du, was Martin oben dazu geschrieben hat? Genau: Er ist sich nicht sicher, ob er die FW weiter geben darf und Er möchte, daß Du Dich selber an den Support wendest, um dort die FW zu bekommen, da Er keinen Ärger haben möchte. Aber ja, Deutsch ist gar nicht so einfach, obwohl Da Großbuchstaben und Satzzeichen, meiner Meinung nach in ausreichender Menge und an passender Stelle, verbastelt wurden. Dann noch viel Erfolg hier beim Warten, kannst Es gebrauchen. MfG
Hallo Jungs, Bitte ich habe, das selbe Problem und benötige dringend diese beta version. Kann jemand mir es zur Verfügung stellen? Mit VG Arnaud
Hallo Jungs, Bitte ich habe, das selbe Problem und benötige dringend diese beta version. Kann jemand mir es zur Verfügung stellen? meine E-mail: ouandjas@yahoo.fr Mit VG Arnaud
Wer suchet, der findet! Hier kann man libMPSSE__0_6_Beta.zip herunterladen (aber nicht von mir getestet) http://www.ftdicommunity.com/index.php?topic=23.0 Gruß
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.