전자회로 실무 / PCB 조립·검사

커넥터 없이 펌웨어(firmware)를 기록하려면 접촉 지그(contact jig)를 안정적으로 고정합니다

작은 인쇄회로기판(Printed Circuit Board, PCB)에 프로그램을 넣기 위해서만 커넥터를 남겨 두면 높이와 공간이 아깝습니다. 기판에 노출된 접점을 만들고 기록할 때만 탐침을 대는 방법을 쓸 수 있습니다. 접점의 방향과 전원 연결을 먼저 확인하고, 기록과 검증이 끝날 때까지 흔들림 없이 유지하는 순서를 설명합니다.

먼저 알아둘 용어

펌웨어(firmware)·프로그래머(programmer) — 펌웨어는 기판의 제어 소자가 실행하는 프로그램입니다. 프로그래머는 그 프로그램을 소자에 기록하는 도구입니다. 마이크로컨트롤러(Microcontroller Unit, MCU)는 프로그램을 실행하며 입출력을 제어하는 반도체입니다.

헤더(header)·패드(pad) — 헤더는 케이블을 꽂을 수 있도록 기판에 납땜하는 핀 커넥터입니다. 패드는 전기적으로 접촉할 수 있게 만든 금속 영역입니다. 기록용 패드를 남겨 두면 헤더를 붙이지 않고도 일시적으로 연결할 수 있습니다.

접촉 지그(contact jig)·포고 핀(pogo pin) — 접촉 지그는 여러 탐침을 정해진 위치에 대는 고정구입니다. 포고 핀은 안쪽 스프링으로 탐침이 눌렸다 돌아오는 접촉 부품입니다. 기판 높이의 작은 차이를 흡수하는 데 도움이 되지만, 기울어진 지그나 크게 어긋난 위치까지 보정하지는 못합니다.

접점 개수보다 각 접점의 역할을 먼저 확인합니다

패드가 여섯 개라는 이유만으로 다른 여섯 핀 케이블을 그대로 연결하면 안 됩니다. 같은 개수라도 접지·전원·기록 신호의 배치가 다를 수 있습니다. 회로도에서 실제 MCU와 기록 방식을 확인한 뒤, 기판 패드에서 지그의 탐침을 거쳐 프로그래머 단자까지 한 줄씩 대응시킵니다.

위에서 본 배열과 기판을 뒤집어 본 배열도 구분합니다. 케이블의 색 띠만 믿지 말고 첫 번째 접점과 기판 기준 모서리를 표시합니다. 처음 만든 지그는 전원을 끈 상태에서 도통(continuity, 두 지점이 전기적으로 이어져 있는 상태)을 측정해 배선표와 실제 연결이 같은지, 이웃 접점끼리 잘못 연결되지 않았는지 확인합니다.

확인 항목실제로 확인할 내용
기판 방향기준 모서리나 위치 결정 구멍을 기준으로 탐침 배열이 맞는지 봅니다.
접지와 신호접지(Ground, GND)와 각 기록 신호가 의도한 MCU 단자까지 이어지는지 확인합니다.
전원 관련 단자전원을 공급하는 출력인지, 대상 전압을 읽는 입력인지 구분합니다.
주변 부품지그 몸체와 탐침이 부품이나 인접 금속에 닿지 않는지 확인합니다.

UART용 프로브는 송수신 연결만 전환합니다

접촉 프로브(contact probe)로 직렬 통신을 연결할 때 기판마다 송신·수신 패드의 순서가 다르면 케이블을 매번 바꿔 꽂아야 합니다. 이때 두 신호선을 바꾸는 전환 스위치를 프로브에 두면 탐침과 접지의 위치를 유지하면서 연결을 맞출 수 있습니다. 이 방법은 사용하는 기판의 패드 간격과 접지 위치가 프로브에 맞을 때 적용합니다.

UART(Universal Asynchronous Receiver/Transmitter)는 송신과 수신을 담당하는 비동기 직렬 통신 회로입니다. TX(transmit)는 해당 장치에서 데이터를 내보내는 쪽이고, RX(receive)는 받는 쪽입니다. 따라서 변환기의 TX는 대상 기판의 RX로, 변환기의 RX는 대상 기판의 TX로 연결합니다. 이름을 읽을 때도 어느 장치 기준의 송신·수신인지 확인해야 합니다.

