Hallo zusammen, benutze ein FT2232H um Daten von einem FPGA an den PC zu übermitteln. Ich hab den FT2232H in den FT245 Synchronous FIFO mode gesetzt (die 60MHz sind "freigeschaltet"). Wenn ich jetzt mit dem Oszi die beiden Ausgänge TXE und RXF anschaue sind allerdings beide permanent auf high. Hab beim einstellen des BitMode mit dem Befehl FT_Purge den RX-FIFO und den TX-FIFO gelöscht. Ansonsten hab ich mich an das Beispiel, welches in dem User-Guide gegeben ist gehalten. Meines erachtens müsste TXE auf low gehen damit ich Daten in den FIFO des FT2232H schreiben kann. Der Zustand von RXF müsste korrekt sein, weil keine Daten in dem FIFO sind. Hat jemand von euch schonmal das Problem gehabt oder weiß jemand zufällig woran es liegen könnte, dass das TXE Signal nicht auf low geht? Vielen Dank schonmal für eure Tips TF
Ich habe das damals so gelöst: S_READ_FIFO_DATA <= FIFO_IS_EMPTY nor FT2232H_TXE; READ_FIFO_DATA <= S_READ_FIFO_DATA ; process(FT2232H_CLK) begin if(FT2232H_CLK'event and FT2232H_CLK='1')then if(SYNC_USB_RESET = '1') then FT2232H_WR <= '1'; elsif(S_READ_FIFO_DATA = '1') then FT2232H_WR <= '0'; else FT2232H_WR <= '1'; end if; end if; end process;
Man muss mit FTPROG auf syn FIFO umschalten und man benötigt einen externen EEPROM für den sync FIFO Mode Zudem muss man noch in der PC etwas umstellen damit der sync FIFO funktioniert hierzu müste ich allerdings auch noch mal nachschauen.
Morgen, hab die Einsellungen mit dem FT-Prog gemäß dem angehängten Bild gemacht. Wenn man die nicht macht, bekommt man laut Datenblatt auch nicht den Sync Mode... Hab mir eine FSM gebaut die jenachdem welchen Zustand TXE und RXF haben die Zustände wechselt... Grüße TF
Bitte die Datenblätte genau lesen: Wie bereits oben beschrieben reicht es nicht nur mit dem FT_Prog oder MProg die Einstellung vorzunehmen, sonden man muss auch noch eine PC Sotfware schreiben un dort einige Einstellungen vornehemen: Es gibt in der FTDI DLL die Funktion Set_Bit_Mode. Diese habe ich zuerst mit dem Parameter "Reset Bit Mode" ausgeführt als Bitmaske verwende ich immer 255. Wenn kein Fehler aufgetreten ist dann wird die gleiche Funktion mit dem Parameter "Single Channel 245 Synchronous FIFO" ausgeführt. Anschließend rufe ich die Funktion Set_Flow_Control mit dem Parameter "RTS-CTS" auf. Dies muss eingeschaltet werden, damit keine Daten verloren gehen. So stand es zumindestens mal im Datenblatt. Danach hat es bei mir funktioniert.
Morgen, hab ja ein C++ Code geschrieben wo ich über FT_SetBitMode, FT_SetLatencyTimer, FT_SetUSBParameters, FT_SetFlowControl die entsprechenden Parameter setze. Anschließend lösche ich den RX und TX Puffer über FT_Purge. Mein Problem ist nur wenn ich den Synchronous Mode setze und mein FPGA unkonfiguriert ist sehe ich im Abstand von der eingestellten LatencyTime wie mein TXE für 150ns auf High geht und anschließend auf Low geht. Hab ich allerdings meinen FPGA mit meiner FSM konfiguriert dann geht der TXE auf dauer high. Im moment frage ich die beiden Signale (RXF und TXE) über eine FSM mit 3 Zuständen (idle, RX und TX) ab.
Ich benutze selber einen UM245R mit dem FT245R Chip. Ich persönlich habe nur ein paar Einstellungen unter FTProg vorgenommen, ähnlich wie T.F. es auch gemacht hat. Bei mir hat es auch dann sofort funktioniert. Allerdings hatte ich auch eine FSM programmiert und hatte andauernd undefinierte Zustände in der FSM. Irgendwann ist er einfach rausgesprungen, obwohl dies unmöglich war. Dann habe ich die Signale TXE und RXF vorerst einsynchronisiert und die Probleme waren dann auch gelöst. Benutze ihn schon seit einiger Zeit so und läuft einwandfrei. Gruß Cihan
Hast Du auch die richtigen Ports auf Eingang gestellt? Hast Du die richtigen Spannungen an die Bänke angeschlossen? Hast Du auch einen externen EEPROM für die FT2232H verwendet?
Hatte gleiches Problem. lag am SIWU-Pin, der ist low-aktiv (wenn PWREN# high, was bei mir fest ist), sthet ein wenig verwirrend im Datenblatt. Auf high gesetzt und ging.
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.