I have designed a product (small spectrometer) using FT234XD usb-to-uart bridge and it connects to any mobile phone via USB cable (90mA maximum current). My device acts as USB slave and can connect to any mobile phone which supports OTG. However, we are facing one problem. We are selling our product with lenovo tablet and user won't be able to disconnect the device and charge the tablet regularly.
I came across several links stating that most of the usb hardware in mobile phones and tablets have a mode in which mobile/tablet can act as USB master and still charge itself at the same time. So, we have tried several resistors across ID pin and ground of the usb connector but tablet either charge only or it detects the device.
Finally, I am considering one FT311D chips which may work for us but I am not sure if it will be possible with it. Can anyone help me with this problem? Should we try other things with existing hardware (FT234XD) or try this new FT311D chip?
EDIT:
My Tablet is Lenovo Tab 3 Essential Tablet. I am planning to try FT312D. Good news is that my team ran few software tests and get to know Tab software supports Android usb accessory mode. In this mode, FT312D will be the host and I think I can charge the tab and communicate with it. I think It will work because tab will be in slave mode and can charge itself while communicating with my device and only thing required support of accessory mode in software. Am I correct?
EDIT 2
My device has PIC24E 16-Bit microcontroller. There is no USB Protocol specific firmware in PIC24EP. PIC24EP just communicates with mobile application using string based commands. PIC sends commands over UART and FT234XD converts them to USB. Commands received from Android application is converted to commands over UART and is returned to PIC. So, I think changing USB part of my device doesn't require any change in firmware of my primary microcontroller.
FT311Dchip from FTDI. So it is not duplicate. – abhiarora Jan 07 '18 at 18:29