Chọn đầu nối gỡ lỗi/lập trình cho vi điều khiển

Tóm tắt ngắn gọn: đối với ARM SWD, TI Spy-Bi-Wire hoặc Microchip ICD, hãy sử dụng footprint Tag-Connect No-Legs với gán chân/pad tiêu chuẩn và mua cáp Tag-Connect.

Khi thiết kế các thiết bị sử dụng vi điều khiển, người ta cần cung cấp một đầu nối gỡ lỗi và lập trình. Đầu nối này có thể chỉ được sử dụng để phát triển, khi viết và gỡ lỗi phần mềm, hoặc cũng có thể được để lại trong các đơn vị sản xuất, để lập trình tại nhà máy.

Các nhà sản xuất và nhà chế tạo công cụ đảm bảo rằng chúng ta sống trong một thế giới có vô số đầu nối gỡ lỗi với rất nhiều sự nhầm lẫn xung quanh chúng. Đây là lý do tại sao chúng ta kết thúc với điều này:

Vậy, nên chọn đầu nối nào cho thiết kế mới?

Bài viết này chủ yếu tập trung vào các thiết bị ARM có giao diện SWD (Single-Wire Debug), nhưng nó cũng áp dụng cho các linh kiện khác, như Texas Instruments MSP430 sử dụng giao thức Spy Bi-Wire (JTAG 2 dây), Microchip ICD, hoặc thậm chí các linh kiện cần bộ chân JTAG đầy đủ hơn.

Các đầu nối gỡ lỗi phổ biến

Một số lựa chọn phổ biến thường được xem xét:

  • JTAG 10 chân trên đầu cắm IDC 0.1". Thường sử dụng đầu cắm đực. Nhược điểm: nó rất lớn và đầu cắm tốn tiền.
  • Đầu nối Cortex Debug sử dụng đầu cắm micro 0.05" (10 chân hoặc 20 chân, Samtec FTSH-110 và FTSH-105). Đầu nối 10 chân khá nhỏ và có sẵn dưới dạng linh kiện SMD, nhưng đắt hơn đầu nối IDC.
  • Đầu nối IDC 20 chân 0.1". Bạn không thực sự cân nhắc con khủng long đó chứ? Nó còn lớn hơn một số bo mạch tôi đã thiết kế.
  • Bộ 4 hoặc 6 chân tùy chỉnh (hoặc via, hoặc pad đồng). Vấn đề ở đây là phần "tùy chỉnh". Nó chắc chắn sẽ quay lại làm khó bạn trong tương lai, vào ngày đầu nối tùy chỉnh của bạn bị hỏng tại nhà máy và bạn phải vận chuyển một cái mới từ nước ngoài, trong khi quá trình sản xuất bị đình trệ.
  • Footprint Tag-Connect 6 chân ở một trong các biến thể (có chân hoặc không chân). Lưu ý rằng không có đầu nối nào ở đây: chỉ là một footprint tiêu chuẩn trên PCB.
  • Tag-Connect 6 chân + Tag-Connect 10 chân (cho tín hiệu ETM): đối với sự kết hợp này, thậm chí còn có sẵn cáp dựng sẵn, với đầu nối IDC 20 chân và gán chân Cortex ARM 20 chân tiêu chuẩn.

Một quan sát ngay lập tức là hầu hết các đầu nối này đều yêu cầu, chà, đầu nối. Đó là một linh kiện bổ sung mà bạn cần đặt trên bo mạch, tốn tiền. Đối với các đơn vị sản xuất hoặc các đợt chạy nguyên mẫu lớn hơn, đầu nối đó sẽ chỉ được sử dụng một lần trong toàn bộ vòng đời của sản phẩm, đó là một sự lãng phí.

Các giải pháp Tag-Connect hoặc footprint tùy chỉnh với các đầu nối dựa trên pogo-pin có một lợi thế rõ ràng ở đây là chúng không yêu cầu bất kỳ linh kiện nào được đặt trên PCB, vì vậy chi phí đầu nối gỡ lỗi trên mỗi bo mạch giảm xuống còn 0, điều này thật tuyệt!

