stm 클럭설정
PLL 설정할 때 오버 드라이브 먼저 설정 안하고 PLL을 먼저 설정해도 되는 이유가 뭘까요? 일단 180으로 동작하다가 216으로 맞춰지는 건가 궁금합니다.
回答 1
0
안녕하세요.제어쟁이입니다.
질문하신 부분은 PLL을 설정하고 켜는 단계와, 그 PLL을 실제 시스템 클럭으로 선택하는 단계가 분리되어 있다는 점으로 이해하시면 됩니다.
STM32F767은 리셋 직후 기본적으로 내부 HSI 16MHz를 사용합니다. PLL을 216MHz가 나오도록 설정하고 켜더라도, 시스템 클럭 소스를 PLL로 변경하기 전까지는 기존 클럭을 사용합니다. 따라서 이 준비 과정에서 CPU가 바로 216MHz로 동작하는 것은 아닙니다.
초기화 흐름은 다음과 같습니다.
기존 HSI 또는 HSE를 시스템 클럭으로 사용하는 상태에서 PLL을 설정하고 활성화합니다.
오버드라이브를 활성화하고 전환 완료를 기다립니다.
필요한 Flash 대기 사이클과 버스 분주비를 설정하고, PLL이 안정화된 것을 확인한 뒤 시스템 클럭을 PLL로 전환합니다.
오버드라이브는 내부 전압 레귤레이터를 고속 동작에 필요한 모드로 전환하는 기능입니다. 오버드라이브를 켠다고 PLL의 배수나 분주비가 변경되지는 않습니다.
따라서 말씀하신 것처럼 일단 180MHz로 동작하다가 오버드라이브를 켜면 자동으로 216MHz가 되는 구조는 아닙니다. 180MHz는 내부 레귤레이터 ON·Voltage Scale 1·오버드라이브 OFF 조건에서 허용되는 최대 HCLK입니다. 자동으로 주파수를 180MHz로 제한해 주는 값이 아니므로, 오버드라이브 준비 없이 CPU/HCLK를 216MHz로 전환하면 데이터시트의 보장 범위를 벗어납니다. 추가 질문 있으시면 언제든지 질문 남겨주세요. 감사합니다.
Teleplot 문의
0
16
1
MCU 선정 관련 문의
0
18
1
전류 센싱 문의
0
22
2
키트 구매 여부
0
40
3
소형모터 구동
0
33
2
36. 전력은 900W가 될것 같습니다.
0
34
1
34.제너다이오드는 전류 분배기라고 생각하면 될까요 ?
0
32
0
33.제너다이오드와 tvs다이오드 모양이 동일합니다.
0
33
0
쓰로틀 V 변하지 않음
0
49
3
풀업 저항 크기와 커패시터 용량 선정 방법
0
47
2
86, data bit순서가 바뀌어야 할것 같습니다.
0
45
1
85. pwm사용에 기본구조 이해가 같이 요구되네요
0
45
1
dc모터 회전원리
0
48
2
83. volatile로 선언한 이유가 이해 안됩니다.
0
46
1
82. 16:50초 설명에 대한 오해 및 adc mode비교 자료
0
68
2
81. 소프트웨어 작성 방법론에 조언 부탁 드립니다.
0
67
2
00. stm32cubeIDE를 회사에서도 사용하나요 ?
0
51
1
상전류 읽는 타이밍 관련 문의
0
56
2
uart, tera term 실습이 잘 안됩니다.
0
66
3
80. 인터럽스와 일반함수 차이
0
52
1
79. int main(void)선언 없이 어떻게 동작하나요 ?
0
51
1
79. int main(void)선언 없이 어떻게 동작하나요 ?
0
36
1
74. 포인터 크기는얼마인가요 ?
0
47
1
73. 왜 hex를 사용하나요 ?
0
53
2

