안녕하세요. 블루 돼지입니다.
왕초보 개발자가 JTAG 관련 블로그를 작성합니다.
궁금하거나 필요한 내용이 있으면 댓글로 남겨주세요!
JTAG(Joint Test Action Group)
JTAG은 전자 회로의 테스트, 디버깅, 프로그래밍 및 검증을 위해 널리 사용되는 표준 인터페이스입니다.
임베디드시스템 개발 시, 대표적으로 활용되는 디버거의 통신 방식입니다.
JTAG는 IEEE 1149.1 표준으로 정의되어 있으며, 주로 집적 회로(IC)의 내부 상태를 검사하고 디버깅하는 데 사용됩니다. 이 표준은 1985년부터 개발되기 시작했고, 1990년에 IEEE 표준으로 승인되었습니다.
JTAG를 Boundary Scan이라고 부르기도 합니다.
JTAG은
MCU에 프로그램을 다운로드하거나 레지스터를 읽는 데 사용됩니다.
펌웨어 업로드, 프로세서의 내부 상태 점검 등 다양한 개발 과정에서 사용됩니다.
JTAG 인터페이스는 여러 장치를 데이지 체인 구성으로 단일 인터페이스에 연결할 수 있도록 합니다.
연결된 장치는 모두 동일한 공급 전압으로 전원을 공급받아야 하며, 아래 그림과 같이 연결해야 합니다.
TMS와 TCK는 병렬로 연결되고, TDI와 TDO는 직렬 체인으로 연결됩니다.
JTAG Pinout
JTAG 인터페이스는 아래와 같은 종류의 PIN들로 구성되어 있니다.
PIN | 내용 |
TCK [Test Clock] (클럭) |
테스트 클럭 |
TMS [Test Mode Select] (모드) |
테스트모드로 전환하기 위한 제어 TCK의 상승 에지에서 샘플링되어 다음 상태를 결정됨 |
TRST [Test Reset (Optional)] (리셋) |
리셋 신호 연결이 없을 때 의도치 않은 리셋을 방지하기 위해 대상에서 HIGH로 당겨집니다. |
TDI [Test Data-In] (데이터 입력) |
테스트하기 위한 데이터 신호 TMS에 의해 TAP 상태가 전이되고, TDI 핀으로 입력되는 데이터가 명령어(Command)로 해석될지, 데이터(Data)로 해석될지 결정됨. |
TDO [Test Data-out ] (데이터 출력) |
테스트 결과를 외부에서 모니터링하기 위한 신호 TAP 상태에 따라, TDO 핀에서 출력되는 데이터가 주소(Address)로 해석될지, 데이터(Data)로 해석될지 결정됨. |
내부에 Pull-up 저항이 있지만, JTAG 인터페이스의 안정성과 신뢰성을 높이기 위해 풀업 저항을 사용하는 경우가 많습니다.
풀업 저항을 사용하여 floating state를 방지할 수 있습니다.
JTAG 신호의 초기화 상태를 일관되게 유지하려면, TMS, TDI에 풀업 저항을 추가하세요.
참고로
TAP (Test Access Port) 상태 기계: JTAG 프로토콜에서 사용되는 상태 기계입니다.
TMS의 값에 따라 여러 상태로 전이되며, 그 상태에 따라 JTAG의 동작이 결정됩니다.
이 상태 기계는 16개의 상태를 가지며,
이 중에서 중요한 상태는 Shift-IR(Instruction Register) 상태와 Shift-DR(Data Register) 상태입니다.
JTAG Connector
JTAG은 아래와 같이 10PIN, 14PIN, 16PIN, 20PIN 등 다양한 커넥터로 사용할 수 있습니다.


참고 링크
https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Design-Considerations-for-Debug/m-p/469565
이상 마치겠습니다.
궁금한 내용이나 틀린 내용은 바로바로 댓글 남겨주세요!!
감사합니다.
'전자(Electronic Design)' 카테고리의 다른 글
콘덴서(Capacitor) 제조사별 모델명 (0) | 2024.09.14 |
---|---|
SWD (Serial Wire Debug) (4) | 2024.09.12 |
임피던스 매칭 (Impedance matching) (0) | 2024.09.08 |
시리얼 저항(Series Resistor) / 댐핑 저항 (Damping Resistor) (2) | 2024.09.07 |
SMD Resistor sizes (PCB 실장 칩 저항 크기) (0) | 2024.09.06 |