STR7 클럭 시스템 및 GPIO속도 테스트
STR7 GPIO 토글로 플래시 메모리에서 테스트 했다.
4Mhz x 4 = 48Mhz :
375ns(1.3Mhz)
오버클럭으로..
4Mhz x 4 = 64Mhz :
281ns(1.77Mz)
테스트 코드
GPIO_Config(GPIO1, (0x01<<10), GPIO_OUT_PP);
while(1)
{
GPIO1->PD ^= (0x01<<10);
}
}
while(1)
{
GPIO1->PD ^= (0x01<<10);
}
}
PLL 셋팅
void PLL_init(void)
{
//Configure the Clock
RCCU_PLL2Config(RCCU_PLL2_Mul_16, RCCU_Div_1);
RCCU_USBCLKConfig(RCCU_PLL2_Output);
//PLL configuration
RCCU_Div2Config(DISABLE); // 4M(INPUT CLOCK) /1 = 4M
RCCU_PLL1Config (RCCU_PLL1_Mul_16 , RCCU_Div_1 ); // Configure the PLL1 (4 * 12 , /1)
RCCU_RCLKSourceConfig ( RCCU_PLL1_Output ) ; // Select PLL1_Output as RCLK clock(48MHz)
{
//Configure the Clock
RCCU_PLL2Config(RCCU_PLL2_Mul_16, RCCU_Div_1);
RCCU_USBCLKConfig(RCCU_PLL2_Output);
//PLL configuration
RCCU_Div2Config(DISABLE); // 4M(INPUT CLOCK) /1 = 4M
RCCU_PLL1Config (RCCU_PLL1_Mul_16 , RCCU_Div_1 ); // Configure the PLL1 (4 * 12 , /1)
RCCU_RCLKSourceConfig ( RCCU_PLL1_Output ) ; // Select PLL1_Output as RCLK clock(48MHz)
RCCU_MCLKConfig ( RCCU_DEFAULT ); // Configure MCLK(48MHz) = RCLK
RCCU_FCLKConfig ( RCCU_DEFAULT ); //RCCU_RCLK_2 Configure FCLK(24MHz) = RCLK /1
RCCU_PCLKConfig ( RCCU_DEFAULT ); // Configure PCLK(48MHz) = RCLK /1
}
RCCU_FCLKConfig ( RCCU_DEFAULT ); //RCCU_RCLK_2 Configure FCLK(24MHz) = RCLK /1
RCCU_PCLKConfig ( RCCU_DEFAULT ); // Configure PCLK(48MHz) = RCLK /1
}
STR7 블럭다이어 그램
GPIO는 APB2에 연결되어 있다.
클럭 시스템
최대 클럭 설정
GPIO의 PLCK최대 클럭은 33Mhz로 그리 높지는 않다..
반응형