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?
meine E-mail: ouandjas@yahoo.fr
Mit VG
Arnaud