inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

JTAG·SWD 디버깅 핀 배선하기

글로벌 Net 설정 관련

해결된 질문

16

박동준

작성한 질문수 3

0

안녕하세요.

글로벌 Net 설정으로 F407 의 디버깅 신호를 받기 위해 F103 PB14/PB13/PB12/PB0 port 에

JTMS/NRST/JTCLK 를 예시로 설정되어있는데

JTMS 를 PB14/PB12에 같이 연결시킨 이유가 궁금합니다.



MCU stm32 hardware artwork kicad orcad

답변 2

0

회로설계 멘토 삼코치

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

질문하신 STM32F103의 PB14와 PB12를 JTMS 신호에 함께 연결한 이유는 SWD 통신에서 데이터의 출력과 입력을 분리하여 처리하기 위한 것입니다.

먼저 해당 회로에서 STM32F103은 STM32F407을 디버깅하기 위한 ST-LINK 역할을 수행합니다. 일반적으로 SWD 통신은 SWDIO와 SWCLK 두 신호를 사용하며, SWDIO는 데이터의 송신과 수신이 하나의 신호선에서 이루어지는 양방향 통신 방식입니다.

이때 PB14는 STM32F407로 SWD 데이터를 출력하는 역할을 하고, PB12는 STM32F407에서 전달되는 SWD 데이터를 입력받는 역할을 합니다. 즉, 두 핀을 동일한 JTMS(SWDIO) 신호에 연결하더라도 실제 펌웨어에서는 각각 출력과 입력으로 구분하여 사용하는 구조입니다.

실제로 ST의 ST-LINK/V2 레퍼런스 회로에서도 PB14를 T_JTMS 신호에 연결하고, PB12를 T_SWDIO_IN 신호에 연결하여 사용합니다. 이때 두 신호 사이에는 100ohm 저항을 배치하여 연결하는 구조를 사용합니다.

이렇게 구성하면 디버거가 데이터를 전송할 때는 PB14를 통해 출력하고, 타깃 MCU가 응답할 때는 PB12를 통해 입력 신호를 읽을 수 있습니다. 다만 SWDIO는 양방향 신호이므로 통신 방향이 전환되는 구간에서 출력 충돌이 발생하지 않도록 펌웨어에서 PB14의 출력 상태를 적절히 제어해야 합니다.

여기서 주의할 부분은 STM32F103 자체의 JTAG/SWD 전용 핀과 혼동하지 않는 것입니다. STM32F103 내부 디버그 인터페이스의 JTMS/SWDIO는 PA13에 고정되어 있습니다. 하지만 지금처럼 STM32F103을 디버거로 사용하는 경우에는 디버거 펌웨어가 PB14와 PB12를 일반 GPIO로 제어하여 타깃 MCU의 SWD 통신을 구현할 수 있습니다.

따라서 PB14와 PB12를 함께 사용하는 이유는 동일한 신호를 불필요하게 중복 연결한 것이 아니라, SWDIO의 송신과 수신을 각각 처리하기 위한 설계라고 이해하시면 됩니다.

다만 글로벌 Net을 설정할 때 두 핀에 단순히 동일한 JTMS 라벨을 부여하면 회로상에서 직접 연결된 하나의 Net으로 처리됩니다. 실제 PCB를 제작할 때는 ST-LINK 레퍼런스 회로처럼 송신 신호와 수신 신호를 구분하고, 필요한 직렬 저항을 반영하는 것이 좋습니다. 또한 이러한 핀 구성이 정상 동작하려면 해당 연결 방식에 맞는 디버거 펌웨어가 사용되어야 합니다.

강의에서 두 핀을 함께 연결한 부분은 이러한 SWDIO의 양방향 통신 특성을 고려한 구성으로 이해하시면 되겠습니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

박동준님, 강의 회로의 PB14와 PB12가 같은 JTMS 글로벌 Net에 연결된 이유는 아래 유사 질문에서 확인하실 수 있습니다.

  • STM32F103 schematic-Debugging pin 설계 강의 질문
    기존 답변에서는 해당 신호를 JTAG의 TMS가 아니라 SWDIO 신호로 설명합니다. PB14는 디버깅 신호를 제어하는 핀이고, PB12는 같은 신호를 관측하기 위한 테스트 용도라는 취지입니다. SWD는 SWDIO와 SWCLK 두 신호를 사용하므로 TDI/TDO가 없어도 통신할 수 있습니다.

  • 32강 debugging pin 설계 강의 관련 질문 드립니다.
    글로벌 라벨은 같은 이름끼리 하나의 Net으로 연결됩니다. 따라서 실제 회로에서 두 핀이 같은 MCU의 출력 핀에 함께 연결된 것인지, 아니면 한쪽이 테스트 포인트나 외부 연결 지점인지 회로도 전체 연결을 확인하는 것이 좋습니다.

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

RJ45 관련 연결

0

11

1

패드에 VIA를 뚫어도 되는가?

0

23

1

Power budget 챕터(DP83826/ADS122C04 전력계산)

0

41

1

PowerBudget 설계 질문

0

57

1

구글 문서는 어디에서 확인하나요?

0

85

2

Schematic GND-> PCB 1v8

0

135

3

LD1117 전원부 Power Dissipation

0

129

2

JTAG신호를 받는 핀 선택 이유에 대한 질문이 있습니다.

0

168

2

oscillator에 30p를 쓰는 이유가 궁금합니다.

0

145

2

pcb 제작 주문 질문입니다.

0

145

2

49. DAC Schematic 설계하기 강의에서 질문있습니다

0

142

2

Kicad Global Label shape 질문

0

109

2

과제 3. Power budget 관련 질문

0

118

2

STM32F103 Schematic 설계 관련 질문

0

158

1

디버거 관련하여 질문있습니다.

0

93

2

Biasing 저항

0

93

2

CH340 전원 연결

0

145

1

MOSFET pull down 저항의 필요성

0

201

2

21번 INT pin 풀업 저항

0

206

2

전력 산출하는데 이해가 안가요?

0

130

2

수강연장

0

101

2

강의수강 만료일 연장 신청

0

104

2

강의 질문

0

175

2

RJ45 library 누락

0

155

2