두 가지 대상 패드 순서에 맞춘 배선 원리입니다. 전환하는 것은 TX와 RX에 연결되는 두 신호선이며, 접지는 같은 탐침에 남습니다. 번호는 설명용으로 실제 제품의 핀 번호가 아닙니다.
두 가지 대상 패드 순서에 맞춘 배선 원리입니다. 전환하는 것은 TX와 RX에 연결되는 두 신호선이며, 접지는 같은 탐침에 남습니다. 번호는 설명용으로 실제 제품의 핀 번호가 아닙니다. · 클릭하면 확대됩니다.

스위치가 있다고 프로브 전체를 뒤집어 대도 되는 것은 아닙니다. GND(Ground, 접지)는 전환되는 신호선과 구분해 대상 기판의 접지에 연결합니다. 전원을 분리한 상태에서 스위치의 위치마다 변환기 쪽 TX·RX가 어느 탐침으로 이어지는지 도통을 확인하고, 결과를 프로브에 표시합니다. 확인한 연결에 맞춰 스위치를 설정한 뒤 대상 기판에 접촉시킵니다. 설정을 바꿀 때에는 먼저 전원을 끄고 프로브를 분리한 뒤 배선을 다시 확인합니다.

이 스위치는 신호선의 연결만 바꿉니다. 논리 전압(logic level, 0과 1을 나타내는 신호 전압)을 바꾸는 기능은 없으므로, 변환기 출력과 대상 입력의 허용 전압을 별도로 확인합니다. MCU의 논리 전압으로 동작하는 UART 단자에 RS-232 단자를 그대로 연결해서는 안 됩니다. 필요한 변환 회로를 사용해야 합니다. 세 접점이 TX·RX·GND라면 전원 공급 단자가 포함되어 있지 않으므로 대상 기판의 전원은 별도로 준비합니다.

연결이 맞는데도 응답이 없다면 스위치만 반복해서 바꾸지 말고 접촉 상태와 전원을 확인합니다. 이어서 양쪽 통신 속도와 데이터 형식이 일치하는지, 대상 장치가 실제로 데이터를 보내거나 명령을 받을 상태인지 봅니다. UART로 펌웨어를 기록하려는 경우에는 해당 MCU의 부트로더(bootloader, 기록 명령을 받아 프로그램을 저장하는 코드)가 그 방식을 지원해야 하며, 필요한 부팅 모드와 리셋 절차도 맞춰야 합니다.

탐침을 누르는 힘을 기판 받침이 받아야 합니다

여러 탐침이 동시에 닿으려면 패드 주변이 평탄해야 합니다. 기판이 공중에 뜬 상태에서 누르면 기판이 휘며 일부 탐침만 닿을 수 있습니다. 접점 아래쪽의 부품과 납땜부를 피해서 기판을 받치고, 받침 때문에 회로가 단락되지 않게 합니다.

지그를 기판 가장자리나 위치 결정 구멍에 맞추면 손의 감각만으로 맞추는 것보다 같은 위치에 반복해서 맞추기 쉽습니다. 포고 핀을 사용한다면 지정된 압축 범위 안에서 모든 핀이 눌리도록 높이를 정합니다. 끝까지 세게 누르는 방식으로 접촉 불량을 해결하지 않습니다.

패드 배열에 맞춘 지그의 윗면과 접촉 단면입니다. 번호는 배선을 확인하기 위한 예시이며 특정 MCU의 핀 배치가 아닙니다.
패드 배열에 맞춘 지그의 윗면과 접촉 단면입니다. 번호는 배선을 확인하기 위한 예시이며 특정 MCU의 핀 배치가 아닙니다. · 클릭하면 확대됩니다.

기록 시간이 짧다면 손으로 지그를 유지할 수 있지만, 손이 떨리거나 케이블이 당겨지면 접촉이 끊길 수 있습니다. 반복 작업이나 긴 디버깅에는 기판과 지그를 함께 고정하는 클립이나 눌림 구조를 마련합니다. 케이블 무게가 지그를 기울이지 않도록 케이블도 따로 받칩니다.

