Không thể lập trình một bảng STM32 tùy chỉnh


9

Tôi đã thiết kế một bảng STM32 đơn giản. Dưới đây là hình ảnh bố trí sơ đồ và pcb:

Sơ đồ:
nhập mô tả hình ảnh ở đây

Bố trí PCB: nhập mô tả hình ảnh ở đây

Bố cục PCB với VDD hightlighted: nhập mô tả hình ảnh ở đây

Bố cục PCB với GND được tô sáng: nhập mô tả hình ảnh ở đây

Chỉ các phần của thiết kế này có liên quan đến câu hỏi của tôi được hiển thị trong các hình ảnh trên.

Vấn đề của tôi là: Tôi đã thử sử dụng ST-Link tích hợp của Bảng khám phá STM32 để lập trình bảng tùy chỉnh này, nhưng tôi chưa thể thành công. Ứng dụng ST-Link Utility trên PC có thể nhận ra người lập trình, nhưng nó không thể phát hiện MCU đích. Các thông báo lỗi tôi nhận được là: "Mục tiêu không được kết nối" và "Lỗi giao tiếp USB ST-Link".

Dưới đây là một số sự thật liên quan về vấn đề của tôi:

  • Bảng khám phá STM32 hoạt động tốt: Tôi có thể sử dụng ST-Link tích hợp để lập trình STM32 MCU trên tàu. Không sao đâu
  • STM32 MCU đã được hàn với định hướng chính xác trên bảng tùy chỉnh. Tôi đã kiểm tra điều này hai lần.
  • Tôi đã kiểm tra dấu vết VDD và SWD. Chúng được kết nối tốt (không có vấn đề hàn). Pin Boot0 là 0V. Pin NRST là 3,3V.
  • Cáp SWD ngắn, chỉ dài 7-8 cm.
  • STM32 trên bảng tùy chỉnh của tôi cùng loại với bảng trên Discovery Board.
  • Tôi đã làm theo hướng dẫn trong hướng dẫn của STM32 Discovery Board về cách sử dụng Discovery Board để lập trình MCU STM32 bên ngoài. Để cụ thể hơn, tôi đã loại bỏ 2 jumper CN3 và sau đó tôi kết nối các bảng như trong bảng này: nhập mô tả hình ảnh ở đây

  • Tôi cũng đã loại bỏ cầu hàn SB11 trên Discovery Board (để pin NRST có thể hoạt động bình thường).

  • Tôi đã thử cả ứng dụng ST-Link Utility và Keil. Các thông báo lỗi tôi nhận được là như nhau.
  • Lúc đầu, tôi không kết nối chân 6 trên bảng trên (SWO) vì theo hiểu biết của tôi thì không cần thiết. Tuy nhiên sau đó tôi cũng kết nối nó, nhưng mọi thứ vẫn không được như ý.
  • Tôi cũng đã thêm một nắp 100nF từ pin NRST đến GND, và sau đó một điện trở kéo lên 100k từ pin này đến VDD. Vấn đề vẫn còn.
  • Tôi cũng đã thử sử dụng chế độ "kết nối dưới cài đặt lại" của chương trình Tiện ích ST-Link. Cũng không có may mắn.

Tôi nghi ngờ rằng có thể có một cái gì đó sai với thiết kế, nhưng tôi không chắc chắn. Xin hãy giúp tôi giải quyết vấn đề.

Cảm ơn rât nhiều :)


Theo tôi nhớ, bạn phải cấp nguồn cho cả st-link và bảng tùy chỉnh của bạn. 3.3V trong đầu nối SWD của bảng tùy chỉnh của bạn phải cung cấp 3.3V cho liên kết st để phát hiện.
davidrojas

@davidrojas: Cảm ơn câu trả lời của bạn. Chà, hiện tại tôi cấp nguồn cho ST-Link bằng cổng USB từ PC của tôi. Bảng STM32 tùy chỉnh được cung cấp bởi 3,3V bên ngoài. Tuy nhiên, mặt bằng của 2 bảng này đã được kết nối (như trong bảng trên). Ngoài ra, 3.3V từ bảng tùy chỉnh của tôi cũng được kết nối với VDD_TARGET trên ST-Link. Bạn có nghĩ rằng điều này là đủ?
dùng3286500

Nó là đủ, vâng. Một vấn đề khác có thể là độ dài và bố cục của các dòng SWDIO và SWCLK, tôi đã gặp vấn đề về kết nối không liên tục trong quá khứ vì điều này. Họ phải càng ngắn càng tốt. Hãy thử giảm tốc độ của SWD.
davidrojas

Tôi đã giảm tốc độ SWD, từ 1,8 MHz mặc định xuống dưới 400 kHz, nhưng vẫn không thành công. Đối với chiều dài cáp, trong thiết lập của tôi, tổng chiều dài của kết nối SWD (từ ST-Link đến STM32 đích) là khoảng 12-13 cm. Đây có còn trong giới hạn?
dùng3286500

1
Bạn có nhận thấy rằng việc đổ đất dưới con chip bị cô lập về mặt vật lý và không thực sự được kết nối với bất kỳ chân nối đất nào không? Các kết nối thực tế giữa các chân nối đất đi theo các đường quanh co bên ngoài chip và một số trong số chúng thực sự có thể bị cô lập. Bạn cần điều chỉnh độ hở của mình để việc đổ đất không có các đảo bị cô lập và điều này sẽ giúp đảm bảo rằng tất cả các chân tiếp đất của chip gần với cùng một tiềm năng.
Dave Tweed

Câu trả lời:


5

Cảm ơn bạn cho ý kiến ​​tuyệt vời của bạn. Vì họ, tôi đã tự tin rằng thiết kế của tôi không có lỗi. Đó là lý do tại sao tôi tập trung chú ý để tìm kiếm lỗi trong phần cứng. Và tôi đã tìm thấy lỗi! Đây là một lỗi hàn.

Tôi đã tìm thấy lỗi này sau khi làm theo hướng dẫn này: "Sử dụng đồng hồ vạn năng và kiểm tra tất cả các kết nối cho quần short hoặc thiếu kết nối. Hãy nhớ chạm vào chân / miếng / bất cứ điều gì thực sự nhẹ nhàng, bởi vì nếu bạn nhấn mạnh đầu dò, bạn có thể" sửa "kết nối tạm thời (ví dụ: bạn đẩy chân IC đến dấu vết trên PCB và thử nghiệm vẫn ổn, nhưng ngay sau khi bạn buông chân pin lại cong lên)." Bài viết gốc ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.