요약: ARM SWD, TI Spy-Bi-Wire 또는 Microchip ICD의 경우 표준 핀/패드 할당이 있는 Tag-Connect No-Legs 풋프린트를 사용하고 Tag-Connect 케이블을 준비하세요.
마이크로컨트롤러를 사용하는 장치를 설계할 때는 디버그 및 프로그래밍 커넥터를 제공해야 합니다. 이는 소프트웨어를 작성하고 디버깅할 때 개발용으로만 사용될 수도 있고, 공장 내 프로그래밍을 위해 생산 장치에 남겨둘 수도 있습니다.
제조업체와 도구 제작자들은 수많은 디버그 커넥터와 그에 따른 혼란이 존재하는 세상을 만들었습니다. 이것이 바로 우리가 이런 상황에 처하게 된 이유입니다: 
그렇다면 새로운 설계에 어떤 커넥터를 선택해야 할까요?
이 기사는 주로 SWD(Single-Wire Debug) 인터페이스가 있는 ARM 장치에 중점을 두지만, Spy Bi-Wire(2-wire JTAG) 프로토콜을 사용하는 Texas Instruments MSP430, Microchip ICD 또는 더 완전한 JTAG 핀 세트가 필요한 부품과 같은 다른 부품에도 적용됩니다.
자주 고려되는 일반적인 선택 사항 중 일부:
즉각적인 관찰 중 하나는 이러한 커넥터 대부분이 말 그대로 커넥터를 필요로 한다는 것입니다. 이는 보드에 배치해야 하는 추가 부품이며 비용이 듭니다. 생산 단위나 대규모 프로토타입 실행의 경우 해당 커넥터는 제품의 전체 수명 동안 한 번만 사용되므로 낭비입니다.
Tag-Connect 솔루션이나 포고 핀 기반 커넥터가 있는 맞춤형 풋프린트는 PCB에 부품을 배치할 필요가 없으므로 보드당 디버그 커넥터 비용이 0으로 급감한다는 분명한 장점이 있습니다. 정말 훌륭하죠!
실제 보드에서 Tag-Connect 풋프린트의 모습은 다음과 같습니다: 
그리고 이것이 포고 핀이 있는 케이블의 모습입니다:
두 번째 주요 고려 사항은 크기와 그에 따른 보드 공간 요구 사항입니다. 유일한 경쟁자는 10핀 0.05" 마이크로 헤더와 Tag-Connect 6핀 풋프린트입니다. 10핀 마이크로 헤더는 실제로 한 방향으로 약간 더 작지만 차이는 크지 않습니다. 다음은 10핀 0.05" 마이크로 헤더의 모습입니다(이것은 Nordic Semiconductor nRF52832 개발 보드인 PCA10040의 것입니다): 
Tag-Connect 커넥터 케이블에는 두 가지 변형이 있습니다: "다리(legs)"가 있는 것과 "다리가 없는(no legs)" 것입니다. 차이점은 무엇입니까?
Tag-Connect는 내부에 스프링이 있어 PCB를 밀어내는 포고 핀을 사용합니다. 커넥터를 제자리에 고정하려면 지속적으로 힘을 가해야 합니다. 한 손으로 커넥터를 잡고 다른 손으로 프로그래밍 작업을 시작할 수 있는 빠른 프로그래밍에는 괜찮지만, 장시간의 디버깅 세션에는 적합하지 않습니다. 그런 경우에는 "legs" 풋프린트(및 커넥터)가 훨씬 더 잘 작동합니다. 다리 부분이 작은 클립 역할을 하여 커넥터를 삽입하면 제자리에 딱 맞게 고정되고 포고 핀을 보드에 단단히 밀착시켜 무기한 유지할 수 있습니다.
"다리(legs)"가 있는 풋프린트의 문제는 크기입니다: "다리 없음(no-legs)" 변형보다 훨씬 큽니다. 더 나쁜 점은 보드에 4개의 큰 구멍이 필요하다는 것입니다. 큰 구멍은 항상 문제입니다: (당연히) 모든 레이어를 통과해야 하며, 주변에 금지 구역(keepout area)도 필요합니다. 이는 "다리"가 있는 풋프린트가 설계에 미치는 영향이 "다리 없음" 변형보다 훨씬 크다는 것을 의미합니다.
제품 수명 동안 연결이 한 번만 이루어질 가능성이 높고 항상 손으로 들고 다닐 수 있는 생산 장치의 경우 의문의 여지가 없습니다. 보드 공간을 절약하는 "다리 없는(no-legs)" 풋프린트를 선호할 것입니다. 하지만 프로토타입은 어떻게 해야 할까요? 한편으로는 보드 공간을 감당할 수 있지만, 다른 한편으로는 최종 수정본에서 구멍을 제거해야 한다는 이유만으로 PCB를 재설계하고 싶지는 않을 것입니다.
다행히 다른 해결책이 있습니다. Tag-Connect는 작은 고정 클립을 판매합니다. 이것은 Tag-Connect 케이블의 핀에 맞는 세 개의 소켓이 있는 PCB 조각입니다. 기계적으로 완벽한 해결책은 아니며 클립은 시간이 지남에 따라 마모되는 경향이 있지만(또한 잃어버리기 매우 쉽습니다!), 실제로는 꽤 잘 작동합니다.
제 추천은 항상 "다리가 없는(no-legs)" 풋프린트와 케이블을 사용하고, 고정 클립을 많이 구매하여 보드 공간과 보드 재설계 비용을 절약하는 것입니다.
실제 현장에서 설계자가 ARM SWD(Cortex-M0)용으로 Tag-Connect 풋프린트를 사용했지만 신호를 다르게 할당한 하드웨어를 본 적이 있습니다. 아마도 인터페이스를 난독화하려는 의도였을 것입니다.
이것은 제가 권장하는 방법이 아닙니다. 난독화는 쉽게 발견되며, 결국 호환되지 않는 풋프린트를 갖게 되어 필연적으로 나중에 문제를 일으킬 것입니다.
Tag-Connect는 풋프린트의 반대편에 부품을 배치하거나 트레이스를 라우팅하지 않을 것을 권장합니다. 이는 좋은 권장 사항이지만, 특히 레이아웃 제약이 심한 소형 보드에서는 항상 그렇게 할 수 있는 여유가 있는 것은 아닙니다.
제가 발견한 바와 같이, 케이블을 제자리에 고정하기 위해 고정 클립을 사용하는 경우에도 반대쪽에 부품을 배치하여 해결할 수 있습니다. 하지만 단락 가능성을 방지하기 위해 부품과 고정 클립 사이에 절연체 조각을 사용하는 것이 좋습니다(종이가 효과적임). 권장되는 방법은 아니지만 작동은 합니다. 다만 디버그 커넥터를 제자리에 고정하는 것이 좀 더 복잡해집니다.
다음은 디버그 풋프린트 영역 내에 부품이 배치된 프로토타입 보드의 예입니다(프로토타입 납땜 품질은 양해 바랍니다): 
Tag-Connect가 마냥 좋은 것만은 아닙니다. 웹사이트가 잘 정리되어 있지 않아 원하는 정보를 찾기가 어렵습니다. 다양한 변형이 제공되지만 대부분의 사람들은 단일 유형의 케이블만 필요로 함에도 불구하고 눈에 띄게 표시되어 있지 않습니다. 불행히도 이는 임베디드 세계에서 디버그 및 프로그래밍 장비를 만드는 회사들의 전통인 것 같습니다.
제가 가진 두 번째 불만은 회사가 Tag-Connect 풋프린트가 있는 다운로드 가능한 CAD 라이브러리를 제공하지만 다음과 같이 명시하고 있다는 점입니다:
이 파일들은 '있는 그대로' 제공되며 완전하거나 오류가 없거나 사용에 적합하다는 보장은 없습니다. 가져온 데칼을 Tag-Connect 웹사이트(아래 참조)에서 제공하는 최신 데이터시트와 대조하여 주의 깊게 확인하십시오. 특히 구멍 크기, 핀 번호를 확인하고 솔더 페이스트가 풋프린트 패드에 묻지 않도록 솔더 페이스트 마스크 레이어에 각별한 주의를 기울이십시오.
제공된 ZIP 파일을 보면 일반적으로 주어진 CAD에 대해 여러 풋프린트 변형이 있습니다. 어떤 것을 사용해야 하나요? 그리고 그것을 확인하는 것이 왜 제 책임인가요?
Tag-Connect가 이 라이브러리를 정리하고 면책 조항 없이 적어도 더 인기 있는 CAD 패키지에 대해 지원되는 풋프린트 세트를 제공해야 한다고 생각합니다. 그것이 이 솔루션 가치의 일부가 되어야 합니다.
모든 것을 고려할 때 Tag-Connect는 여전히 최고의 기성품 디버깅 및 프로그래밍 솔루션입니다. 이를 표준화하고 모든 설계에 사용하는 것을 추천합니다.
PartsBox는 전자 부품 재고, BOM 가격 책정 및 소규모 생산을 제어할 수 있는 온라인 앱입니다. 부품이 어디에 보관되어 있는지, 현재 재고 수준은 얼마인지, 어떤 부품이 어떤 프로젝트/BOM에 사용되는지 추적합니다.