기판 모양에 맞는 받침을 3D 프린터로 만들 수 있습니다

작고 불규칙한 기판은 평평한 판 위에서 위치를 반복해 맞추기 어렵습니다. 이때 3D 프린팅(3D printing)으로 기판 외곽과 부품을 피하는 홈을 가진 지그 몸체를 만들 수 있습니다. 재료를 층층이 쌓아 형상을 만드는 방식으로, 몸체의 역할은 기판과 탐침의 위치를 일정하게 유지하는 것입니다. 전기적 접촉은 별도의 금속 탐침이 담당합니다.

도면 치수가 맞아도 출력한 받침에 기판이 똑같이 들어간다고 가정하지 않습니다. 공차(tolerance)는 치수에서 허용하는 오차입니다. 완성된 받침의 기준면·구멍·기판 자리 치수를 측정하고, 실제 기판을 전원이 없는 상태로 넣어 부품이 눌리거나 기판이 휘지 않는지 봅니다. 억지로 끼워 맞추는 힘으로 위치 오차를 해결하지 않습니다.

출력한 몸체가 기판을 지지하고 금속 탐침이 별도로 접촉하는 개념 단면입니다. 부품을 피할 공간과 받침 높이를 확인하며 실제 치수·압축량을 제시한 도면은 아닙니다.
출력한 몸체가 기판을 지지하고 금속 탐침이 별도로 접촉하는 개념 단면입니다. 부품을 피할 공간과 받침 높이를 확인하며 실제 치수·압축량을 제시한 도면은 아닙니다. · 클릭하면 확대됩니다.

출력 재료도 실제 사용 온도와 눌림 하중에 맞아야 합니다. 오래 눌려 모양이 변하거나 반복 사용으로 위치가 달라지면 처음에는 맞던 탐침도 어긋날 수 있습니다. 기판을 꺼냈다 다시 넣었을 때 위치와 접촉이 반복되는지 확인하고, 지그의 변형·마모와 기록 오류를 함께 점검합니다. 특정 출력 재료나 설정을 모든 기록 지그에 공통으로 적용하지 않습니다.

대상 기판의 전원과 신호 전압을 맞춥니다

일부 도구의 대상 전압 감지 단자(target voltage reference)는 기판의 전압을 읽어 신호 높이를 맞추는 입력입니다. 이 단자가 있다고 도구가 기판에 전원을 공급하는 것은 아닙니다. 전원 공급 기능의 유무와 허용 전류는 사용하는 도구에서 따로 확인합니다.

기판 자체 전원과 프로그래머의 전원 출력을 함께 연결하려면 두 전원을 연결해도 되는 구성이어야 합니다. 연결 전에 전원 공급 역할을 정하고, 접지 연결과 MCU에 실제로 걸리는 전압을 확인합니다. 기판의 입력 단자 전압이 MCU의 동작 전압과 같다고 가정하지 않습니다. 기록 신호의 전압도 MCU가 허용하는 범위에 맞춥니다.

기록 핀에 다른 부품이 연결되어 있으면 그 부품이 신호를 끌어내리거나 응답을 방해할 수 있습니다. 접촉이 정상인데도 통신이 되지 않을 때에는 MCU 단자에서 신호를 확인하고, 기록 중 필요한 리셋 상태와 주변 회로의 영향을 함께 살펴봅니다.

기록이 끝난 뒤 검증까지 확인하고 지그를 뗍니다

