마이크로컨트롤러에 디버그/프로그래밍 커넥터 선택

TL;DR 요약: 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 핀 세트가 필요한 부품에도 적용됩니다.

인기 있는 디버깅 커넥터

자주 고려되는 일반적인 선택 사항들:

  • 0.1" IDC 헤더에 10핀 JTAG. 보통 남성 헤더가 사용됩니다. 단점: 크기가 크고, 헤더에 비용이 듭니다.
  • 0.05" 마이크로 헤더를 사용한 Cortex Debug Connector (10핀 또는 20핀, Samtec FTSH-110 및 FTSH-105). 10핀 커넥터는 상대적으로 작고 SMD 부품으로 제공되지만 IDC 커넥터보다 비싸다.
  • 20핀 0.1" IDC 커넥터. 당신이 그 공룡을 진지하게 고려하고 있지는 않겠죠? 제가 설계한 보드 중 일부보다 큽니다.
  • 4 또는 6핀의 사용자 정의 세트 (또는 비아, 또는 구리 패드). 여기서 문제는 "사용자 정의" 부분입니다. 이것은 미래에 반드시 문제를 일으킬 것입니다. 공장 바닥에서 사용자 정의 커넥터가 고장 나는 날, 해외에서 새로운 것을 배송해야 하고, 생산이 중단되는 동안 기다려야 합니다.
  • 다리가 있는 또는 다리가 없는 변형 중 하나의 Tag-Connect 6핀 푸트프린트. 여기에는 커넥터가 없습니다: PCB에 표준화된 푸트프린트만 있습니다.
  • Tag-Connect 6핀 + Tag-Connect 10핀 (ETM 신호용): 이 조합에는 20핀 IDC 커넥터와 표준 ARM Cortex 20핀 핀 할당이 있는 사전 제작 케이블이 있습니다.

즉각적인 관찰 결과, 이 커넥터들 대부분은, 글쎄, 커넥터를 필요로 합니다. 이것은 보드에 배치해야 하는 추가 구성요소로, 돈이 듭니다. 생산 단위 또는 더 큰 프로토타입 실행에서, 그 커넥터는 제품의 전체 수명 동안 한 번만 사용되며, 이는 낭비입니다.

Tag-Connect 솔루션 또는 포고 핀 기반 커넥터를 사용한 사용자 정의 풋프린트는 PCB에 부품을 배치할 필요가 없으므로 디버그 커넥터의 보드당 비용이 0으로 떨어지는 명확한 이점이 있습니다. 이는 훌륭합니다!

Tag-Connect footprint가 실제 보드에서 어떻게 보이는지:

그리고 이것이 포고 핀이 달린 케이블이 어떻게 생겼는지입니다: 두 번째 주요 고려 사항은 크기와 결과적인 보드 공간 요구 사항입니다. 유일한 경쟁자는 10핀 0.05" 마이크로 헤더와 태그-커넥트 6핀 풋프린트입니다. 10핀 마이크로 헤더는 한 방향에서 실제로 조금 더 작지만 차이는 크지 않습니다. 10핀 0.05" 마이크로 헤더가 어떻게 생겼는지 보여드리겠습니다(이것은 Nordic Semiconductor nRF52832 개발 보드, PCA10040에서 가져온 것입니다):

다리가 있는가 없는가?

"다리"가 있는 Tag-Connect 커넥터 케이블과 "다리 없음"이 있는 두 가지 버전이 있습니다. 차이점은 무엇인가요?

Tag-Connect는 스프링이 내장된 포고 핀을 사용합니다, 이것들은 PCB에 밀착합니다. 만약 당신이 커넥터를 고정시키고 싶다면, 당신은 계속해서 그것에 힘을 가해야 합니다. 이것은 빠른 프로그래밍에는 괜찮습니다, 당신은 한 손으로 커넥터를 고정시키고 다른 한 손으로 프로그래밍 작업을 시작할 수 있지만, 긴 디버깅 세션에는 그렇게 잘 작동하지 않습니다. 그럴 경우에는 '다리' 발판 (그리고 커넥터)이 훨씬 더 잘 작동합니다. 다리는 작은 클립처럼 작동하므로, 일단 커넥터를 삽입하면, 그것들은 장소에 끼워지고 포고 핀을 보드에 밀착시키고, 무제한 시간 동안 유지합니다.

"다리" 발판의 문제는 크기입니다: "다리 없음" 변형보다 훨씬 큽니다. 더 나쁜 것은 보드에 큰 구멍 네 개가 필요하다는 것입니다. 큰 구멍은 항상 문제입니다: 그것들은 (당연히) 모든 층을 통과해야 하며, 그 주변에는 킵아웃 영역이 필요합니다. 이는 "다리" 발판이 "다리 없음" 변형보다 디자인에 미치는 영향이 훨씬 크다는 것을 의미합니다.