Đây là hình dạng footprint Tag-Connect trên một bo mạch thực tế:

Và đây là hình dạng của cáp với các chân pogo: Cân nhắc chính thứ hai là kích thước và yêu cầu không gian bo mạch. Các đối thủ duy nhất là đầu cắm micro 10 chân 0.05" và footprint Tag-Connect 6 chân. Đầu cắm micro 10 chân thực sự nhỏ hơn một chút theo một hướng, nhưng sự khác biệt không đáng kể. Đây là hình dạng của đầu cắm micro 10 chân 0.05" (cái này là từ bo mạch phát triển Nordic Semiconductor nRF52832, PCA10040):

Có chân hay Không chân?

Có hai biến thể của cáp kết nối Tag-Connect: một loại có "chân" (legs) và một loại "không chân" (no legs). Sự khác biệt là gì?

Tag-Connect sử dụng các chân pogo, có lò xo bên trong và đẩy vào PCB. Nếu bạn muốn đầu nối giữ nguyên vị trí, bạn phải liên tục tác dụng lực lên nó. Điều này ổn cho việc lập trình nhanh, nơi bạn có thể dùng một tay giữ đầu nối và tay kia để khởi chạy công việc lập trình đó, nhưng không hoạt động tốt cho các phiên gỡ lỗi kéo dài. Đối với trường hợp đó, footprint (và đầu nối) dạng "chân" hoạt động tốt hơn nhiều. Các chân hoạt động như những chiếc kẹp nhỏ, vì vậy khi bạn cắm đầu nối vào, chúng sẽ khớp vào vị trí và giữ chặt các chân pogo vào bo mạch trong thời gian vô hạn.

Vấn đề với footprint "có chân" là kích thước của nó: nó lớn hơn đáng kể so với biến thể "không chân". Tệ hơn nữa, nó cần bốn lỗ lớn trên bo mạch. Các lỗ lớn luôn là một vấn đề: chúng (rõ ràng) cần phải đi qua tất cả các lớp, và bạn cũng cần một vùng cấm (keepout area) xung quanh chúng. Điều này có nghĩa là tác động của footprint "có chân" lên thiết kế của bạn lớn hơn nhiều so với biến thể "không chân".

Đối với các đơn vị sản xuất, nơi kết nối có thể chỉ được thực hiện một lần trong vòng đời của sản phẩm và có thể dễ dàng cầm tay mọi lúc, không có gì phải bàn cãi: bạn chắc chắn thích footprint "không chân" hơn, giúp tiết kiệm không gian bo mạch. Nhưng phải làm gì với các nguyên mẫu? Một mặt, bạn có thể đủ khả năng về không gian bo mạch, nhưng mặt khác, bạn không muốn thiết kế lại PCB chỉ vì bạn cần loại bỏ các lỗ trong bản sửa đổi cuối cùng.

May mắn thay, có một giải pháp khác. Tag-Connect bán một chiếc kẹp giữ nhỏ. Đó là một mảnh PCB với ba ổ cắm vừa với các chân của cáp Tag-Connect. Nó không phải là một giải pháp hoàn hảo về mặt cơ học và các kẹp có xu hướng bị mòn theo thời gian (chúng cũng cực kỳ dễ bị mất!), nhưng trong thực tế, nó hoạt động khá tốt.

Khuyến nghị của tôi là luôn sử dụng footprint "không chân" và cáp, mua một loạt kẹp giữ, và tiết kiệm không gian bảng mạch cũng như thiết kế lại bảng mạch.

Sử dụng gán tín hiệu tiêu chuẩn

Tôi đã thấy phần cứng trong thực tế, nơi các nhà thiết kế sử dụng footprint Tag-Connect cho ARM SWD (trên Cortex-M0), nhưng gán tín hiệu khác đi. Có khả năng động cơ là để làm xáo trộn giao diện.

Đây không phải là điều tôi khuyên dùng: sự che giấu dễ bị phát hiện và người ta sẽ nhận được một footprint không tương thích, điều này chắc chắn sẽ gây rắc rối trong tương lai.

