책 소개와 목차 · ARLOBOOKS 서재

이 장에서 다룰 내용

  • Reset IC와 Brown-out Reset
  • Boot Mode 핀 설계
  • Crystal, Oscillator, 내부 Clock 선택
  • Debug 포트와 Boot 포트의 관계
  • 기동 실패를 줄이는 설계 방법

5.1 Reset 회로의 역할

Reset 회로는 MCU를 처음 상태로 되돌리는 회로가 아니라, MCU가 정상 동작 가능한 조건이 되었을 때만 실행을 시작하게 만드는 회로다. 전원이 천천히 올라가거나 순간적으로 떨어질 때, Reset이 너무 빨리 풀리면 MCU는 불안정한 전압에서 부팅을 시도하고 멈출 수 있다.

내장 Brown-out Reset만으로 충분한 경우도 있지만 산업용 장비에서는 외부 Reset IC를 사용하는 것이 안정적일 때가 많다. Reset IC는 전원 전압이 기준 이상으로 올라간 뒤 일정 지연 시간을 두고 Reset을 해제한다. 이 지연 시간 동안 전원과 Clock이 안정될 수 있다.

Loadport나 Pre-Aligner처럼 출력이 장비 동작에 직접 연결되는 보드에서는 Reset 중 출력 상태가 중요하다. MCU가 Reset 상태일 때 Solenoid나 Motor Enable이 켜지지 않도록 출력 Driver의 Enable Pin, Pull-down, Gate 구조를 설계해야 한다.

5.2 Boot Mode와 Flash 선택

Boot Mode는 MCU가 전원 인가 후 어디에서 코드를 읽을지 결정한다. 내부 Flash에서 실행할 수도 있고, UART/USB/SPI를 통해 Bootloader 모드로 들어갈 수도 있다. Boot Pin이 떠 있거나 노이즈에 취약하면 의도치 않게 Bootloader 모드로 들어가 보드가 실행되지 않을 수 있다.

Boot Pin은 Pull-up 또는 Pull-down으로 확실히 기본 상태를 정해야 한다. 생산이나 서비스에서 Bootloader 모드가 필요하다면 Jumper, Test Pad, Jig 제어 Pin으로 진입할 수 있게 한다. 고객이 접근 가능한 외부 커넥터에 Boot Pin을 직접 노출하는 것은 신중해야 한다.

외부 Flash를 사용하는 MPU나 고성능 MCU에서는 Flash 선택도 중요하다. QSPI Flash, eMMC, SD Card는 각각 속도, 신뢰성, 교체성, 생산성 차이가 있다. 장비용 보드에서는 SD Card처럼 탈착 가능한 저장장치가 편리할 수 있지만 접촉 불량과 파일시스템 손상 가능성을 고려해야 한다.

5.3 Clock Source 선택

Clock은 MCU와 주변장치가 동작하는 시간 기준이다. 내부 RC Oscillator는 부품 수가 적고 빠르게 시작되지만 정확도가 낮을 수 있다. Crystal은 정확도가 높지만 Layout과 부품 선택에 민감하다. Oscillator 모듈은 안정적이지만 비용과 전력 소모가 늘 수 있다.

UART, USB, Ethernet, CAN처럼 통신 정확도가 중요한 기능이 있으면 Clock 오차를 반드시 확인해야 한다. UART는 Baud Rate 오차가 커지면 통신 오류가 발생하고, USB와 Ethernet은 더 엄격한 Clock 조건을 요구한다.

Crystal 회로는 MCU 데이터시트와 Crystal Load Capacitance 조건을 따라야 한다. Crystal과 Capacitor는 MCU Pin 가까이에 배치하고, 고속 신호와 Switching 전원에서 떨어뜨린다. Clock이 흔들리면 펌웨어 문제처럼 보이는 이상 동작이 발생할 수 있다.

5.4 Debug Connector 설계

Debug Connector는 개발 중에는 필수이고, 생산과 현장 서비스에서도 큰 도움이 된다. SWD, JTAG, UART Console, Reset, 3.3V 기준 전원, GND를 적절히 배치하면 보드가 케이스에 들어간 뒤에도 진단이 가능하다.

하지만 Debug 포트를 무조건 외부에 노출하면 보안과 오동작 문제가 생길 수 있다. 생산용 Jig에서만 접근 가능한 Test Pad로 만들거나, 커버를 열어야 접근할 수 있는 내부 커넥터로 두는 방식을 고려한다. UART Console은 로그 확인에 좋지만 고객 환경에서 명령 입력이 가능하면 위험할 수 있으므로 Read-only Log Mode와 Command Mode를 구분하는 것이 좋다.

Debug Connector Pinout은 표준을 따르는 것이 좋다. 핀 순서가 임의로 되어 있으면 개발자마다 케이블을 잘못 꽂아 보드를 손상시킬 가능성이 커진다. GND Pin을 충분히 두고, 전원 Pin은 Target Power Sense인지 외부 공급인지 명확히 표시한다.

5.5 기동 로그와 부팅 진단

보드가 켜지지 않는 문제는 가장 답답한 문제다. LED 하나만 깜박이는 구조보다 기동 단계별 로그와 상태 표시가 있으면 원인 파악이 빠르다. 펌웨어는 전원 인가 후 Reset 원인, Boot Mode, Firmware Version, Clock 설정, 주요 주변장치 초기화 결과를 로그로 남기는 것이 좋다.

간단한 상태 LED도 도움이 된다. 예를 들어 Boot 진입, Firmware 실행, 통신 대기, Error 상태를 LED 패턴으로 표시하면 장비 안에서도 상태를 볼 수 있다. 단, LED 패턴은 너무 복잡하게 만들지 말고 서비스 문서에 명확히 적어야 한다.

Reset 원인 레지스터를 읽어 저장하는 것도 중요하다. Watchdog Reset, Brown-out Reset, External Reset, Software Reset을 구분하면 현장 문제 분석에 큰 도움이 된다.

5.6 현장 복구 모드

현장 복구 모드는 펌웨어가 손상되거나 설정이 잘못되어도 보드를 되살릴 수 있는 마지막 통로다. Bootloader, Safe Mode, Factory Default, 통신 기반 Firmware Update가 여기에 해당한다.

복구 모드는 진입 조건이 명확해야 한다. 특정 Pin을 누른 상태에서 전원을 넣거나, 생산 Jig가 Boot Pin을 제어하거나, 상위 Controller가 정해진 명령을 보내는 방식이 있다. 진입 조건이 너무 쉬우면 현장에서 실수로 복구 모드에 들어갈 수 있고, 너무 어렵게 만들면 실제 고장 때 사용할 수 없다.

Loadport나 Pre-Aligner 보드에서는 복구 모드 중 모든 구동 출력이 Off 상태여야 한다. 펌웨어 업데이트나 설정 초기화 중 Motor Enable이나 Solenoid가 켜지면 위험하다. 복구 모드는 기능보다 안전 상태가 먼저다.

체크리스트

  • Reset 해제 조건이 전원 안정화 조건과 맞는가?
  • Reset 중 모든 출력이 안전 상태인가?
  • Boot Mode Pin이 기본 상태로 확실히 고정되어 있는가?
  • Clock Source가 통신 정확도 요구사항을 만족하는가?
  • Debug 포트가 개발, 생산, 서비스 요구를 모두 만족하는가?
  • 현장 복구 모드에서 구동 출력이 차단되는가?

책 소개와 목차 · ARLOBOOKS 서재

← 이전 페이지   ·   목차   ·   다음 페이지 →