Skip to main content
michaelmccartyeng
Associate III
November 11, 2014
Question

How to figure out my clock and pll clock ?

  • November 11, 2014
  • 1 reply
  • 896 views
Posted on November 11, 2014 at 04:41

Hello All, and Clive,

I've went back into the guts of my program after a long time being out of it, and I dont know how I can know the actual clock speed of my unit. I dont have a scope that does more than 1Mhz. I'm using a stm32f4 discovery board. 407VT I think. In project options I have Xtal 8Mhz In system_stm32f4xx.c I have

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 16
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 2
/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */
#define PLL_Q 7
 uint32_t SystemCoreClock = 168000000; 

So I assume my board is running at 168Mhz. Then I have a clock signal for a camera that is setup like this

RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_5);

So is my MC01 output running at 168/5 = 6Mhz ? Or is the PLL clock different from my system clock. Thanks as always for your time.
    This topic has been closed for replies.

    1 reply

    t2399
    Associate III
    November 11, 2014
    Posted on November 11, 2014 at 10:53

    407VT ? Are you sure? On my STM32F4 - discovery is 407VGT6

    I tryed configure your request in STM32Cube. Program says ''PLL must be betven 0.5MHz and 1 MHz. And 'solution':

    void
    SystemClock_Config(
    void
    )
    {
    RCC_OscInitTypeDef RCC_OscInitStruct;
    RCC_ClkInitTypeDef RCC_ClkInitStruct;
    __PWR_CLK_ENABLE();
    __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM = 8;
    RCC_OscInitStruct.PLL.PLLN = 336;
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ = 4;
    HAL_RCC_OscConfig(&RCC_OscInitStruct);
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1
    |RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
    HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_5);
    }

    0690X0000060551QAA.png