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:

The layout of my PCB: (MCP2200's Pad is in green and left side of the picture with USB connector at top left corner)

EDIT:

The crystal that I am using is this.

• Page 3. USB power pin (internally connected to 3.3V). Should be locally bypassed with a high quality ceramic capacitor. Try cutting the 3V3 trace to Vusb. Aug 1 '17 at 14:00
• Are you talking about Vusb? I have bypass over there! Aug 1 '17 at 14:20
• Have you used a scope to see if the crystal is oscillating?
– JRE
Aug 1 '17 at 17:00

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.

• I have seen this figure but they have written "may" and my crystal datasheet has mentioned 100µW max., (10µW typical) drive level. So, I was not sure about the series resistor. "High Drive Level" is a relative term. Do I just need to reduce the Cap at OSC1? What about OSC2? Do you have any experience with this IC? Aug 1 '17 at 14:20
• The drive level is what you apply and the series resistor limits that drive level. You may need to reduce that power level in other words. So yes, I guess the statement in the picture is ambiguous but I would definitely look at lowering the capacitor on OSC1. Aug 1 '17 at 15:10
• Can you suggest another usb-to-uart bridge? I may change the IC in next PCB? Have you used one in the past? Aug 1 '17 at 17:51
• @abhiarora: Regarding the "may" part in figure 1.7 from the datasheet: If you are unsure if this resistor would actually be required in the final product, you can still add it to your PCB design, so that you can mount a resistor there if it is indeed required. If not, you can just mount a 0-ohm resistor. Rather account for the possibility of having to add a resistor (even a 0-ohm one) rather than having to modify the PCB later because you didn't account for it. For other USB/UART bridges there are loads of commercial options. Also look at FTDI's USB/UART bridges. Aug 7 '17 at 6:47

The crystal you pointed to has a load capacitance of 18 pF but you have much less than that. Remember that, as far as the crystal loading is concerned, the two capacitors are in series thus the effective capacitance is halved. Thus I'd recommend giving it a try with:

30pF = (18pF - 3pF (rough estimation of parasitic capacitance) ) * 2

simulate this circuit – Schematic created using CircuitLab

• Have you read the data sheet regarding the capacitance needed ? Aug 1 '17 at 22:03
• Yes I have, have you? Aug 2 '17 at 0:59
• The crystal part number is referenced as ABM8G-12.000MHZ-18-D2Y-T. If you had read the specification sheet completely, you may have noticed that the -18- part means 18 pF load capacitance. Notice that the shunt capacitance is internal to the crystal and whereas the load capacitance is added externally. Aug 2 '17 at 1:05
• Have you checked @Andy aka answer's? He has suggested 5pF caps. Aug 18 '17 at 9:11
• @abhiarora did you get anywhere with correcting your problem? Please do report. Aug 18 '17 at 9:59