J-Link 인터페이스 - JTAG 인터페이스 연결

J-Link는 다양한 대상 인터페이스들을 지원합니다. 현재는 다음의 인터페이스들을 지원하고 있습니다:

  • JTAG
  • SWD/SWO/SWV
  • cJTAG
  • FINE
  • SPD
  • ICSP

흔한 인터페이스 예제 중 하나는 JTAG입니다. JTAG 인터페이스 연결은 아래와 같이 20핀 시스템입니다.

image

* J-Link ULTRA+와 같은 최신 J-Link 제품에서는 펌웨어 확장용으로 남겨둡니다. 일반적인 디버그 환경에서는 오픈 상태로 두거나 GND에 연결하면 됩니다. 일반적으로 JTAG/SWD에 필수적인 핀은 아닙니다.

J-Link의 JTAG 커넥터는 ARM의 Multi-ICE와 호환됩니다. JTAG 커넥터는 키(key)가 있는 20핀의 2.54mm 수 박스 헤더 절연 변위 커넥터(Insulation Displacement Connector, IDC)로 리본 케이블에 장착된 IDC 소켓과 체결됩니다. 올바르게 연결하기 위해서는, JTAG 핀 배치를 꼼꼼히 확인할 필요가 있습니다.

다음은 J-Link의 JTAG 핀 배치를 나타냅니다:

신호 유형 설명 기능
1 VTref 입력 대상의 기준 전압 대상에 전력이 공급되었는지 확인하기 위해, 입력 비교기를 위한 논리 레벨 기준을 만들기 위해 그리고 대상으로의 출력 논리 레벨을 제어하기 위해 사용됩니다. 일반적으로 대상 보드의 Vdd로부터 공급되며 직렬 저항이 없어야 합니다.
2 연결하지 않음 NC J-Link에서 연결되어 있지 않음 다른 장비와의 호환성을 위해 남겨두었습니다. 대상 시스템에서는 Vdd에 연결하거나 오픈 상태로 둡니다.
3 nTRST 출력 JTAG 리셋 J-Link에서 대상 JTAG 포트의 리셋 신호로의 출력. 일반적으로 대상 CPU의 nTRST에 연결됩니다. 해당 핀이 연결되지 않았을 때 의도치 않게 리셋 되는 것을 방지하기 위해 이 핀은 일반적으로 대상에서 하이로 풀업 되어 있습니다.
5 TDI 출력 대상 CPU의 JTAG 데이터 입력 대상 보드에서 이 핀을 정의된 상태로 풀업 또는 풀다운 하는 것이 권장됩니다. 일반적으로 대상 CPU의 TDI에 연결됩니다.
7 TMS 출력 대상 CPU의 JTAG 모드 설정 입력 이 핀은 대상에서 풀업 되어 있어야 합니다. 일반적으로 대상 CPU의 TMS에 연결됩니다.
9 TCK 출력 대상 CPU의 JTAG 클럭 신호 대상 보드에서 이 핀을 정의된 상태로 풀업 또는 풀다운 하는 것이 권장됩니다. 일반적으로 대상 CPU의 TCK에 연결됩니다.
11 RTCK 입력 대상으로부터의 반환 테스트 클럭 신호 일부 대상은 JTAG 입력을 내부 클럭에 동기화해야만 합니다. 이 요구 사항을 충족하기 위해, 반환되어 보정된(returned and retimed) TCK 신호를 사용하여 TCK 속도를 동적으로 제어할 수 있습니다. 추가 변경을 하기 전에 TCK 변경 내용이 올바르게 반영되기를 기다리는 적응형 클럭(adaptive clocking)을 J-Link는 지원합니다. 가능한 RTCK에 연결하고, 그렇지 않을 경우 GND에 연결합니다.
13 TDO 입력 대상 CPU의 JTAG 데이터 출력 일반적으로 대상 CPU의 TDO에 연결됩니다.
15 nRESET I/O 대상 CPU 리셋 신호 일반적으로 대상 CPU의 RESET 핀에 연결되며, 일반적으로 “nRST”, “nRESET” 또는 "RESET"라고 합니다. 이 신호는 액티브 로우 신호입니다.
17 DBGRQ NC J-Link에서 연결되어 있지 않음 대상 시스템에의 디버그 요청 신호로 사용되는 다른 장비와의 호환성을 위해 남겨두었습니다. 일반적으로 가능한 DBGRQ에 연결하고, 그렇지 않을 경우 오픈 상태로 둡니다.
19 5V-전원 출력 공급 전압 이 핀은 대상 하드웨어에 전원을 공급하는 데 사용할 수 있습니다.

