inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thực hành thiết kế phần cứng PCB: Dự án thiết kế bo mạch tín hiệu hỗn hợp (Mixed-signal) sử dụng STM32

Thiết kế sơ đồ nguyên lý STM32F103 - Thiết kế nguồn (Power)

oscillator에 30p를 쓰는 이유가 궁금합니다.

66

tjwns2900

2 câu hỏi đã được viết

0

STM3STM32F103 schematic 설계하기 - Power 설계에서 oscillator에 30p를 쓴다라고 하셨는데 데이터 시트에서는 5~25pF를 권장한다라고 되어있는 것 같습니다. 제가 잘못 해석한 것인지 다른 이유가 있는 것인지 궁금합니다.

MCU stm32 hardware artwork kicad orcad

Câu trả lời 2

0

samcoach

안녕하세요, 답변 남겨드립니다.

수강생분께서 해석하신 방향이 맞습니다. STM32F103에서 HSE 크리스털을 사용할 때 OSC_IN과 OSC_OUT에 연결하는 외부 커패시터는 일반적으로 5~25 pF 범위에서 검토합니다. 강의에서 30 pF를 별도의 조건 설명 없이 고정값처럼 전달했다면, 이 부분은 제가 설명을 보완해야 합니다.

여기서 크리스털 데이터시트에 적힌 Load Capacitance인 CL과 회로도에 실제로 배치하는 두 개의 외부 커패시터 CL1, CL2는 같은 값이 아닙니다. 크리스털이 실제로 바라보는 부하용량은 CL = CL1CL2/(CL1+CL2)+Cstray로 계산합니다. CL1과 CL2를 동일한 값인 Cext로 사용한다면 CL = Cext/2+Cstray가 되고, 이를 정리하면 Cext = 2(CL-Cstray)가 됩니다.

예를 들어 사용한 크리스털의 CL이 18 pF이고 MCU 핀, 패턴, 패드에 의한 기생용량 Cstray를 약 3 pF로 가정하면 Cext = 2*(18-3) = 30 pF가 됩니다. 이 조건에서는 양쪽에 30 pF를 사용하는 계산이 성립합니다. 반대로 크리스털의 CL이 12.5 pF이고 기생용량이 3 pF라면 Cext = 2*(12.5-3) = 19 pF이므로 18 pF 또는 20 pF가 더 적절합니다.

따라서 30 pF라는 값이 무조건 잘못된 것은 아니지만, 모든 크리스털에 공통으로 적용하는 값도 아닙니다. 사용한 크리스털의 CL, ESR, Drive Level과 PCB 기생용량을 기준으로 계산해야 합니다. 특히 CL이 10~12.5 pF인 크리스털에 30 pF를 사용하면 부하가 과도하게 커져 발진 주파수 오차가 증가하거나 발진 시작 시간이 길어질 수 있습니다. 실온에서는 정상 동작하더라도 저온, 저전압, 부품 편차가 동시에 겹치는 양산 조건에서는 간헐적인 부팅 불량으로 나타날 가능성이 있습니다.

실무에서는 계산값 하나만 확정하기보다 18 pF, 22 pF, 27 pF, 30 pF 정도를 교체할 수 있도록 설계해 두고, 초기 시제품에서 발진 시작 시간과 주파수 오차를 확인합니다. 커패시터는 용량 변화가 작은 C0G 또는 NP0 계열을 사용하는 편이 좋고, 허용오차는 5% 이하로 잡는 것이 안정적입니다. 크리스털과 MCU 사이의 배선은 짧게 유지하고, 주변에 고속 스위칭 신호나 DC-DC 스위칭 노드를 배치하지 않는 것도 중요합니다.

오실로스코프로 크리스털 핀을 직접 측정할 때도 주의해야 합니다. 일반 프로브의 입력용량이 10~15 pF 수준이면 프로브 자체가 추가 부하로 들어가 발진 주파수가 변하거나 발진이 멈출 수 있습니다. 가능하면 1 pF 이하의 저용량 프로브를 사용하거나 MCU의 MCO 핀으로 클럭을 출력해 확인하는 방식이 안전합니다.

강의에서 사용한 회로가 8 MHz HSE 기준이라면 30 pF는 특정 크리스털의 CL과 기생용량을 기준으로 계산된 값으로 이해하시면 됩니다. 다만 사용하려는 크리스털의 CL이 다르다면 그대로 복사하지 않고 Cext = 2*(CL-Cstray) 식으로 다시 계산해야 합니다. 32.768 kHz LSE 크리스털을 의미한 경우라면 30 pF는 일반적인 권장 범위보다 큰 값이므로 사용하지 않는 쪽이 맞습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. tjwns2900님께서 질문하신 STM32F103의 오실레이터 회로에서 30pF 커패시터를 사용하는 이유에 대한 설명을 드리겠습니다.

오실레이터 회로 캐패시터 값의 선택 이유

  1. 데이터시트의 권장 사항:

    • STM32F103의 데이터시트에서는 일반적으로 5~25pF의 커패시터 범위를 권장합니다. 이는 보편적으로 여러 환경에서 안정적인 발진을 보장하기 위한 범위입니다.
  2. 설계 조건과 실무 경험:

    • 실제 회로 설계에서는 특정 상황에서 발진 주파수의 안정성이나 클럭 신호 품질을 높이기 위해 데이터시트의 권장 범위를 약간 벗어날 수 있습니다.
    • 30pF를 쓰는 이유는 주로 PCB 레이아웃의 기생 인덕턴스 및 환경적 요인(온도, 습도)에 의해 영향을 받을 수 있는 발진 특성을 보완하기 위함입니다.
    • 고속 환경에서 발진 신호의 품질을 유지하고 특정 응답 특성을 얻기 위해 실험적인 설계를 통해 최적의 값을 찾는 경우도 많습니다.
  3. 시험 설계 및 튜닝:

    • 현업에서는 종종 데이터시트의 가이드를 기본으로 시작하되, 아두이노 보드나 테스트 환경에서 여러 번의 시도와 조정을 통해 가장 안정적이고 성능이 좋은 설정을 선택합니다.

관련하여 더 많은 정보를 얻기 원하거나 비슷한 주제를 다룬 기존 질문을 참조하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Schematic GND-> PCB 1v8

0

10

2

LD1117 전원부 Power Dissipation

0

20

2

JTAG신호를 받는 핀 선택 이유에 대한 질문이 있습니다.

0

79

2

pcb 제작 주문 질문입니다.

0

81

2

49. DAC Schematic 설계하기 강의에서 질문있습니다

0

75

2

Kicad Global Label shape 질문

0

69

2

과제 3. Power budget 관련 질문

0

70

2

STM32F103 Schematic 설계 관련 질문

0

73

1

디버거 관련하여 질문있습니다.

0

56

2

Biasing 저항

0

64

2

CH340 전원 연결

0

79

1

MOSFET pull down 저항의 필요성

0

97

2

21번 INT pin 풀업 저항

0

119

2

전력 산출하는데 이해가 안가요?

0

80

2

수강연장

0

77

2

강의수강 만료일 연장 신청

0

87

2

강의 질문

0

125

2

RJ45 library 누락

0

100

2

강의 만료 확인 요청

0

88

2

JTAG 통신 질문

0

103

1

GND 오류

0

120

2

프로젝트 주제

0

97

1

45강 UART, TTL 질문

0

117

1

발열에 의한 LDO의 드롭아웃 전압 상승

0

154

2