CubeIDE의 Clock Configuration에 대해 알아보겠다.
CubeIDE에는 위와 같이 Clock에 대한 설정을 할 수 있는 화면이 구성되어 있다.
위 구성은 실제 STM32F4 시리즈의 데이터 시트와 유사한 구조를 가지고 있다.
우선 Clock Tree에 있는 용어들을 먼저 정리해보겠다.
HCLK : Core Clock으로 실제 소스 코드를 동작시키는 Clock이다.
SYSCLK : System Clock으로 Power On Reset 직후에는 무조건 내부 Clock으로 먼저 동작한다.
HSE : High Speed External 외부 고속 Clock으로 STM32 외부에 Crystal/Ceramic resonator가 필요하다. Duty가 50% 이하인 외부 구형파, 삼각파 신호로도 사용이 가능하다
HSI : High Speed Internal 내부 고속 Clock으로 STM32에 내장되어 있는 RC(저항, 컨패시터)발진 회로에 의해서 동작되는 Clock이다. RC 발진회로의 특성 문제로 온도 상승에 따라 오차가 발생한다.
LSE : Low Speed External 외부 저속 Clock으로 32.768kHz의 Crystal/Ceramic resonator를 사용한다. 저전력 구현 및 정확한 시간(RTC)을 맞추기 위해서다.
LSI : Low Speed Internal 내부 저속 Clock으로 RTC Clock에 사용된다. (정확성 확보가 어렵다.)
CSS : Clock Scurity System HSE clock에 문제가 발생할 경우 NMI interrupt 발생 및 Clock source를 HSI Clock으로 변경해주는 기능이다.
위 사진처럼 빨간색 네모가 나오면 구현할 수 없는 주파수이기 때문에 수정해줘야 한다.
Clock Configuration에서 설정한 사항들은 main.c의 SystemClock_Config 함수에 설정된다.
'Embedded > STM32, Arduino' 카테고리의 다른 글
STM32 - EXTI (External Interrupt) 구현 - (1) (0) | 2024.05.25 |
---|---|
STM32 - EXTI (External Interrupt 외부 인터럽트) 이론 (0) | 2024.05.25 |
STM32 - GPIO / 7_segment Counter 0~9까지 숫자 나타내기 (0) | 2024.05.22 |
STM32 - GPIO 레지스터에 대하여 (MODER ~ AFRH) (0) | 2024.05.22 |
STM32 - (GPIO 구동용 함수 분석 / Board Select & MCU/MPU 차이) (0) | 2024.05.19 |