2018-06-24 05:07 AM
Can the USB controller of STM32F072 work in LOW speed mode?
A. Is it possible to enforce low speed mode against a host capable of FS and HS?
B. If a host is low speed only, will the USB controller work with it?
I've tried B., it does not seem to work.
Thanks,
-- pa
Solved! Go to Solution.
2018-06-24 05:29 AM
As far as I know neither USB or OTG_FS/HS peripherals are capable of low-speed operation in device mode. Unlike a high-speed device which starts as a full-speed one and switches to high-speed only on a host request, low-speed and full-speed operation are mutually exclusive, and are determined at the time of device attachment (if DP is pulled high -> FS, if DM is high -> LS).
However, the difference between LS and FS is only that the former is 8 times slower, and consequently the packet max data size is 8 instead of 64. If you are really determined to create a low-speed STM32 device, you could reduce the USB clock to 48 / 8 = 6 MHz, set the packet sizes (including EP0) to a maximum of 8 and put the pullup resistor to DM. It is likely that the StartOfFrame will not be properly detected, and therefore the suspend event will be raised incorrectly. All of this is just speculation though, I won't take responsibility to any damages.
2018-06-24 05:29 AM
As far as I know neither USB or OTG_FS/HS peripherals are capable of low-speed operation in device mode. Unlike a high-speed device which starts as a full-speed one and switches to high-speed only on a host request, low-speed and full-speed operation are mutually exclusive, and are determined at the time of device attachment (if DP is pulled high -> FS, if DM is high -> LS).
However, the difference between LS and FS is only that the former is 8 times slower, and consequently the packet max data size is 8 instead of 64. If you are really determined to create a low-speed STM32 device, you could reduce the USB clock to 48 / 8 = 6 MHz, set the packet sizes (including EP0) to a maximum of 8 and put the pullup resistor to DM. It is likely that the StartOfFrame will not be properly detected, and therefore the suspend event will be raised incorrectly. All of this is just speculation though, I won't take responsibility to any damages.
2018-06-25 03:51 AM
Dear
pavel_a
,Unfortunately, low speed transfers are not supported in device mode:
Khouloud.