Problem with FT245BM

I have a strange problem with a FTDI FT245BM USB interface IC.

As soon as i enable the "pull down IO pins in USB suspend" option in the config EEPROM, I read a bunch of garbage data form the FT245BM after start-up. Without the pull-down option the FIFO is (as expected) empty after start-up.

I have the following setup:

- FT245BM connected to a ATmega64

- Configured as bus powered device (500mA)

- VCC and VCCIO are (for now) 5V

- VCC for the ATmega64 is switched using a IRLML6402 P-MOSFET

I think a have found what causes the FIFO state/content to be corrupted. FTDI write in one of the appnotes that reading from the FIFO while it is empty or writing to it while the TX buffer is full may lead to data corruption.

Using a scope i see that during init of the FT245BM (while PWREN is still high) the pull-ups of all interface pins (D0-7, WR, RD, TXE, RXF, SI) get turned on and off 3 times!?

As this only happens with the pull-down option enabled, my best guess is that the edges on RD corrupt the internal state of the FIFO.

The only help I got from FTDI is that the pull-ups are initially turned on, then the EEPROM is read and if the pull-down option is enabled they should get turned off until PWREN goes low. (I guess after they noticed that i'm "only" a hobbyist they stopped responding ...)

Has anyone here used the pull-down option with success?

Thanks in advance, Bertolt

Reply to
Bertolt Mildner
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.