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.