SWD 프로그래머 전기 및 프로토콜 사양
SWD 프로그래머를 선택하는 것은 USB에서 열거되는 도구를 선택하는 것 이상입니다. 생산 팀과 임베디드 엔지니어는 프로그래머의 전기적 허용 오차, 프로토콜 타이밍 또는 자동화 인터페이스가 실제 대상 하드웨어 및 제조 워크플로우에서 요구하는 것과 일치하지 않을 때 실제 문제에 직면합니다. 3.3V 개발 보드에서는 잘 작동하는 프로그래머가 1.8V IoT 대상에서는 조용히 실패할 수 있습니다. CLI 지원이 없는 도구는 CI/CD 파이프라인이나 베드 오브 네일(bed-of-nails) 픽스처에 통합하려고 할 때 병목 현상이 됩니다.
이 문서는 SWD 프로그래머의 하드웨어 및 프로토콜 사양을 독립형 도구로 다룹니다. SWD 프로토콜의 기본 사항은 다시 다루지 않습니다. 배경 지식이 필요한 엔지니어는 SWD 프로토콜 아키텍처 및 신호 동작 에 대해 먼저 알아본 후 아래 사양 세부 정보를 살펴보는 것이 좋습니다.
SWD 프로그래머의 기술 사양
전기 및 신호 인터페이스 요구 사항

