I'm working on embedding a CP2102 USB-to-serial adapter in a G2231 project to allow BSL flashing of new firmware without using a Launchpad. While the CP2102 has a 3.3V regulated output, it may be simpler, depending on the circuit, to let the G2231 be powered from its own regulator during the BSL process. But that would require providing a way for the CP2102 to reset the G2231 so it could come back up in BSL mode.
I can't just connect the DTR output of the CP2102 to /RST because when the CP2102 is powered down, all of its lines sink significant current, and that would keep the /RST pin low. So what I see used in various Arduino projects is connecting DTR to /RST through a capacitor. That lets the flashing software bring the DTR line low briefly to initiate the reset, then back high, but there is no direct DC connection. The docs say I can have a 2 nF cap from /RST to ground without interfering with SBW, but I would have that going to DTR instead, which when powered down would essentially be ground. Of course I would need to make sure that's enough capacitance to overcome the 47K resistor long enough to trigger a reset.
My question about this is what happens when DTR goes high when the USB cable is plugged in, or suddenly goes back high after the reset is initiated. In theory, that would present up to a 6.6V spike at /RST. Is the idea that the protection diode will dissipate the excess voltage back into Vcc? And for a chip that uses so little power, would that cause Vcc itself to spike above its absolute maximum?
It seems to me that the only really safe way to do this is add a (Vcc + .2V) zener diode from /RST to ground, but I would sure hate to do that if it's unnecessary. As practical matter, should I just not worry about such a small spike? Apparently that works for Atmels. What do you think?