본문 바로가기
소프트웨어 다이어리/STM32

STM32CubeMX 사용법 #3 (Debug & RCC)

by 연대디 2023. 2. 6.

1. STM32CubeMX System Core 설정

SYS Mode and Configuration

CubeMX 실행 후 제일 먼저 System Core 카테고리로 들어가 SYS탭을 클릭해서 Debug모드를 선택한다. 

나는 'Serial Wire' 모드를 선택하였고 오른쪽 화면의 Pinout view에 PA13(SYS_JTCK)/PA14(SYS_JTMS)번핀이 생성되는 것을 확인할 수 있다. Debug 모드 설정이유는 나중에 프로그램 다운로드 후 ST_Link를 통해 디버깅이 가능하여 실시간으로 코드 진행 상황이나 변수 확인 가능하여 잘못된 부분 확인 및 수정이 용이하다.

  • SYS Tab -> Debuf Mode -> 'Serial Wire' 선택

 

SYS Mode
SYS Mode

RCC Mode Configuration

RCC 항목으로 들어가 MCU 클럭 설정을 하는데 HSE와 LSE 가 있으며 나는 외부 오실레이터 연결이 필요하면 HSE 항목에서 'Crystal/Ceramic Resonator'를 선택하면 PH0(RCC_OSC_IN)과 PH1(RCC_OSC_OUT) 핀 생성됨.

 

RCC Mode
RCC Mode

  • HSE ( High Speed Clock ) : MCU 외부에서 입력되는 Clock을 이용해서 MCU 내부 System Clock으로 사용.          MCU 내부에도 자체 Clock 이 있지만 정확한 Clock이 필요할 경우 외부 클럭을 이용해서 정확도를 높일 때 사용.

 

HSE 클럭
HSE Clock 특성

 

오실레이터 설계
HSE 오실레이터 설계

 

데이터 시트를 보면 4~26MHz 까지 외부 클럭 입력이 가능한데 설계 보드는 12MHz 오실레이터 사용예정.

외부 오실레이터 연결시 해당 주파수에 맞는 Load Cap을 달아주어야 정확하게 클럭이 동작하는데 관련 내용은 아래 설계 가이드를 참조해서 설계.

   ( 외부 오실레이터 설계 가이드 참조 : <STM32CubeMX Guide In Korean> )

  • LSE ( Low Speed Clcok ) : MCU RTC에 사용되는 Clock으로 일반적으로 32.768kHz가 사용된다.

 

LSE 설계
LSE 오실레이터 설계

 

Clock Configuration

전체 메뉴탭에서 'Clock Configuration'으로 들어가면 HSE의 Input frequency가 활성화되어있는 걸 확인할 수 있다. 거기에 사용예정인 외부 클럭 주파수를 입력하고 화살표를 따라서 단계별로 세부 설정을  진행한다.  STM32F469의 경우 시스템 클럭이 180MHz까지 가능하나 MCU내 기능에 따라서 더 낮은 경우도 있으므로 사용 예정인 기능의 최대 클럭속도를 확인해야 한다. CubeMX에서는 최대 클럭이 넘어가는 경우 빨간색으로 에러를 표시해 주므로 에러 발생 항목의 클럭을 낮춰서 조절해 준다.

  • Input frequency : 12MHz (외부 클럭 사용 주파수)
  • PLL Source Mux : HSE 선택
  • PLLM : /12
  • *N : X 360
  • /P : /2
  • System Clock Mux : PLLCLK 선택
  • SYSCLK (MHz ) : 180
  • AHB Prescaler : /1
  • HCLK (MHz) : 180
  • APB1 Prescaler : /4
  • APB1 Timer clock : X 2
  • APB2 Prescaler : /2
  • APB2 Timer clock : X 2

 

클럭 설정화면
클럭 설정

 

▷ 다음에는 ADC, DAC, UART등 기본 기능 설정에 대해 해보기로 합니다.

댓글