프로그래머 선택 오류의 대부분은 전기 인터페이스에서 발생합니다. 툴의 전압 호환성 범위는 대상 장치를 직접 구동할 수 있는지 또는 고정 장치에 외부 레벨 시프터가 필요한지를 결정합니다. 대부분의 최신 SWD 프로그래머는 VTref 입력을 지원하며, 이를 통해 툴은 대상의 I/O 전압을 감지하고 자체 구동 레벨을 이에 맞게 조정할 수 있습니다. 일반적인 범위는 1.65V에서 5.5V까지이지만, 일부 저가형 툴은 3.3V로 고정되어 해당 범위를 벗어나는 모든 것에 대해 외부 하드웨어가 필요합니다.
고정 전압 프로그래머는 더 간단하고 저렴하지만, 고정 장치당 하나의 외부 레벨 시프터는 생산 과정에서 가격 차이보다 더 많은 비용, 오류 모드 및 재작업 위험을 초래합니다.
대상 전력 공급은 신호 전압과 별개의 문제입니다. 많은 프로그래머는 프로그래밍 중에 대상에 전력을 공급할 수 있습니다. 일반적인 전류 제한은 100mA에서 400mA까지이며, 대상이 정격 임계값보다 더 많은 전류를 소비하면 공급을 차단하는 과전류 보호 기능이 있습니다. 배터리로 구동되는 대상의 경우, 프로그래머의 ESD 보호 다이오드를 통한 누설 전류가 중요합니다. 사양이 제대로 명시되지 않은 툴은 충전된 배터리를 잘못 표시하거나 저전력 절전 전류 측정을 방해할 만큼 충분한 누설을 주입할 수 있습니다.
nRESET 라인은 또 다른 변수입니다. 일부 프로그래머는 푸시-풀로 구동하고, 다른 프로그래머는 풀업이 있는 오픈 드레인 방식을 사용합니다. 오픈 드레인은 외부 슈퍼바이저 IC에서도 리셋을 어설션하는 대상에 더 안전합니다. 연결 시퀀스 중 홀드 시간 요구 사항은 대상 장치마다 다르며, 구성 가능한 리셋 타이밍을 허용하지 않는 프로그래머는 전원 켜기 시퀀스가 느린 대상에서 연결에 실패할 수 있습니다. 최소 2핀 SWD 설정에서는 nRESET가 때때로 완전히 생략되기도 하는데, 이는 프로토콜 계층만으로 리셋 중 SWD 연결을 지원하는 대상에는 유효합니다.
SWO(Serial Wire Output) 지원은 SWD 표준에서 선택 사항이지만, 프로그래머 하드웨어에 SWO가 있는지 여부에 따라 트레이스 수준 디버깅을 사용할 수 있는지 여부가 결정됩니다. 지원되는 SWO 보드율은 일반적으로 약 4Mbaud까지 도달하지만, 실제 사용 가능한 속도는 대상의 시스템 클럭과 프로그래머의 캡처 버퍼 깊이에 따라 달라집니다. 펌웨어에서 지원을 주장하더라도 모든 프로그래머가 이 핀을 물리적으로 노출하는 것은 아닙니다.
생산 현장 사용 시 프로그래머와 대상 간의 갈바닉 아이솔레이션은 평가할 가치가 있습니다. 아이솔레이션된 대상 인터페이스를 갖춘 산업용 프로그래머는 여러 전원 공급 장치에 연결된 고정 장치의 접지 루프 전류로부터 툴과 테스트 대상 장치를 모두 보호합니다. 대상 측 핀의 ESD 등급은 다양합니다. 전체 커넥터 및 핀 수준 참조는 SWDCLK 및 SWDIO 핀 전기적 정의.
| 매개변수 | 일반 범위 | 엔지니어링 참고 사항 |
|---|---|---|
| 목표 전압 (VTref) | 1.65 V – 5.5 V (자동 감지) | 고정 3.3 V 툴은 외부 레벨 시프터 필요 |
| 목표 전력 출력 | 100 mA – 400 mA | 과전류 차단 기능으로 타겟 및 툴 보호 |
| SWO 보드레이트 | 최대 약 4 Mbaud | 실제 속도는 타겟 클럭 및 버퍼 깊이에 따라 제한됨 |
| ESD 보호 (타겟 측) | ±2 kV – ±8 kV HBM (제품 등급에 따라 다름) | 산업용 툴은 등급이 더 높습니다. 데이터시트 확인 |
| 커넥터 표준 | ARM 10핀 Cortex 또는 20핀 JTAG 호환 | 10핀은 소형 생산 장비에서 더 일반적입니다. |
프로토콜 및 통신 성능 사양
클럭 주파수 범위는 엔지니어가 가장 먼저 확인하는 사양 중 하나이지만, 초기화 주파수도 최대 주파수만큼 중요합니다. 많은 타겟 장치는 디바이스 오실레이터가 안정화될 때까지 일반적으로 100kHz ~ 400kHz의 느린 클럭을 필요로 합니다. 너무 빠른 속도로 시작하는 프로그래머는 연결 창을 놓칠 수 있습니다. 타겟이 실행되면 최대 지속 속도는 다양합니다. USB Full Speed 도구는 일반적으로 유효 SWDCLK가 약 10~15MHz에서 최고치를 기록하는 반면, High Speed USB 도구는 지원되는 타겟에서 50MHz까지 높아질 수 있습니다.
적응형 클럭킹은 이러한 상황을 변화시킵니다. 프로그래머가 타겟의 실제 클럭 출력을 일치시키기 위해 SWCLK 피드백을 샘플링할 때, 주변 오실레이터 시작을 가진 타겟을 더 안정적으로 처리합니다. 이 트레이드오프는 실질적입니다. 적응형 클럭킹은 프로그래머에 하드웨어 복잡성을 추가하고, 도구가 피드백을 기다린 후 진행해야 하므로 달성 가능한 최대 클럭 속도를 감소시킵니다. 대부분의 생산 프로그래밍 시나리오에서, 보수적인 속도의 고정 클럭은 적응형 모드보다 빠르고 예측 가능합니다.
SWDIO 방향 변경은 ARM ADIv5 및 ADIv6 사양에 정의된 전환 시간(turnaround period)을 따릅니다. 전환 주기(turnaround cycle) 수는 1 ~ 4 사이클입니다. 프로그래머는 이를 올바르게 구현하거나 읽기 시 프로토콜 오류를 생성해야 합니다. 플래시 프로그래밍 처리량(생산 라인의 사이클 시간에 실제로 중요한 수치)은 클럭 속도, 파이프라인 지원 및 호스트 인터페이스 대역폭의 조합에 따라 달라집니다. USB Full Speed를 사용하여 10MHz SWDCLK에서 실행되는 프로그래머는 삭제 오버헤드 및 검증 모드에 따라 플래시에 50-150kB/s의 유효 쓰기 처리량을 제공할 수 있습니다.
타겟 SoC에서 사용하는 경우 멀티 드롭 SWD(SWDv2) 지원을 확인하는 것이 좋습니다. 잠재 상태(dormant-state) 웨이크 프로토콜 및 TARGETSEL 레지스터 처리는 마케팅 문구에만 주장되는 것이 아니라 프로그래머 펌웨어에 구현되어야 합니다. 특정 타겟에 대해 조기에 이를 테스트하면 후반 단계의 고통스러운 발견을 피할 수 있습니다.
오류 복구 동작은 안정적인 생산 도구와 개발 전용 도구를 구분합니다. 프로그래머가 재시도 로직 없이 일반적인 "프로그래밍 실패" 메시지로 FAULT 응답을 표시하면 라인에서 수동 개입이 필요합니다. 더 나은 도구는 라인 재설정 시퀀스, 구성 가능한 재시도 횟수, 특정 실패 원인에 매핑되는 반환 코드를 구현합니다. 이는 수천 개의 장치에 걸쳐 수율 데이터를 기록할 때 중요합니다.
| 매개변수 | 일반 범위 | 생산 영향 |
|---|---|---|
| 초기 시계 주파수 | 100kHz – 400kHz | 너무 빠르면 느린 시작 대상에서 연결 누락 발생 |
| 최대 지속 SWDCLK | 10MHz (FS USB) – 50MHz (HS USB) | 프로그래밍 주기 시간에 직접적인 영향 |
| 유효 플래시 쓰기 처리량 | 50kB/s – 500kB/s (타겟 및 모드에 따라 다름) | 지우기 오버헤드가 지배적; 검증 모드 추가 ~30–50% |
| 턴어라운드 사이클 | 1–4 사이클 (ADIv5/ADIv6 사양) | 잘못 구성된 툴은 읽기 프로토콜 오류를 생성합니다 |
| 호스트 인터페이스 | USB 2.0 FS 또는 HS; 내장 호스트용 UART/SPI | HS USB는 대형 이미지의 호스트 측 병목 현상을 줄여줍니다. |
프로그래머 모드, 대상 지원 및 생산 제약

