Страница 1 из 1
STM32 USB и кварц 25 MHz
Добавлено: Чт май 30, 2013 23:28:35
balmer
Совсем еще новичек в STM32.
Скачал с сайта ST библиотеку с примерами STM32_USB-FS-Device_Lib_V3.4.0 , естественно она подходит для их девкитов, а у меня WaveShare Port107V.
Кварц на нем стоит 25 MHz (написанно на нем 25.0C4Z).
Насколько понимаю, для USB нужна частота 48 MHz. Ее в девкитах от ST делают от кварца в 24 Mhz. Но вот как настраивать clock для USB в моем случае?
Re: STM32 USB и кварц 25 MHz
Добавлено: Пт май 31, 2013 00:00:18
brutal
Можно задействовать внутренний источник тактовой частоты HSI. Насколько я помню там 8 МГц
Re: STM32 USB и кварц 25 MHz
Добавлено: Пт май 31, 2013 00:05:52
balmer
Хотя в комментариях там написанно примерно как получается нужная частота.
PLL2CLK = (HSE / 5) * 8 = 40 MHz
PREDIV1CLK = PLL2 / 5 = 8 MHz
PLLCLK = PREDIV1 * 7 = 56 MHz
RCC_OTGFSCLKConfig(RCC_OTGFSCLKSource_PLLVCO_Div3)
Но вот как из всего этого получается 48 не пойму...
Тоесть кварц на 25 MHz это нормально и както живут с этим.
Re: STM32 USB и кварц 25 MHz
Добавлено: Пт май 31, 2013 02:26:32
HHIMERA
А что там понимать???
Из референса:
The advanced clock controller features 3 PLLs to provide a high degree of flexibility to the
application in the choice of the external crystal or oscillator to run the core and peripherals
at the highest frequency and guarantee the appropriate frequency for the Ethernet and USB
OTG FS.
A single 25 MHz crystal can clock the entire system and all peripherals including the
Ethernet and USB OTG FS peripherals. In order to achieve high-quality audio performance,
an audio crystal can be used. In this case, the I2S master clock can generate all standard
sampling frequencies from 8 kHz to 96 kHz with less than 0.5% accuracy.
For more details about clock configuration for applications requiring Ethernet, USB OTG FS
and/or I2S (audio), please refer to "Appendix A Applicative block diagrams" in your
connectivity line device datasheet.
The USB OTG FS 48 MHz clock which is derived from the PLL VCO clock (2 ×
PLLCLK), followed by a programmable prescaler (divide by 3 or 2). This selection is
made through the OTGFSPRE bit in the RCC_CFGR register. For proper USB OTG FS
operation, the PLL should be configured to output 72 MHz or 48 MHz.
Как получить 72МГц из 25МГц нарисовано в даташите в
Appendix A Application block diagrams...
Далее PLLVCO (2 × PLLCLK)/3 = 2 х 72МГц/3 = 48МГц OTGFSCLK... всё...
Re: STM32 USB и кварц 25 MHz
Добавлено: Пт май 31, 2013 08:13:36
balmer
Спасибо, теперь все понятно.
HSE = 25 MHz
PLL2CLK = (HSE / 5) * 8 = 40 MHz
PREDIV1CLK = PLL2 / 5 = 8 MHz
PLLCLK = PREDIV1 * 9 = 72 MHz
А потом уже
PLLVCO (2 × PLLCLK)/3 = 2 х 72МГц/3 = 48МГц
Я то думал, откуда там деление на 3.
Нда, действительно непростое путешествие частоты от осцилятора до USB