I have an Arduino Nano with USB port connected fix to the FTDI. I also have a cheap audio module called DFPlayer (link), whose chipset (YX5200-24SS) has USB signals (U+/U-).
Naturally I had the bright idea to simply connect these 2 signals to the corresponding leads of the USB port and see what happens.
Nothing at first, my PC (running WIN10) kept indicating that a new USB device is recognized, but I could still only use the FTDI but not access the USB device.
I posed myself the following question: how can I make the FTDI chip release the USB bus? Looking through the manual I only found a single reset signal, so I made it accessible (pin #19 of the FT232RL).
I observed the following:
- if I plug the USB port, I can use it to download code (normal operation)
- if I pull the FTDI reset to GND, I cannot upload code, BUT the PC recognizes the USB device and I can manipulate the SD-card contents on the DFPlayer module
- if the reset is released (floating or connected to 5V), I still see the SD-card, and cannot access the FTDI
- now it gets more confusing. I can work again with the FTDI, but only after rebooting the PC (?), and I'm also not sure if I can recover FTDI operation unless I remove the connections from the DFPlayer to the USB port.
My goal: connect both USB device and FTDI to same USB port. In the program code I can control the FTDI reset with a digital I/O, so in a certain mode I can choose to make the USB device visible (advantage is, I do not have to remove the SD-card to change content). When I leave this mode, I want to have FTDI to work again if I want to download code.
My question: Can it work? Can someone explain the theory of operation behind it?