Reset of AN21xx chip using DISCON while connected to host

Question: Why does the host computer not recognize the reset of connected AN21xx chip? The driver is not unloaded and the device does not reload its firmware.

 

Answer:

This is because the AN21xx series of chips reset with the DISCON bit set to connect to the bus.  Since the part was connected to the bus the system does not recognize that the chip has changed.  What needs to be done is to place in the initialization code a removal of the DISCON signal from the bus.  When you reconnect to the bus depends on how your device is powered.  If you are powered by the bus, after the host has had time to recognize the device was removed, then you can reconnect.  If your device is self powered you must first verify that the device is connected to the bus by sensing VBUS.