Electronic – MCP2200 doesn’t work everytime


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 Vcc and 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:

enter image description here

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.

enter image description here

Best Answer

Have you looked at figure 1-7: -

enter image description here

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.