STM32 회로 리뷰 방법 - 오실레이터(OSC)

STM32에서 MCU에 심장과 같은 역할을 하는 오실레이터(OSC, 발진기)에 대해 알아보도록 하겠습니다. 대부분의 STM32가 내부 오실레이터와 외부 오실레이터(패키지에 따라서 없는 디바이스도 있음)를 지원합니다.

회로에 관한 내용이기에 이번 포스트에서 알아볼 것은 외부 오실레이터의 구성입니다. STM32에서는 보통 외부 오실레이터 HSE(High Speed External oscillator), 와 LSE(Low Speed External oscillator)을 제공합니다. 따라서 원하는 주파수의 크리스탈이나 레조네이터 혹은 오실레이터를 외부에 달아주면 됩니다.

HSE - 외부 고속 발진기

STM32G4 Datasheet 에서 발췌

HSE를 사용할 때 주의해야 할 점

1. MCU 마다 허용되는 최소, 최대 주파수가 다르니 꼭 확인 해야 합니다.

2. Crystal은 외부 Load Cap을 달아야 하며 이에 대한 계산식 및 관련 자료를 꼭 숙지하여야 합니다.

3. 사용하고자하는 Crystal의 발진 여부를 Gain Margin을 계산하여 발진이 가능한지 먼저 확인하여야 합니다.

4. Driving Current가 너무 높지 않게 필요에 따라서 Rext를 OSC_OUT에 달아 주어야 합니다.

5. 회로적으로 OSC는 MCU에 최대한 가깝게 배치되어야 하면 OSC 주변에 노이즈 환경을 최대한 억제하여야 합니다.

--> 중요자료 영문 : https://www.st.com/resource/en/application_note/cd00221665-oscillator-design-guide-for-stm8afals-stm32-mcus-and-mpus-stmicroelectronics.pdf

--> 중요자료 한글 : https://www.st.com/content/dam/kms/Contents/Reflibrary/Crystal_oscillator_design_guide_for_STM8_and_STM32_microcontrollers.pdf

LSE - 외부 저속 발진기

특히 LSE의 CL1, CL2, OSC_IN 및 OSC_OUT 패드 경로의 경우

표시된 PCB 영역에 컨 포멀 코팅을 적용하는 것이 좋습니다.

간혹 먼지나 이물질로 Startup 문제가 생길 수도 있습니다.

HSE에 비해 LSE는 주파수가 거의 정해져 있기 때문에 주파수 이외의 나머지 항목들을 HSE와 같은 절차로 확인하시면 됩니다. 다만 Driving Current는 동적으로 MCU에서 설정이 가능하기 때문에 외보 Rext는 굳이 고려하지 않아도 될 것 같습니다.

기타 Load Cap에 대한 유용한 정보 : https://cafe.naver.com/carroty/313624

이상입니다!