0
\$\begingroup\$

I have a custom board here that is using USB Type C Receptacle and does not recognized by PC.

not just the DFU mode (BOOT0 pull down), I programmed a default HID device firmware into the chip via ST-LINK and it also cannot recognized by PC as well.

Crystal is 24MHz + 10pf.

Both CC1 and CC2 are pulled down by 5.1K Resistor.

F407 have built-in pull-up resistor and series resistor so I did not add anything into the USB line.

VBUS detect is connected by a voltage divider circuit, showing 3.35V on the pin.

I've tried different Type-C to Type-A cables, nothing works.

Thought about driver problem, reinstall STM32Programmer and relevant driver does not fix the issue as well.

Is there something I missed in the process?

enter image description here

enter image description here

Update: I forgot to point out that I did found out the schematics error and removed FL5 but sill no luck.

asked Dec 16, 2024 at 14:04
\$\endgroup\$
2
  • \$\begingroup\$ Debugging USB with less than professional tools is frustrating. Could be plain old software, could be a bad descriptor, or it could be hardware. Not much leaves me as crestfallen as not hearing the GA-DUNK when I plug something in. \$\endgroup\$ Commented Dec 16, 2024 at 18:10
  • \$\begingroup\$ If the MCU is working except USB, other than the mistake on FL5, it could be software. You said that you "programmed a default HID device firmware", what exactly you did on CubeMX and in your code? \$\endgroup\$ Commented Dec 18, 2024 at 0:25

1 Answer 1

1
\$\begingroup\$

Yes there is. I guess the process is missing steps such as read all documentation and double-check pinouts etc that they are correct.

The FL5 or NUF2042 swaps DP and DN polarity between MCU and receptacle so it won't work.

There may be other things as well, but you should be sure that the MCU runs a program, it can run at correct speed, and use the crystal correctly as the clock source.

Usually a 24 MHz crystal is needlessly high in frequency. Higher frequency crystals are more difficult to get with suitable parameters that work in all scenarios. In addition, the bootloader appnote is clear on this that lower frequency is better, e.g. use 8 MHz instead of 25 MHz, and down to 4 MHz is allowed.

And the Type-C metal shell connection is not according to specification, but it is not the cause for the USB link to not work.

Of course, many other things not shown in the schematics could cause the circuit to not work or damage.

answered Dec 16, 2024 at 15:30
\$\endgroup\$
6
  • \$\begingroup\$ I forgot to point out that I removed FL5 but sill no luck. \$\endgroup\$ Commented Dec 16, 2024 at 17:13
  • \$\begingroup\$ May I ask which specification should the type-c metal shell conform to? \$\endgroup\$ Commented Dec 16, 2024 at 17:16
  • \$\begingroup\$ @TravisSu The USB Type-C specification. \$\endgroup\$ Commented Dec 16, 2024 at 17:30
  • \$\begingroup\$ Looks like the spec suggest I should connect the shield to ground plane directly \$\endgroup\$ Commented Dec 16, 2024 at 17:42
  • \$\begingroup\$ @TravisSu It does, but like I said, that is not the problem why it does not work. Also, you can't just remove the FL5 as the signals go through it. You need to jumper the signals correctly after removing FL5. \$\endgroup\$ Commented Dec 16, 2024 at 17:54

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.