I have designed a PCB which has
LM1117 (for 3.3V),
Micro USB connector,
MCP2200 usb-to-uart bridge,
12 MHz SMD crystal and few passive components.
We have been observing the PCB for some weeks and observed that the
PCB doesn't work everytime. When I connect to any system, sometimes system throws an error "USB Device not recognized" (in
windows) or "Device read/write descriptor failed" (in
Linux) and then it doesn't work for hours and start working after sometime. I have reviewed my circuit and didn't have any solution to solve this issue. After resoldering the board and replacing old components several times, we have ruled out soldering/component issue. I think somehow the crystal is not able to start or there could be some race condition between voltage at
RST pin but I am not sure how to find the real problem and solve it with MCP.
The schematic of MCP2200 is shown below:
The layout of my PCB: (MCP2200's Pad is in green and left side of the picture with USB connector at top left corner)
The crystal that I am using is this.
Have you looked at figure 1-7: -
It may be that you need to insert a resistor as indicated - try 10 ohm to 100 ohm. Also the crystal you have linked requires 5 pF shunt capacitance. You might find that the MCP2200 has an input capacitance of 5 pF (a guess on my part) and so the actual capacitor you add at OSC1 needs to be reduced to 5 pF.