Thực tế

Tag-Connect khuyến nghị không nên đặt linh kiện (hoặc đi dây) ở mặt bên kia của footprint. Mặc dù đó là một khuyến nghị tốt, nhưng không phải lúc nào người ta cũng có được sự xa xỉ đó, đặc biệt là trên các bảng mạch nhỏ với các ràng buộc bố trí chặt chẽ.

Như tôi đã khám phá, bạn có thể đặt các linh kiện ở phía bên kia, ngay cả khi bạn sử dụng kẹp giữ để giữ cáp tại chỗ. Tuy nhiên, tôi khuyên bạn nên sử dụng một miếng cách điện giữa các linh kiện và kẹp giữ để ngăn chặn bất kỳ sự đoản mạch nào có thể xảy ra (giấy hoạt động tốt). Mặc dù không phải là cách thực hành được khuyến nghị, nhưng cách này có hiệu quả, mặc dù việc cố định đầu nối gỡ lỗi tại chỗ sẽ phức tạp hơn một chút.

Đây là một ví dụ về bo mạch nguyên mẫu (xin thứ lỗi cho chất lượng hàn nguyên mẫu) nơi các linh kiện được đặt trong khu vực của footprint gỡ lỗi:

Phê bình

Không phải mọi thứ đều hoàn hảo với Tag-Connect. Trang web không được tổ chức tốt, vì vậy rất khó tìm thấy thông tin bạn đang tìm kiếm. Có vô số biến thể được cung cấp, và mặc dù hầu hết mọi người sẽ cần một loại cáp duy nhất, nó không được hiển thị nổi bật. Thật không may, điều này dường như là một truyền thống với các công ty sản xuất thiết bị gỡ lỗi và lập trình trong thế giới nhúng.

Điều phàn nàn thứ hai tôi có là công ty cung cấp các thư viện CAD có thể tải xuống với footprint Tag-Connect, nhưng tuyên bố rằng:

Các tệp này được cung cấp 'NGUYÊN TRẠNG' và không có đảm bảo rằng chúng hoàn chỉnh, không có lỗi hoặc phù hợp để sử dụng. Kiểm tra cẩn thận các decal đã nhập so với bảng dữ liệu mới nhất được cung cấp trên trang web Tag-Connect (xem bên dưới). Đặc biệt chú ý kiểm tra kích thước lỗ, đánh số chân và chú ý kỹ đến lớp mặt nạ hàn để đảm bảo không có kem hàn nào đọng lại trên các pad footprint.

Nếu bạn nhìn vào các tệp ZIP được cung cấp, thường sẽ có một số biến thể footprint cho một CAD nhất định. Tôi nên sử dụng cái nào? Và tại sao trách nhiệm xác minh nó lại thuộc về tôi?

Tôi nghĩ Tag-Connect nên dọn dẹp thư viện này và cung cấp một bộ footprint được hỗ trợ, ít nhất là cho các gói CAD phổ biến hơn, mà không cần từ chối trách nhiệm. Nó nên là một phần giá trị của giải pháp này.

Kết luận

Xét về mọi mặt, Tag-Connect vẫn là giải pháp gỡ lỗi và lập trình sẵn có tốt nhất. Tôi khuyên bạn nên chuẩn hóa việc sử dụng nó trong tất cả các thiết kế của mình.

Các bài đăng blog trước đó: KiCon 2019 (2019-03-27)
Các bài đăng blog sau này: Có gì mới: Tháng 5 năm 2020 (2020-05-16)

PartsBox là một ứng dụng trực tuyến cho phép bạn kiểm soát kho linh kiện điện tử, định giá BOM và sản xuất quy mô nhỏ. Nó theo dõi nơi các linh kiện được lưu trữ, mức tồn kho hiện tại là bao nhiêu và linh kiện nào được sử dụng trong dự án/BOM nào.

Mục lục Blog

KiCon 2019 (2019-03-27)
Thẻ (Tags) (2016-04-26)