생산 단위의 경우, 제품의 수명 동안 한 번만 연결이 이루어질 가능성이 높고, 항상 손으로 들고 있을 수 있으므로 의문의 여지가 없습니다: 당신은 확실히 보드 공간을 절약하는 'no-legs' 풋프린트를 선호합니다. 그런데 프로토타입에 대해서는 어떻게 해야 할까요? 한편으로는 보드 공간을 감당할 수 있지만, 다른 한편으로는 최종 수정에서 구멍을 제거하기만 하기 위해 PCB를 다시 설계하고 싶지 않습니다.

다행히, 다른 해결책이 있습니다. Tag-Connect는 작은 보유 클립을 판매합니다. 이것은 Tag-Connect 케이블의 핀에 맞는 세 개의 소켓이 있는 PCB 조각입니다. 이것은 기계적으로 완벽한 해결책이 아니며 클립은 시간이 지남에 따라 마모되는 경향이 있습니다(또한 놀랍게도 쉽게 잃어버릴 수 있습니다!), 하지만 실제로는 꽤 잘 작동합니다.

나의 추천은 항상 "no-legs" 풋프린트와 케이블을 선택하고, 많은 수의 고정 클립을 구입하고, 보드 공간을 절약하고 보드를 재설계하는 것입니다.

표준 신호 할당 사용

나는 야생에서 하드웨어를 보았습니다, 디자이너들이 ARM SWD를 위한 Tag-Connect 풋프린트를 사용했지만, 신호를 다르게 할당했습니다. 인터페이스를 난독화하려는 동기가 있었을 가능성이 있습니다.

이것은 나가 추천하는 것이 아닙니다: 난독화는 쉽게 발견되며, 결국 호환되지 않는 풋프린트를 가지게 되어 미래에 반드시 문제를 일으킵니다.

실제 사항

Tag-Connect는 풋프린트의 다른 쪽에 부품을 배치하거나(또는 트레이스를 라우팅하지) 않는 것을 권장합니다. 그것은 좋은 권장사항이지만, 특히 작은 보드와 타이트한 레이아웃 제약조건이 있는 경우에는 항상 그럴 수 있는 것은 아닙니다.

나는 발견했습니다, 다른 쪽에 컴포넌트를 배치하더라도 케이블을 고정하는 클립을 사용하면 괜찮습니다. 그러나 컴포넌트와 고정 클립 사이에 절연체를 사용하여 가능한 단락을 방지하는 것이 좋습니다 (종이가 잘 작동합니다). 권장되는 방법은 아니지만, 이 방법은 작동하며, 디버그 커넥터를 고정하는 것이 좀 더 복잡해집니다.

여기에는 구성 요소가 디버그 풋프린트의 영역 내에 배치된 프로토타입 보드의 예가 있습니다(프로토타입 납땜 품질을 양해해 주십시오):  

비판

Tag-Connect와 함께 모든 것이 장미가 아닙니다. 웹사이트가 잘 구성되어 있지 않아 찾고 있는 정보를 찾기 어렵습니다. 제공되는 수많은 변형이 있고, 대부분의 사람들이 하나의 케이블 유형이 필요하더라도 그것이 눈에 띄게 표시되지 않습니다. 불행히도, 이것은 임베디드 세계에서 디버그 및 프로그래밍 장비를 제조하는 회사들과의 전통인 것 같습니다.

두 번째 불만은 회사가 Tag-Connect 발판을 가진 CAD 라이브러리를 다운로드 가능하게 제공하지만 다음과 같이 명시한다는 것입니다:

이 파일들은 '있는 그대로' 제공되며, 완전하거나 오류가 없거나 사용에 적합하다는 보장이 없습니다. Tag-Connect 웹사이트에서 제공하는 최신 데이터시트와 비교하여 가져온 데칼을 신중하게 확인하세요 (아래 참조). 특히 구멍 크기, 핀 번호를 확인하고, 풋프린트 패드에 솔더 페이스트가 투입되지 않도록 솔더 페이스트-마스크 레이어에 주의를 기울이세요.

제공된 ZIP 파일을 보면, 주어진 CAD에 대해 여러 개의 실장 패턴이 보통 있을 것입니다. 어떤 것을 사용해야 하나요? 그리고 왜 그것을 확인하는 것이 제 책임인가요?

Tag-Connect가 이 라이브러리를 정리하고, 적어도 더 인기 있는 CAD 패키지들에 대해 지원되는 footprint들의 세트를 제공해야 한다고 생각합니다. 이것은 이 솔루션의 가치의 일부가 되어야 합니다.

결론

모든 것을 고려했을 때, Tag-Connect는 여전히 최고의 현장에서 사용 가능한 디버깅 및 프로그래밍 솔루션입니다. 모든 디자인에서 이를 표준화하고 사용하는 것을 추천합니다.

이전 블로그 게시물: KiCon 2019 (2019-03-27)
나중의 블로그 게시물: 새로운 기능: 2020년 5월 (2020-05-16)

PartsBox는 온라인 앱으로, 전자 부품 재고, BOM 가격 책정, 소규모 생산을 관리할 수 있게 해줍니다. 부품이 어디에 저장되어 있는지, 현재 재고 수준이 어떤지, 어떤 부품이 어떤 프로젝트/BOM에서 사용되는지를 추적합니다.

블로그 인덱스