같은 펌웨어를 여러 기판에 반복해서 기록할 때에는 작업대마다 컴퓨터를 연결하는 대신 독립형 프로그래머(stand-alone programmer)를 준비할 수 있습니다. 이는 기록 파일과 대상 소자 설정을 작업 전에 도구에 넣어 두고, 각 기판의 정해진 접점에 탐침을 대어 기록하는 방식입니다. 도구가 해당 소자와 파일을 지원하는지, 기판 전원을 어느 쪽에서 공급하는지, 접점의 위치와 신호 전압이 맞는지 먼저 확인합니다. 접촉 시간은 파일 크기와 기록·검증 방식에 따라 달라지므로 정해진 초 수가 지났다고 지그를 떼지 말고 도구의 완료 표시와 검증 결과를 확인합니다.

  1. 전원을 끈 상태에서 기판 방향과 탐침 위치를 맞추고 안정적으로 고정합니다. 이후 전원 인가와 연결 순서는 해당 도구의 사용 조건을 따릅니다.
  2. 대상 소자와 기록 파일을 선택합니다. 도구가 소자 식별 정보를 읽을 수 있다면 예상한 소자와 일치하는지 먼저 확인합니다.
  3. 기록을 실행하고 지그를 움직이지 않습니다. 진행 표시가 끝나기 전에 손을 떼거나 케이블을 당기지 않습니다.
  4. 도구가 제공하는 검증(verify, 기록 결과를 선택한 데이터와 대조하는 과정)의 성공 여부와 오류 메시지를 확인합니다. 소자의 읽기 보호 설정에 따라 사용할 수 있는 검증 방법은 달라질 수 있습니다.
  5. 도구의 종료·분리 절차를 따른 뒤 지그를 떼고, 실제 사용 전원에서 기판을 다시 켜 필요한 기능을 확인합니다.

기록 중간에 실패했다면 같은 명령부터 반복하지 말고 지그의 기울어짐, 패드의 오염, 탐침 눌림과 전원을 확인합니다. 손으로 특정 방향을 누를 때만 성공한다면 그 상태를 정상 작업 조건으로 삼지 말고 고정 구조를 고칩니다.

첫 기판에서 한 번 성공한 것으로 끝내지 말고, 지그를 완전히 분리했다 다시 연결해도 같은 결과가 나오는지 확인합니다. 기록 파일의 버전, 대상 소자, 사용 전압과 검증 결과를 함께 남겨야 배선 문제와 잘못된 파일 선택을 구분하기 쉽습니다.

설치 후 다시 기록할 방법도 마련합니다

제조할 때 접촉 지그로 한 번 기록할 수 있어도, 설치한 뒤 같은 지그를 댈 수 있는지는 따로 따져야 합니다. 외함을 열기 어렵거나 설치 장소에 기록 장비를 가져갈 수 없다면 프로그램 수정 때마다 기판 전체를 회수해야 할 수 있습니다. 이런 조건은 기판을 설계할 때 함께 검토합니다.

한 가지 방법은 MCU와 기록에 필요한 회로를 작은 제어 모듈(control module)에 모으고, 이 모듈을 본기판의 소켓(socket)에 꽂도록 만드는 것입니다. 소켓은 핀을 납땜으로 영구 고정하는 대신 끼워서 접촉시키는 부품입니다. 현장에서 전원을 차단한 뒤 모듈만 분리해 작업 장소로 가져가면, 본기판의 단자와 설치 배선을 모두 풀지 않고 펌웨어를 고칠 수 있습니다.

Nano 형태처럼 두 줄에 핀이 있는 제어 모듈에는 2.54 mm 피치(pitch, 이웃한 핀의 중심 사이 거리)의 15핀 암 헤더(female pin header) 두 개를 쓰는 설계 예시가 있습니다. 하지만 모듈 이름이나 설계 도구에 준비된 핀 도형만 보고 같은 소켓을 그대로 선택하지 않습니다. 실제 사용할 모듈의 핀 수, 두 줄 사이 거리, 핀 1의 방향과 전원·신호 핀 위치를 부품 자료 및 실물과 맞춘 뒤 본기판의 풋프린트(footprint, 부품이 닿는 패드와 구멍의 배치)를 정합니다. 전원을 넣기 전에 한 칸 밀려 꽂힌 핀은 없는지, 전원·접지가 의도한 위치에 닿는지, 이웃 핀 사이가 단락되지 않았는지 확인합니다.

이 구조를 선택할 때는 모듈을 뺄 공간, 핀의 방향과 접촉 신뢰성, 외함 높이를 함께 봅니다. 전원을 켠 채 교체하는 핫 스왑(hot swap)을 뜻하지 않습니다. 핀에 전원이 남지 않도록 본기판 전원과 외부에서 연결된 전원을 확인하고 분리합니다. 소켓으로 바꾸면서 늘어나는 접촉부와 기계적 부담도 고려해야 합니다.