참고사항

  • NC로 표기된 모든 핀들은 J-Link 내부에서 연결되어 있지 않습니다. 아무 신호나 여기에 인가할 수 있습니다; J-Link는 그런 신호들을 무시할 것입니다. 4, 6, 8, 10, 12, 14, 16, 18 및 20번 핀은 J-Link의 GND에 연결되어 있는 GND 핀입니다. 대상 시스템에서도 GND로 연결해야만 합니다.
  • 2번 핀은 J-Link 내부에서는 연결되어 있지 않습니다. 많은 대상들이 1번 핀과 2번 핀이 연결되어 있습니다. 일부 대상은 VCC 공급에 1번 핀 대신 2번 핀을 사용합니다. 이런 대상들은 대상의 JTAG 커넥터에서 1번 핀과 2번 핀이 연결되어 있지 않는 한, J-Link로는 동작하지 않을 것입니다.
  • 3번 핀 (TRST)는 대상 CPU의 TRST 핀 (nTRST라고도 함)에 연결해야 합니다. 이 핀이 연결되어 있지 않더라도 J-Link는 동작하지만, 디버깅 시 일부 제한을 경험할 수 있습니다. TRST는 CPU 리셋(15번 핀)과 분리되어야 합니다.
  • 11번 핀 (RTCK)는 가능한 RTCK에 연결하고, 그렇지 않을 경우 GND에 연결해야 합니다.
  • 커넥터의 19번 핀 (5V-대상 전원)은 대상 하드웨어에 전원을 공급하는 데 사용할 수 있습니다. 공급 전압은 5V이며 최대 전류는 300mA입니다. 출력 전류는 모니터링되며 과부하 및 단락으로부터 보호됩니다.

J-Link 인터페이스에 대해 보다 자세히 알고 싶다면, 여기를 방문해 보시기 바랍니다: “Segger J-Link interface description”.



영문 원본: J-link Interface - JTAG Interface Connection

안녕하세요! STM32F103RBT6 회로 공부하는데 j-link 인터페이스 관련 궁금한게 생겼습니다.
nTRST, TMS 풀업 저항 연결하는 이유랑 TDI, TCK, TDO 풀업이나 풀다운 저항 연결 이유 알려주실 수 있나요??

안녕하세요, DigiKey TechForum에 오신것을 환영합니다.

대상의 nTRST핀을 풀업하는 이유에 대해서는 해당 핀의 기능에서 설명되어 있듯이 '해당 핀이 연결되지 않았을 때 의도치 않게 리셋 되는 것을 방지하기 위해’일 것입니다.
JTAG 동작을 위해 마이크로컨트롤러의 TMS는 내부적으로 풀업되어 있을 것입니다. 이는 해당 대상 마이크로컨트롤러의 규격서를 통해 확인할 수 있으며, 외부 풀업을 권고하기도 하오니 이는 해당 대상의 규격서를 통해서 확인해야 합니다.
데이터와 클럭도 마찬가지로 JTAG 동작을 위해 대상 마이크로컨트롤러 내부적으로 풀업 또는 풀다운되어 있을 수 있으며 마찬가지로 대상의 규격서를 통해 확인해야 합니다.