631
Discussion - Hardware / Re: ft232h suspend mode
« on: August 07, 2019, 03:35:19 pm »
Hello Rajesh,
USB suspend is controlled by the USB host telling the peripheral device to go to suspend.
The FTDI drivers do not force the FTxxx devices to go to suspend.
If the USB data bus is idle for >3ms the USB host should put the FTxxx into suspend.
To prevent this happening you should ensure there is always data within 3ms.
The 245 FIFO interface should only be written to when the TXE# pin is logic 0.
The TXE# pin will go to logic 1 and back to logic 0 for every byte latched in.
If the application on the PC never reads any data the buffer on the PC (64kbytes) and the buffer on the chip will become full.
When these buffers are full the TXE# line should remain at logic 1 until the application on the PC does a read to free up some space.
Some users report TXE# goes back to logic 0 after a brief period (actually matches latency timer).
This can result in data loss due to overrun.
To prevent this from happening the application on the PC should have set flow control for RTS_CTS flow control.
Although the hardware does not have RTS/CTS pins the driver does not know this, but it is now forced to monitor certain status bits, which allows the TXE# pin to be kept at logic 1 until space is made available.
Best Regards,
FTDI Community
USB suspend is controlled by the USB host telling the peripheral device to go to suspend.
The FTDI drivers do not force the FTxxx devices to go to suspend.
If the USB data bus is idle for >3ms the USB host should put the FTxxx into suspend.
To prevent this happening you should ensure there is always data within 3ms.
The 245 FIFO interface should only be written to when the TXE# pin is logic 0.
The TXE# pin will go to logic 1 and back to logic 0 for every byte latched in.
If the application on the PC never reads any data the buffer on the PC (64kbytes) and the buffer on the chip will become full.
When these buffers are full the TXE# line should remain at logic 1 until the application on the PC does a read to free up some space.
Some users report TXE# goes back to logic 0 after a brief period (actually matches latency timer).
This can result in data loss due to overrun.
To prevent this from happening the application on the PC should have set flow control for RTS_CTS flow control.
Although the hardware does not have RTS/CTS pins the driver does not know this, but it is now forced to monitor certain status bits, which allows the TXE# pin to be kept at logic 1 until space is made available.
Best Regards,
FTDI Community