설치한 본기판과 기록 작업 장소를 구분합니다. 본기판의 배선은 두고 제어 모듈을 분리해 기록할 수 있도록 설계하는 개념이며, 실제 핀 배열이나 전원 회로도는 아닙니다.
설치한 본기판과 기록 작업 장소를 구분합니다. 본기판의 배선은 두고 제어 모듈을 분리해 기록할 수 있도록 설계하는 개념이며, 실제 핀 배열이나 전원 회로도는 아닙니다. · 클릭하면 확대됩니다.

모듈만 분리해도 기록할 수 있는지 먼저 시험합니다

분리한 모듈에 USB(Universal Serial Bus) 단자가 있다고 해서 곧바로 펌웨어를 기록할 수 있는 것은 아닙니다. 대상 MCU에 맞는 기록 경로, 부트로더 또는 외부 프로그래머, 필요한 전원과 리셋 회로가 준비되어 있어야 합니다. 본기판의 전원이나 별도 부품에 의존하던 모듈이라면 작업용 받침 기판이 필요할 수 있습니다.

설계가 끝나면 다음 순서를 실제로 수행해 봅니다. 책상 위에서 기록이 되는지뿐 아니라 설치 상태로 돌아갔을 때의 동작까지 확인합니다.

  1. 모듈의 식별 표시, 하드웨어 버전, 현재 펌웨어 버전과 필요한 설정값을 남깁니다. 여러 장치를 다룬다면 어느 본기판에서 분리했는지도 표시합니다.
  2. 전원을 차단하고 접속 방향을 확인한 뒤 모듈을 분리합니다. 한쪽 핀만 비틀거나 부품을 잡아당기지 않도록 분리할 공간과 잡을 위치를 정합니다.
  3. 작업 장소에서 지원되는 기록 도구와 전원을 연결합니다. 대상 소자와 파일을 확인하고 기록·검증을 마친 뒤, 지원되는 방법으로 버전과 기본 동작을 확인합니다.
  4. 본기판 전원을 끈 상태에서 방향과 전체 핀의 삽입 상태를 확인하며 다시 장착합니다. 한 칸 밀려 꽂히거나 한 줄이 소켓 밖으로 빠지지 않았는지 봅니다.
  5. 실제 사용 전원으로 다시 켜고 필요한 설정값, 입력 읽기, 통신과 출력을 확인합니다. 설정을 보관하는 위치와 업데이트 방식에 따라 값이 유지되거나 초기화될 수 있으므로 의도한 상태인지 대조합니다.

현장에서 기록할 공간을 확보할 수 있다면 접근 가능한 기록용 패드나 커넥터를 남기는 방법도 있습니다. 모듈을 분리하는 방식은 현장 작업 조건에 맞춘 선택입니다. 개발용 보드를 썼다는 이유만으로 채택하거나 배제하기보다, 프로그램을 바꿔야 할 때 누가 어떤 도구로 어디에서 작업할지를 먼저 정합니다.

SOIC 클립의 접근 공간은 완성 조립 상태에서 확인합니다

헤더 대신 SOIC-8 클립으로 기록 신호에 접근하는 설계라면 부품 패키지와 클립의 접점 간격·핀 방향부터 맞춥니다. MCU 위에 버저나 다른 부품을 얹으면 빈 기판에서는 가능하던 클립 접근이 조립 뒤 사라질 수 있습니다. 클립 턱, 케이블과 주변 부품의 간섭을 완성 조립 상태에서 확인합니다.

클립으로 집을 수 있다고 해서 기록 포트가 올바르게 연결된 것은 아닙니다. 해당 MCU의 기록 신호·전압·RESET 조건과 지그의 접점 대응을 확인하고, 필요한 접근 공간을 남기거나 조립 순서와 별도 기록 패드를 설계합니다. 확인되지 않은 제작자의 코드 주석을 핀 배선 근거로 사용하지 않습니다.