SWD 핀 전기 및 신호 사양
ARM Cortex 기반 타겟을 다루는 엔지니어라면 SWD를 두 와이어 디버그 전송 방식으로 알고 있을 것입니다. PCB 초기 설정에서 문제를 일으키는 것은 프로토콜 자체가 아니라 핀 수준의 세부 사항입니다. 잘못된 풀업 값, VTREF 연결 누락, 스위칭 노드 근처의 트레이스 라우팅 등이 모두 간헐적인 디버그 실패를 유발하여 원인을 추적하기 어렵게 만듭니다. 이 페이지에서는 레이아웃, 커넥터 선택 및 첫 보드 디버그 중에 필요한 전기, 타이밍 및 기계적 사양을 다룹니다. 전체 프로토콜 및 아키텍처 컨텍스트는 SWD 프로토콜 계층이 작동하는 방식을 참조하십시오.
여기서는 전압 임계값, 구동 요구 사항, 풀업 제약 조건, 커넥터 핀 배치 및 레이아웃 규칙 등 핀 수준에만 초점을 맞춥니다. 이는 벤치에서 낮은 클럭 속도로 작동하는 것뿐만 아니라 고속에서도 디버그 연결을 안정적으로 만드는 사양입니다.
SWD 핀 전기, 신호 및 기계적 사양
SWDIO 및 SWDCLK 신호 정의 및 전기적 파라미터
SWDIO는 하프 듀플렉스 트랜잭션에서 양방향으로 모든 데이터를 전달합니다. SWDCLK는 호스트 프로브에 의해서만 구동됩니다. 타겟은 SWDCLK를 절대 구동하지 않습니다. 이 비대칭성은 드라이브 강도를 계획할 때 중요합니다. 프로브는 전체 케이블 및 트레이스 경로에 걸쳐 타겟의 입력 임계값을 충족해야 합니다.
전압 임계값은 표준 CMOS I/O 규칙을 따르며 타겟의 공급 전압에 맞춰 조정됩니다. 일반적인 I/O 뱅크 전압에 대한 일반적인 값은 다음과 같습니다.
| 파라미터 | 1.8 V I/O (일반) | 3.3 V I/O (일반) | 5 V 내성 I/O (일반) |
|---|---|---|---|
| VIH (최소) | 0.65 × VDDIO | 0.65 × VDDIO | 0.65 × VDDIO |
| VIL (max) | 0.35 × VDDIO | 0.35 × VDDIO | 0.35 × VDDIO |
| VOH (min) | 0.8 × VDDIO | 0.8 × VDDIO | 0.8 × VDDIO |
| VOL (max) | 0.2 × VDDIO | 0.2 × VDDIO | 0.2 × VDDIO |
| 최대 SWDCLK (실용) | 4–8 MHz | 8–10 MHz | 8–10 MHz |
ARM ADIv5.2는 이론상 SWDCLK 최대 속도를 50MHz로 정의합니다. 실제로는 PCB 기생 성분과 I/O 구동 강도 설정으로 인해 대부분의 실제 레이아웃에서는 안정적인 한계가 10MHz 이하로 제한됩니다. 초기 디버깅 시에는 1~4MHz로 실행하는 것이 일반적이며, 신호 무결성이 확인된 후에만 속도를 높입니다.
SWDIO는 VDDIO에 풀업이 필요합니다. 10kΩ 저항이 가장 일반적인 값입니다. 버스가 프로브 구동에서 타겟 구동으로 전환되는 라인 전환(line-turnaround) 단계 중에 라인은 잠시 동안 플로팅(floating) 상태가 됩니다. 풀업이 없으면 이 플로팅 상태가 잘못된 로우(low) 신호로 인식되어 ACK 응답을 손상시킬 수 있습니다. 1kΩ 미만의 풀업 값은 전류 소모를 증가시키고 구동단을 스트레스 줄 수 있으며, 100kΩ 이상의 값은 상승 에지(rising edge)를 느리게 하여 높은 클럭 속도에서 셋업 시간 위반을 유발할 수 있습니다.
SWDIO의 풀업은 선택 사항이 아닙니다. 풀업이 없으면 간헐적인 ACK 오류가 발생하며, 이는 하드웨어 결함이 아닌 프로토콜 오류처럼 보입니다.
입력 커패시턴스는 MCU 패드, PCB 트레이스, 커넥터 스텁, 케이블에서 누적됩니다. 각 요소가 커패시턴스를 추가합니다. 50mm 이상의 트레이스와 커넥터 스텁, 150pF 케이블이 결합되면 2~4MHz 이상의 안정적인 작동을 방해할 만큼 라이즈 타임(rise time)을 제한할 수 있습니다. 10MHz 작동을 목표로 할 때는 총 커패시티브 부하를 50~100pF 미만으로 유지하십시오.
선택 및 보조 SWD 핀 — SWDnRST, SWO 및 VTREF
SWDIO 및 SWDCLK 외에, 완전한 디버그 헤더에는 네 개의 추가 신호가 나타납니다. 각 신호에는 커넥터 선택 시 간과하기 쉬운 특정 전기적 요구 사항이 있습니다.
nRESET (SWDnRST) 는 오픈 드레인, 액티브 로우입니다. 프로브는 하드웨어 리셋을 강제하기 위해 이 신호를 로우로 구동하며, 라인은 외부 풀업을 통해 하이 상태를 유지합니다. VDDIO에 대한 10kΩ 풀업이 일반적입니다. 일부 MCU 제품군은 최소 100µs 이상의 리셋 펄스 폭을 요구하므로 대상 데이터시트를 확인해야 합니다. 대상에서 락 또는 잘못 구성된 경우 디버그 헤더에서 nRESET를 생략하면 실제 위험이 발생합니다. 하드웨어 리셋 기능이 없으면 프로브는 장치를 복구할 수 없습니다.
SWO (Serial Wire Output) 는 단일 와이어 추적 출력입니다. UART/NRZ 및 맨체스터의 두 가지 인코딩 모드를 지원합니다. NRZ는 대부분의 프로브가 지원하고 디코딩이 더 간단하기 때문에 더 일반적입니다. 전송 속도는 대상의 SWO 클럭 분배기와 프로브의 UART 입력에 따라 달라집니다. 일반적인 속도는 115,200bps에서 몇 Mbps까지 다양합니다. SWO를 노출하는 커넥터는 최소 2핀 헤더를 실시간 추적 기능이 있는 완전한 디버그 헤더로 업그레이드합니다.
VTREF 는 프로브의 기준 전압 입력입니다. 프로브는 이를 사용하여 레벨 시프터 임계값을 대상의 I/O 전압과 일치시키도록 설정합니다. 연결하지 않으면 프로브는 기본값으로 추정 전압(일반적으로 3.3V)을 사용하며, 이는 1.8V 대상에서 레벨 시프팅 오류를 유발합니다. VTREF를 커넥터에 가깝게 대상의 VDDIO 레일에 직접 연결합니다. 이 핀의 전류 소비는 낮기 때문에(일반적으로 1mA 미만) 버퍼링이 필요하지 않습니다.
GND 배치는 종종 명확하게 지정되지 않습니다. 최소한 하나의 GND 핀은 신호 핀 옆에 배치되어야 합니다. 접지 바운스와 반환 경로 인덕턴스는 신호 및 반환 도체 간의 거리가 멀어질수록 증가합니다. 10핀 헤더에서는 신호/GND의 교차 패턴이 이를 최소화하기 위해 존재합니다.
일반적인 ARM Cortex 디버그 커넥터 변형의 핀 수:
| 헤더 변형 | 핀 수 | 포함된 신호 |
|---|---|---|
| 최소 2핀 | 2 | SWDIO, SWDCLK |
| 4핀 컴팩트 | 4 | SWDIO, SWDCLK, GND, VTREF |
| 5핀 (Tag-Connect TC2030) | 5 | SWDIO, SWDCLK, GND, VTREF, nRESET |
| 10핀 ARM Cortex (1.27 mm) | 10 | SWDIO, SWDCLK, SWO, nRESET, VTREF, GND ×4 |
| 20핀 ARM Cortex (2.54 mm) | 20 | 동일한 논리 신호, 추가 GND, 키 핀 |
을 위한 디버그 프로브 하드웨어 및 SWD 연결 설정, 커넥터 핀 수는 프로브가 사용할 수 있는 선택적 신호에 직접적인 영향을 미치므로 헤더 선택을 최종 결정하기 전에 호환성을 확인하십시오.
PCB 풋프린트, 커넥터 핀 배열 표준 및 레이아웃 규칙

