강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

whichan123님의 프로필 이미지
whichan123

작성한 질문수

PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트

STM32F103 schematic - Debugging pin 설계

Debugging pin 글로벌 라벨에 대한 질문 있습니다.

작성

·

18

0

안녕하세요 삼코치님, 9분대 관해서 질문 있습니다.

삼코치님께서 JTMS_F407, NTRST_F407을 PB14,PB13,PB12에 달고,

이건 데이터시트 Pin configure에서 main function을 따랐다고 설명해주셨습니다.

근데 STM32F103의 데이터시트를 보니 main function에는 그냥 pin name과 똑같이 PB14, PB13, PB12 이렇게만 써져있던데, 어떤걸 근거로 라벨을 붙이신건지 궁금합니다.

 

감사합니다.

답변 2

0

안녕하세요, 답변 남겨드립니다.

질문하신 내용은 STM32F103의 디버깅 핀(JTAG/SWD 관련 신호)을 schematic에 설계할 때, 글로벌 라벨 명을 JTMS_F407, NTRST_F407처럼 명명한 근거가 무엇이냐는 부분으로 이해됩니다.

먼저, STM32F103의 데이터시트를 보면 각 포트 핀(PB14, PB13, PB12 등)은 “main function” 열에 단순히 GPIO명(PB14, PB13 등)으로만 표시되어 있습니다. 그러나 실제로 이 핀들은 “alternate function(AF)”으로서 특정 디버깅 기능을 수행할 수 있습니다. 예를 들어 STM32F103의 PB3~PB4, PA13~PA15 등은 JTAG/SWD 포트로 설정될 수 있으며, 데이터시트보다는 STM32F103 Reference Manual (RM0008)ST의 Debug Interface application note (AN2606)에서 해당 핀들의 디버깅 기능이 정의되어 있습니다.

JTMS_F407, NTRST_F407 등의 라벨을 붙인 이유는, STM32F407STM32F103 모두 ST의 Cortex-M 시리즈 MCU로서, 디버깅 인터페이스(JTAG/SWD)가 공통적으로 존재하기 때문입니다. 즉, 기능 명(JTMS, JTCK, JTDI, JTDO, NTRST)은 Cortex-M CoreSight 표준 인터페이스 규격(ARM Debug Interface v5 Architecture, ADIv5)에 기반하여 동일하게 사용됩니다. 따라서 설계 시 pin 라벨을 “PB14”로만 두기보다는, 핀의 기능 역할을 명시적으로 표현하기 위해 글로벌 라벨로 “JTMS”, “JTCK”, “NTRST” 등의 명칭을 추가하는 것이 하드웨어 설계상 더 명확합니다.

예를 들어, STM32F103의 디버깅 핀 매핑은 다음과 같이 설정됩니다.

  • JTMS/SWDIO → PA13

  • JTCK/SWCLK → PA14

  • JTDI → PA15

  • JTDO → PB3

  • NTRST → PB4

따라서 schematic에서 “PB14, PB13, PB12”에 JTMS_F407 등의 이름을 부여한 것은 단순히 STM32F103의 기능을 따른 것이 아니라, STM32 시리즈 간 호환성과 디버깅 신호의 의미적 일관성을 유지하기 위한 설계 관례입니다. 실제 PCB 설계 시, 동일한 디버깅 커넥터(예: 2x5 10pin ARM JTAG Header)를 여러 MCU 제품군에 공통적으로 사용할 수 있게 되며, 이는 재사용성 및 설계 효율을 높입니다.

요약하자면, 데이터시트에 “PB14”라고만 표기되어 있어도, Reference Manual과 ARM Debug Interface 스펙을 근거로 “JTMS”, “JTCK” 등의 기능명이 존재하고, 설계자는 이를 schematic 상에서 명시적으로 표현하여 디버그 인터페이스의 연결 관계를 명확히 하기 위해 글로벌 라벨을 부여한 것입니다.

실무적으로는, 같은 회로보드에서 STM32F1, F4, F7 등의 시리즈를 교체하더라도 JTAG 핀의 역할은 동일하므로, 이러한 라벨링 방식은 하드웨어 디버깅 포트를 설계할 때의 표준화된 접근입니다.

whichan123님의 프로필 이미지
whichan123
질문자

감사합니다!!

0

안녕하세요, 인프런 AI 인턴입니다. whichan123님, STM32F103의 Debugging pin에 관한 질문을 주셔서 감사합니다. 여러분이 이해하기 쉽게, 관련 자료와 설계 방식에 대해 간략히 설명드리겠습니다.

Global Label 및 Pin Configuration

  1. JTMS_F407 및 NTRST_F407 라벨링:

    • 이러한 라벨은 특정 기능이나 역할을 명확히 하기 위한 것으로, 핀 자체의 기능과 독립적인 ‘설계의 편리성’ 차원에서 설정되는 것입니다.
    • 데이터시트 상에서는 PB14, PB13, PB12라고 명시되어 있지만, 설계 시 특정 핀에 대한 라벨을 붙이는 것은 엔지니어의 필요에 따라 결정되는 부분입니다.
  2. 디버깅 및 메인 기능 설정:

    • STM32와 같은 MCU에서 특정 핀의 기능은 데이터시트의 여러 섹션을 참조하여 결정됩니다. 보통은 기본 입출력(GPIO) 기능 외에, 특정 프로토콜(JTAG, SWD 등)과의 호환성을 위해 라벨을 붙일 수 있습니다.
    • 삼코치님의 설명은 데이터시트의 ‘메인 기능’을 따랐다는 의미보다는, 설계에서 특정 디버깅 프로토콜의 호환성을 생각하여 해당 핀에 라벨을 부여한 경우일 것입니다.

참고 자료 및 추가 정보

  • STM32F103 데이터시트를 보면, 각 GPIO의 기능은 종합적으로 이해할 수 있는 AMS, JTAG 설정 페이지가 있습니다.
  • 추가적인 바로가기와 같은 글로벌 라벨은 설계의 직관성을 높이고, 디버깅 시 편리하게 사용할 수 있도록 도와줍니다.

질문하신 내용이 설계의 특정 부분에 따라 모호할 수 있지만, 디버깅 및 하드웨어 설계 시 특정 필요에 의해 커스텀 라벨이 종종 사용되므로, 자료를 바탕으로 추가적인 정보가 필요하시면 STM32 데이터시트 및 Ref Manual를 참고해 보시길 권해드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

whichan123님의 프로필 이미지
whichan123

작성한 질문수

질문하기