DAP 버전 호환성은 대상 지원의 시작점입니다. ADIv5는 오늘날 생산되는 Cortex-M 장치의 대다수를 포괄합니다. ADIv6은 64비트 주소 공간을 지원하며 Cortex-A 및 최신 고급 대상에 관련됩니다. ADIv5만 구현하는 프로그래머는 ADIv6 전용 대상에 연결되지 않습니다. 이는 성능 절충이 아닌 엄격한 호환성 경계입니다.
플래시 알고리즘 지원은 두 가지 모델로 나뉩니다. 내장 알고리즘은 도구 공급업체가 유지 관리하는 고정 장치 목록을 포함합니다. 사용자 로드 가능 알고리즘은 FLM 또는 CMSIS-Pack 형식을 사용하며, 엔지니어가 새 장치 또는 사용자 지정 장치에 대한 지원을 추가할 수 있도록 합니다. 유연성은 실제적이지만 위험도 마찬가지입니다. 손상되거나 잘못 구성된 FLM 파일은 프로그래머의 내부 확인 검사를 통과하면서도 기능하지 않는 장치를 생성하면서 플래시에 잘못된 데이터를 조용히 쓸 수 있습니다. 로드 가능한 알고리즘을 사용하는 생산 라인에는 알고리즘 유효성 검사 프로세스가 필요하며, 이는 생산 빌드에 대해 버전이 잠겨 있어야 합니다.
확인 및 빈 검사 모드는 사이클 시간을 늘리지만 쓰기 전용 흐름에서 놓치는 오류를 잡아냅니다. CRC 기반 확인은 전체 바이트 비교보다 빠르며 대부분의 오류 패턴을 잡아냅니다. 전체 읽기-백은 느리지만 보안 정책에서 요구하거나 대상의 플래시 컨트롤러가 온도 극단에서 알려진 미미한 동작을 보이는 경우 필요합니다. 프로그래밍 후 보안 비트 잠금(대상에서 프로그래밍 후 읽기-백을 비활성화하는 경우)은 프로그래머의 스크립트에서 올바르게 순서화되어야 하며, 그렇지 않으면 모든 장치에서 확인이 실패합니다.
갱 프로그래밍은 여러 대상을 병렬로 프로그래밍하여 처리량을 증대시킵니다. 핵심 사양은 채널별 격리입니다. 즉, 각 채널은 전기적으로 독립적이므로 한 대상의 결함이 다른 대상에 영향을 미치지 않아야 합니다. 채널 간 동기화 정확도는 대부분의 응용 프로그램에서는 덜 중요하지만, 프로그래밍 순서가 시스템의 여러 장치에 기록되는 보정 데이터에 영향을 미칠 때 관련이 있습니다.
자동화 인터페이스 품질은 프로그래머가 최신 생산 워크플로우에 적합한지 여부를 결정합니다. 안정적인 종료 코드를 지원하는 CLI를 사용할 수 있는 것이 최소 요구 사항입니다. Python 바인딩 또는 REST API는 고급 도구에서 점점 더 보편화되고 있습니다. GUI만 지원하는 프로그래머는 자동화된 테스트 또는 프로그래밍 스테이션에서 병목 현상을 일으킵니다.
- 작동 온도: 상용 등급 0–70°C; 산업용 등급 −40–85°C
- 생산 라인 인증: CE, FCC, RoHS — 규제 시장용 구매 시 사전 확인 필요
- 프로그래머 펌웨어 업그레이드 가능성: 버전 잠금 기능이 있는 현장 업데이트 가능한 펌웨어는 생산 추적성을 지원합니다.
- 롤백 기능: 펌웨어 업데이트로 인해 특정 장치의 프로그래밍 시퀀스에 회귀가 발생하는 경우 복구를 허용합니다.
프로그래밍 전용 워크플로우에서 실시간 디버그 사용 사례로 전환하는 엔지니어는 다음 단계를 검토해야 합니다. 실시간 SWD 디버그 세션 구성 — 프로그래머의 모드 전환 동작과 DAP 액세스 구성은 두 사용 사례 간에 의미 있게 다릅니다.
프로그래머 선택은 궁극적으로 이러한 사양을 세 가지 사항과 일치시키는 것으로 결정됩니다. 대상의 전기적 요구 사항, 생산 환경의 자동화 요구 사항, 제품군 전체에 필요한 장치 적용 범위입니다. 전기적 검증 단계를 건너뛰는 팀(모든 SWD 프로그래머가 모든 Cortex-M 대상과 작동한다고 가정)은 저전압 또는 비표준 리셋 동작이 있는 대상에서 연결 실패를 정기적으로 겪습니다. 프로덕션에 도구를 투입하기 전에 전체 전압 및 온도 범위에 걸쳐 짧은 자격 테스트를 실행하는 것은 간단하며 대부분의 문제를 조기에 포착합니다. STONE HMI는 자동화 프로젝트 전반에 걸쳐 구조화된 펌웨어 개발 프로세스를 적용합니다. 프로그래머 자격 및 펌웨어 릴리스에 동일하게 적용되는 이러한 종류의 프로세스 규율은 공식적으로 검증되지 않은 도구 또는 알고리즘 불일치로 인해 후기 생산 라인 중단 위험을 직접적으로 줄입니다.
카테고리
관심 있을 만한 다른 글…
-
산업 시스템 통합
-
HMI 및 GUI 개발
-
임베디드 및 펌웨어 개발
-
프로젝트 평가
$299.00