1.27mm 피치의 ARM Cortex 10핀 커넥터는 현재 컴팩트 디자인의 표준입니다. 핀 할당은 다음과 같이 고정되어 있습니다:
| 핀 | 신호 | 방향 |
|---|---|---|
| 1 | VTREF | 타겟 → 프로브 |
| 2 | SWDIO | 양방향 |
| 3 | GND | — |
| 4 | SWDCLK | 프로브 → 타겟 |
| 5 | GND | — |
| 6 | NC / KEY | — |
| 7 | SWO | 타겟 → 프로브 |
| 8 | NC | — |
| 9 | GND | — |
| 10 | nRESET | 프로브 → 타겟 |
2.54mm 피치의 20핀 커넥터는 추가 GND 핀과 기계식 키를 사용하여 동일한 논리 신호를 매핑합니다. 1.27mm 피치가 손납땜이나 육안 검사에 비실용적인 대형 산업용 보드에서는 여전히 일반적입니다.
Tag-Connect 풋프린트는 스프링 로드 핀을 랜드 패턴에 대고 사용합니다 — 커넥터 본체는 납땜되지 않습니다. TC2030 변형은 호환되는 신호 순서로 SWDIO, SWDCLK, VTREF, GND 및 nRESET을 전달합니다. 생산 보드는 비용과 보드 면적을 절약하기 위해 종종 채워진 헤더 대신 Tag-Connect 패드를 사용합니다. 트레이드오프는 풋프린트가 납땜 중에 접촉을 유지하기 위해 평평하고 접근 가능한 표면과 올바른 고정 클립을 필요로 한다는 것입니다.
풋프린트를 확인한 후 다음 단계는 타겟을 위한 SWD 프로그래머 선택 — 커넥터 전압 범위와 핀 호환성은 프로브 제품군마다 다릅니다.
SWD 핀에 대한 PCB 레이아웃 규칙은 위의 전기적 제약 조건에서 파생됩니다:
- SWDCLK 및 SWDIO 트레이스는 짧게 유지하십시오. MCU 패드에서 커넥터까지 50mm 미만이 합리적인 목표입니다.
- 고속 클럭에서 스큐를 방지하기 위해 두 신호 간의 트레이스 길이를 일치시키십시오.
- 스위칭 전원 공급 장치, 모터 드라이버 및 고주파 발진기 트레이스에서 멀리 라우팅하십시오.
- 커넥터 핀에 가깝게 VTREF에 100nF 디커플링 커패시터를 배치하십시오.
- MCU 디버그 포트와 커넥터 사이의 스터브에 비아를 피하십시오. 각 비아는 인덕턴스와 잠재적인 임피던스 불연속성을 추가합니다.
현장 환경의 외부 디버그 헤더에 연결되는 보드에는 SWDIO 및 SWDCLK에 대한 ESD 보호를 추가할 가치가 있습니다. 각 라인에 22–33Ω 직렬 저항을 사용하면 반사를 감쇠시키고 ESD 이벤트 중 피크 전류를 제한합니다. 47Ω 이상의 값은 10MHz에서 상승 시간을 저하시키기 시작합니다. 보호와 신호 무결성 간의 균형을 맞추기 위해 22–33Ω 범위를 유지하십시오.
생산 잠금 후 대부분의 Cortex-M 제품군에서 SWD 핀을 GPIO로 재활용할 수 있습니다. 정확한 메커니즘은 다양합니다. 일부 MCU는 디버그 비활성화 시퀀스 후에 SWDCLK 및 SWDIO가 표준 GPIO가 되는 부분 재매핑을 허용하는 반면, 다른 MCU는 해당 포트를 영구적으로 비활성화하는 전체 읽기 보호 수준을 요구합니다. 핀이 생산 후 자유롭게 사용 가능하다고 가정하기 전에 MCU 제품군의 옵션 바이트 또는 플래시 보호 레지스터 문서를 확인하십시오.
이러한 핀 수준 세부 정보를 초기에 올바르게 처리하면 보드가 조립된 후 진단하기 어려운 일련의 초기화 실패를 방지할 수 있습니다. 풀업 누락, 잘못된 VTREF 연결 및 잘못된 트레이스 라우팅은 모두 간헐적인 디버그 연결성으로 나타납니다. 이는 하드웨어를 신중하게 검사할 때까지 펌웨어 또는 프로브 문제처럼 보입니다. 레이아웃 승인 전에 SWD 핀 사양을 검토하는 엔지니어는 첫 번째 샘플 디버그에 확실히 더 적은 시간을 소비합니다. STONE HMI는 자동화 프로젝트 전반에 걸쳐 구조화된 펌웨어 개발 프로세스를 적용합니다. 초기화 중이 아니라 제조 전에 핀 수준 사양 누락을 포착하는 것과 같은 프로세스 규율은 생산 일정의 일정 지연 위험을 직접적으로 줄입니다.
카테고리
함께 보면 좋은 콘텐츠...
-
산업 시스템 통합
-
HMI 및 GUI 개발
-
임베디드 및 펌웨어 개발
-
프로젝트 평가
$299.00