반응형

  JTAG란 무엇일까?

임베디드 부분에서 Working을 하게 되면, 자주 듣게 되는 녀석이 있다. Program을 업로드 및 다운로드 할 때 Debugging 할 때 사용 하게 되며 B/D의 CPU 또는 DSP, MCU 등에 따라 호환 되는 다른 것을 사용하기도 한다.

 

요즘 출시되는 상업용 범용의 경우 주로 B/D에 JTAG이 내장 되어 판매 되고 있다고 한다.

 

JATG는 무엇일까? (Joint Test Action Grop)이라고 하는데 디지털 회로에서 특정 Note의 디지털 I/O을 위해 직렬 통신 방식으로 출력 데이터를 전송하거나 입력데이터를 수신하는 방식을 말을 합니다.

JTAG은 제이택으로 발음해서 읽습니다. 보통 디지털 회로의 칩 외부와 연결되는 핀의 I/O 회로에 적용하여 활용을 하고 있습니다. 설계에 따라서는 디지털 회로의 내부로 전송을 하거나 핀의 외부로 데이터를 출력할 수도 있으며 상태를 읽을 수가 있습니다.   JTAG을 통해서 Data를 동기식 직렬 통신 전송하는 방식은 Boundary scan을 통해 구현합니다.

 

  JTAG의 동작 개념

JTAG의 작동 방식은 칩 내부에 Boundary Chell을 만들어 이것이 외부의 핀과 1:1로 연결 되어서 프로세서가 할 수 있는 동작을 중간에 Cell을 통해 인위적으로 수행할 수 있도록 하는 것을 말합니다. 이러한 방식으로 다양한 HW의 TEST나 연결 상태등을 체크할 수 있습니다.

 

  Interface 인터페이스

 

1. TDI (데이터 입력) -> Test Data In

 Test하기 위한 데이터 신호. TMS에 의해 전이된 TAP  state에 따라, TDI가 Command/Data가 결정 됨.

2. TDO(데이터 출력) -> Test Data Out

 Test한 결과를 외부에서 모니터링 하기 위한 pin, 이 역시 TAP state에 따라 address/data가 될 수 있음.

3. TCK(Clock) -> Test clock( Test Clock)

4. TMS(모드) -> Test Mode Select

Test Mode로 전환하기 위한 제어 신호

5. TRST(리셋)-> TEST Reset

 

위 그림을 보게 되면 TMS, TCK, TDI, TDO가 각 각의 Device와 연결이 되어 있으며, 즉 각각의 Device 외부 Pin과 위 5가지 Pin이 연결 되어 있어서 읽고 쓰기가 가능 한 것임.

 

SAM4CMS JTAG Debug Port Image를 참고해서 H/W 도면을 보면 이러한 구도로 생겼다.

Figure 1. JTAG/ICE Interface Schematic

 

 

  JTAG 정리

정리를 하게 되면 제품을 만들 때 제품이 잘 동작하는 지 테스트를 과정들이 필요합니다. 그러면 핀 마다 잘 동작을 확인 하는 과정이 필요한데 핀이 너무 작고, 숨어 있을 수 있기 때문에 이걸 표준으로 만들어 테스트하기 용이하도록 만들어 놓은 것이 JTAG라고 합니다.

 

JTAG는 Embedded System의 MCU 칩을 테스트 하기 보다는 B/D 자체를 테스트를 한다고 생각하시면 됩니다. 해당 핀에 신호가 잘 들어가는 데 왜 동작이 오동작 하는 지, 아니면 S/W 코드에 문제가 있는 지 ETC 등을 확인할 수가 있습니다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기