2025-02-20 01:06 AM
Hi,
I´m trying to get a STM32H747 Discovery board together with USB Host to operate at 1.8V VDD.
At 3.3V VDD_MCU USB is working fine!
What I´ve done:
1. Removed jumper on JP3 and supplied VDD_MCU with 1.8V.
2. Removed SB10 and supplied VDD33USB with 3.3V.
3. Removed R33 and supplied USB_VDDIO (pin 32 on USB3320) with 1.8V.
4. Verified that R136 is not mounted and R137 is mounted.
What is working:
A. The MCU is working fine at 1.8V. I´m running at 400MHz at voltage scale 1 (using the SMPS).
B. VBUS is started (USB3320 controls U2) and LD7 lights up.
C. When a usb device is inserted, its looks like its recognized. The usb stack connects a device, initiates a reset and then I get Control Errors.
A had a look around the forum and found this post:
https://community.st.com/t5/stm32-mcus/how-to-check-compatibility-on-usb-ulpi-transceivers-with-stm32/ta-p/657275
However, the REFCLK for the USB3320 is 24MHz, so not sure that post above is what I´m seeing.
The reason I need 1.8V IO operation is that I´m using a Wifi module (connected via SDIO interface) that only support 1.8V IO.
My best guesses/questions:
1. Some timing is violated.
2. X1 is supplied with 3.3V so REFCLK for is at 3.3V IO. But according to datasheet (USB3320), Voh for REFCLK is between 0.68 *VDD18 and VDD33 (internally generated by USB3320). So this should not be an issue.
3. It is not clear what IO level the ULPI interface of the STM32H7 is referenced to when assigning a pin to an alternate function (OTG_HS_ULPI_X). VDD or VDD33USB.
4. Something that I completely missed...
Solved! Go to Solution.
2025-02-21 06:04 AM
Hi @AJans.3
For High-speed operations, STM32H747 need a PHY that can operate at 60 MHz. ULPI specification provides specific requirements for the timing of all control and data signals that are used in the ULPI interface.
This means, at 1.8V, you should look for a different ULPI PHY to meet the requirements.
This requirement is mandatory to allow a USB peripheral to wake up in time to respond to chirp signaling.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-02-20 01:43 AM
Hi,
i didnt check in ds now - but :
> supplied USB_VDDIO (pin 32 on USB3320) with 1.8V
If this is for the USB IO signal, it needs 3v3 ; USB has 3v3 signal levels.
2025-02-20 01:52 AM - edited 2025-02-20 01:53 AM
Hi,
Thanks for the reply.
No this is the IO voltage supply level for interfacing with host (STM32H7).
USB3320 is supply with 5V and then it internally generates a 3.3V that is used for the actual USB (DP/DM) signaling (at least my interpretation).
I´ve just done a deep dive in the datasheet and found that
PB12 - ULPI_D5
PB13 - ULPI_D6
is a _u I/O structure and is supplied by VDD33USB. So right now I have 2 signals in the ULPI interface at 3.3V IO and the rest at 1.8V.
But its still unclear if VDD33USB must be 3.3V for the USB block to work properly or if it can be 1.8V when not using the internal FS phy (which I´m not).
2025-02-20 02:30 AM
So just set it on 3v3 and see: working better - or not.
2025-02-20 11:01 AM
Hi @AJans.3
You need to make sure ts(IN) = 5 ns ≤ (Clock period (tCLK) – tv(OUT)max)
Check this article for more details
How to check compatibility on USB ULPI transceiver... - STMicroelectronics Community
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-02-20 11:37 AM
Hi @FBL ,
is this really a problem in my case?
The disco board use a 24MHz clock and from what i can read from that post:
5ns < 1/24MHz - 14ns (from stm32h747 datasheet at 1.8V)
So 42ns - 14 =28 ns.
Im probably not understanding this…:grinning_face:
2025-02-21 06:04 AM
Hi @AJans.3
For High-speed operations, STM32H747 need a PHY that can operate at 60 MHz. ULPI specification provides specific requirements for the timing of all control and data signals that are used in the ULPI interface.
This means, at 1.8V, you should look for a different ULPI PHY to meet the requirements.
This requirement is mandatory to allow a USB peripheral to wake up in time to respond to chirp signaling.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-02-21 06:28 AM
Hi and thanks!
Then I can see that at 1.8V, it not gonna meet the requirements.
For future reference, I assume this is not an issue if using a STM32 with a builtin PHY?
Planning to make a custom hw in the near future using a U5-series controller...