사용자 정의 STM32 보드를 프로그래밍 할 수 없음


9

간단한 STM32 보드를 설계했습니다. 아래는 회로도 및 PCB 레이아웃 사진입니다.

개략도:
여기에 이미지 설명을 입력하십시오

PCB 레이아웃 : 여기에 이미지 설명을 입력하십시오

VDD가 강조된 PCB 레이아웃 : 여기에 이미지 설명을 입력하십시오

GND가 강조된 PCB 레이아웃 : 여기에 이미지 설명을 입력하십시오

내 질문과 관련된이 디자인의 부분 만 위의 그림에 나와 있습니다.

내 문제는 : STM32 디스커버리 보드의 내장 ST-Link를 사용 하여이 사용자 정의 보드를 프로그래밍하려고했지만 아직 성공하지 못했습니다. PC의 ST-Link Utility 응용 프로그램은 프로그래머를 인식 할 수 있지만 대상 MCU를 감지 할 수 없습니다. 내가받은 오류 메시지는 "대상이 연결되지 않았습니다"및 "ST-Link USB 통신 오류"입니다.

내 문제에 대한 몇 가지 관련 사실은 다음과 같습니다.

  • STM32 디스커버리 보드는 제대로 작동합니다. 내장 된 ST-Link를 사용하여 온보드 STM32 MCU를 프로그래밍 할 수 있습니다. 괜찮습니다.
  • STM32 MCU는 맞춤형 보드에서 올바른 방향으로 납땜되었습니다. 나는 이것을 두 번 확인했다.
  • VDD 및 SWD 추적을 확인했습니다. 그들은 잘 연결되어 있습니다 (납땜 문제 없음). 핀 부트 0은 0V입니다. 핀 NRST는 3.3V입니다.
  • SWD 케이블은 짧으며 길이는 7-8cm입니다.
  • 사용자 정의 보드의 STM32는 디스커버리 보드의 STM32와 동일한 유형입니다.
  • STM32 디스커버리 보드 설명서에서 디스커버리 보드를 사용하여 외부 STM32 MCU를 프로그래밍하는 방법에 대한 지침을 따랐습니다. 좀 더 구체적으로, 2 CN3 점퍼를 제거한 다음이 표와 같이 보드를 연결했습니다. 여기에 이미지 설명을 입력하십시오

  • 또한 디스커버리 보드에서 솔더 브리지 SB11을 제거했습니다 (핀 NRST가 올바르게 작동 할 수 있도록).

  • ST-Link Utility 앱과 Keil을 모두 시도했습니다. 내가 얻은 오류 메시지는 동일합니다.
  • 처음에는 위의 테이블 (SWO)에서 핀 6을 연결하지 않았습니다. 내 지식으로는 필요하지 않기 때문입니다. 그러나 그 후에 나는 그것을 연결했지만 여전히 문제가 해결되지 않았습니다.
  • 또한 NRST 핀에서 GND로 100nF 캡을 추가 한 다음이 핀에서 VDD로 100k 풀업 저항을 추가했습니다. 문제는 여전히 남아 있습니다.
  • 또한 ST-Link Utility 프로그램의 "재설정 연결"모드를 사용하려고했습니다. 운도 없어

디자인에 문제가 있다고 생각하지만 확실하지 않습니다. 문제 해결을 도와주세요.

대단히 감사합니다 :)


내가 기억하는 한 st-link와 사용자 정의 보드 모두에 전원을 공급해야합니다. 사용자 정의 보드의 SWD 커넥터에있는 3.3V는 st-link가 감지 할 수있는 3.3V를 제공해야합니다.
davidrojas

@ davidrojas : 답변 주셔서 감사합니다. 글쎄, 현재 PC의 USB 포트를 통해 ST-Link에 전원을 공급합니다. 맞춤형 STM32 보드는 별도의 외부 3.3V로 구동됩니다. 그러나이 두 보드의 접지는 위의 표와 같이 이미 연결되어 있습니다. 또한 맞춤형 보드의 3.3V도 ST-Link의 VDD_TARGET에 연결되어 있습니다. 이것으로 충분하다고 생각합니까?
user3286500

충분해야합니다 (예). 또 다른 문제는 SWDIO 및 SWCLK 라인의 길이와 레이아웃 일 수 있습니다. 이로 인해 과거에 간헐적 연결에 문제가있었습니다. 가능한 짧아야합니다. SWD의 속도도 낮추십시오.
davidrojas

SWD 속도를 기본 1.8MHz에서 400kHz 미만으로 낮추었지만 여전히 성공하지 못했습니다. 케이블 길이와 관련하여 내 설정에서 SWD 연결의 총 길이 (ST-Link에서 대상 STM32까지)는 약 12-13cm입니다. 여전히 한계 내에 있습니까?
user3286500

1
칩 아래의 접지 부는 물리적으로 절연되어 있으며 실제로 접지 핀에 연결되어 있지 않습니다. 접지 핀 사이의 실제 연결은 칩 외부의 구불 구불 한 경로를 따르며 일부는 실제로 절연되어있을 수 있습니다. 지면 타설에 고립 된 섬이 없도록 틈새를 조정해야합니다. 그러면 칩의 모든 그라운드 핀이 동일한 전위에 훨씬 더 가깝게됩니다.
Dave Tweed

답변:


5

당신의 큰 의견에 감사드립니다. 이로 인해 내 디자인에 오류가 없다고 확신했습니다. 그렇기 때문에 하드웨어 오류 검색에주의를 집중했습니다. 그리고 나는 오류를 발견했다! 이것은 납땜 오류입니다.

이 지시 사항을 수행 한 후에이 오류를 발견했습니다. "멀티 미터를 사용하여 모든 연결을 단락 또는 연결 부족 상태로 테스트하십시오. 핀 / 패드 / 실제로 부드럽게 터치하는 것을 잊지 마십시오. 프로브를 세게 누르면"수정 " "일시적으로 연결합니다 (예를 들어, IC 핀을 PCB의 트레이스에 밀어 넣으면 테스트는 정상이지만 핀을 다시 구부리 자마자)." 원래 게시물이 여기에 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.