I would appreciate some help troubleshooting the CP2102N. This is my first experience with this component, and with USB-UART bridges in general.
I have wired up the component following the datasheet examples, and here is what I got:
Upd: notes to the schematic:
When connected, I get the following output in lsusb:
Bus 001 Device 115: ID 10c4:ea60 Silicon Labs CP210x UART Bridge Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x10c4 Silicon Labs idProduct 0xea60 CP210x UART Bridge bcdDevice 1.00 iManufacturer 1 Silicon Labs iProduct 2 CP2102N USB to UART Bridge Controller iSerial 3 a6d38d5a116eea11bad827107bd8e2cb bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered)
Simplicity Studio does recognize the device, but it cannot read/write the configuration to it. It outputs a very generic error in the status log:
Beginning import from device. No response received from the device. Done! Elapsed time: (0:00.01)
I'm planning to use it on an ESP8266-based device. I used to use an external USB-to-UART breakout board which worked well to power and program my board, but now I want to embed the bridge into my solution to reduce hassle needed to update and diagnose the software.
Lastly, esptool can't connect to the ESP8266 as well, but I want to figure out the first issue first. I would appreciate your advice!
When connected to USB-port on my machine, the Simplicity Studio should be able to read and write configuration from/to the device
When assembled as the above schematics, the device cannot be accessed from Simplicity Studio.
I am wondering if this is related with the error message
can't get device qualifier: Resource temporarily unavailable
looks the "DEVICE_QUALIFIER" reported this kind of error.
I did not see bypass capacitor for VDD in the uploaded picture.
Yep, I don't know where this error is coming from, but it could point to the root of the issue.
The spec says "If a full-speed only device with a bcdUSB field of at least 0200h in its DEVICE descriptor receives a request for a DEVICE_QUALIFIER descriptor, it must respond with a Request Error."
Based on the CP2102N datasheet, I think it is a "USB 2.0 full-speed" device, so based on the USB spec the DEVICE_QUALIFIER should respond with a RequestError, instead of being unavailable. How do I check if the CP2102N is maybe sleeping?
Also regarding the bypass capacitors - sorry, I did not explain that. The "Conn_01x03_POWER_JUMPER" has legs 2 and 3 shorted, and the decouplers are labeled as "Cdec" on the schematic. I updated the original post to point that out. Thanks for bringing this up!
As suggested from the datasheet below, "bypass capacitors required for each power pin placed as close to the pins as possible". You can check this.
Also, how many part/board do you have? I suggest you to try with different part/board as well.
If all of above is checked and the issue stay the same, I suggest you try to use a scope to measure the voltage on RSTb, VBUS, VREGIN, VDD pins to see if is in range as specified from section "3. Electrical Specifications" of the datasheet.
Thank you for your response.
My VBUS and VREGIN measure 5V, and RSTb and VDD measure 3.3V, which looks valid.
I'm thinking my bypass capacitors are a little bit too far away - the VREGIN are about 1cm away from the chip, and VDD decouplers are about 3cm away. This is an error in the board design. I will re-print my boards and try again then. I will update this thread when I will have results.
By the way, do you suggest I put tantalum decouplers for 4.7uF, or are 1206" SMD MLCC just fine?
And yes - I tried with three boards and three CP2102N chips - all behave the same way.
By the way, do you suggest I put tantalum decouplers for 4.6uF, or are 1206" SMD MLCC just fine?
> I haven't tested on that particular 1206 MLCC, however, I think 1206 MLCC is just fine. You can check BOM list for our CP2102N-EB below for reference: