JTAG
보이기
IEEE 1149.1 또는 JTAG라고 알려진 데이터 통신 규격은 정확히는 Boundary Scan이라 불리는 인터페이스로 1985년 Joint Test Action Group이 주도하여 규격을 만들었기에 이런 이름이 붙었다.
PCB에 실장할 부품을 칩 외부 Wire로 테스트하는 용도로 사용하는 통신 규격이며, 펌웨어 프로그래밍에도 사용한다.
경쟁 규격으로는 Serial Wire Debug(SWD)가 있다.
다음 5개 핀을 통해 프로그래밍/테스트를 수행한다.
- TDI: 직렬 데이터 입력 도선이다.
- TDO: 직렬 데이터 출력 도선이다.
- TCK: 발진기 등에서 발생한 클럭을 인가한다.
- TMS: 테스트할 기능을 선택하는 도선이다.
- TRST: 테스트할 부품의 전기적 및 논리 상태를 초기화한다.
여기서 JTAG로 테스트할 디바이스는 여러 개가 직렬로 연결되어 JTAG 데이터 입력(TDI)과 출력(TDO)을 하나의 라인으로 공유하게 되며, 이전 디바이스의 TDO가 다음 디바이스의 TDI로 들어가되 디바이스가 TMS로 선택되지 않은 상태이면 들어온 TDI를 그대로 TDO로 내보내거나 칩 내부에 정해진 데이터 가공 로직대로 이전 디바이스의 출력을 처리한 뒤 결과를 출력하는 식으로 테스트 로직이 작동한다.