Memilih konektor debug/pemrograman untuk mikrokontroler

Abstrak TL;DR: untuk ARM SWD, TI Spy-Bi-Wire, atau Microchip ICD, gunakan footprint Tag-Connect No-Legs dengan penetapan pin/pad standar, dan dapatkan kabel Tag-Connect.

Saat merancang perangkat yang menggunakan mikrokontroler, seseorang perlu menyediakan konektor debug dan pemrograman. Ini mungkin hanya digunakan untuk pengembangan, saat menulis dan men-debug perangkat lunak, atau bisa juga dibiarkan di unit produksi, untuk pemrograman di pabrik.

Produsen dan pembuat alat memastikan bahwa kita hidup di dunia di mana terdapat banyak konektor debug dengan banyak kebingungan di sekitarnya. Inilah sebabnya mengapa kita berakhir dengan ini:

Jadi, konektor mana yang harus dipilih untuk desain baru?

Artikel ini berfokus terutama pada perangkat ARM yang memiliki antarmuka SWD (Single-Wire Debug), tetapi juga berlaku untuk komponen lain, seperti Texas Instruments MSP430 yang menggunakan protokol Spy Bi-Wire (JTAG 2-kawat), Microchip ICD, atau bahkan komponen yang memerlukan set pin JTAG yang lebih lengkap.

Konektor debugging populer

Beberapa pilihan umum yang sering dipertimbangkan:

  • JTAG 10-pin pada header IDC 0,1". Biasanya header jantan digunakan. Kerugiannya: ukurannya besar, dan headernya memakan biaya.
  • Konektor Debug Cortex menggunakan header mikro 0,05" (10-pin atau 20-pin, Samtec FTSH-110 dan FTSH-105). Konektor 10-pin cukup kecil dan tersedia sebagai komponen SMD, tetapi lebih mahal daripada konektor IDC.
  • Konektor IDC 20-pin 0,1". Anda tidak serius mempertimbangkan dinosaurus itu, bukan? Itu lebih besar dari beberapa papan yang saya desain.
  • Set kustom 4 atau 6 pin (atau via, atau bantalan tembaga). Masalah di sini adalah bagian "kustom". Itu pasti akan kembali menggigit Anda di masa depan, pada hari konektor kustom Anda rusak di lantai pabrik dan Anda harus mengirim yang baru dari luar negeri, sementara produksi terhenti.
  • Footprint Tag-Connect 6-pin dalam salah satu varian (dengan kaki atau tanpa kaki). Perhatikan bahwa tidak ada konektor di sini: hanya footprint standar pada PCB.
  • Tag-Connect 6-pin + Tag-Connect 10 pin (untuk sinyal ETM): untuk kombinasi ini, bahkan tersedia kabel pra-rakit, dengan konektor IDC 20-pin dan penetapan pin standar ARM Cortex 20-pin.

Satu pengamatan langsung adalah bahwa sebagian besar konektor ini memerlukan, yah, konektor. Itu adalah komponen tambahan yang perlu Anda tempatkan di papan, yang memakan biaya. Untuk unit produksi atau proses prototipe yang lebih besar, konektor itu hanya akan digunakan sekali seumur hidup produk, yang merupakan pemborosan.

Solusi Tag-Connect atau footprint khusus dengan konektor berbasis pogo-pin memiliki keuntungan yang jelas di sini karena tidak memerlukan komponen apa pun untuk ditempatkan pada PCB, sehingga biaya konektor debug per papan turun drastis menjadi 0, yang sangat bagus!

Beginilah tampilan footprint Tag-Connect pada papan nyata:

Dan beginilah tampilan kabel dengan pogo-pin: Pertimbangan utama kedua adalah ukuran, dan kebutuhan ruang papan yang dihasilkan. Satu-satunya pesaing adalah micro-header 10-pin 0,05" dan footprint Tag-Connect 6-pin. Micro-header 10-pin sebenarnya sedikit lebih kecil dalam satu arah, tetapi perbedaannya tidak signifikan. Berikut adalah tampilan micro-header 10-pin 0,05" (yang ini dari papan pengembangan Nordic Semiconductor nRF52832, PCA10040):

Berkaki atau Tanpa Kaki?

Ada dua varian kabel konektor Tag-Connect: satu dengan "kaki" dan satu dengan "tanpa kaki". Apa bedanya?

Tag-Connect menggunakan pin pogo, yang memiliki pegas di dalamnya dan menekan PCB. Jika Anda ingin konektor tetap di tempatnya, Anda harus terus memberikan tekanan padanya. Ini baik-baik saja untuk pemrograman cepat, di mana Anda dapat menggunakan satu tangan untuk menahan konektor di tempatnya dan tangan lainnya untuk meluncurkan pekerjaan pemrograman tersebut, tetapi tidak bekerja dengan baik untuk sesi debugging yang lama. Untuk itu, footprint (dan konektor) "kaki" bekerja jauh lebih baik. Kaki-kaki tersebut bertindak sebagai klip kecil, jadi begitu Anda memasukkan konektor, mereka akan terkunci di tempatnya dan menahan pin pogo dengan kencang pada papan, untuk waktu yang tidak terbatas.

Masalah dengan footprint "kaki" adalah ukurannya: secara signifikan lebih besar daripada varian "tanpa kaki". Yang lebih buruk, ia membutuhkan empat lubang besar di papan. Lubang besar selalu menjadi masalah: mereka (jelas) harus melewati semua lapisan, dan Anda juga memerlukan area keepout di sekitarnya. Ini berarti dampak footprint "kaki" pada desain Anda jauh lebih besar daripada varian "tanpa kaki".

Untuk unit produksi, di mana koneksi kemungkinan hanya akan dibuat sekali seumur hidup produk, dan dapat dengan mudah dipegang dengan tangan sepanjang waktu, tidak ada pertanyaan: Anda pasti lebih suka footprint "tanpa kaki", yang menghemat ruang papan. Tapi apa yang harus dilakukan tentang prototipe? Di satu sisi, Anda mampu menyediakan ruang papan, tetapi di sisi lain, Anda tidak ingin mendesain ulang PCB hanya karena Anda perlu menghapus lubang pada revisi akhir.

Untungnya, ada solusi lain. Tag-Connect menjual klip penahan kecil. Ini adalah sepotong PCB dengan tiga soket yang pas dengan pin kabel Tag-Connect. Ini bukan solusi mekanis yang sempurna dan klip cenderung aus seiring waktu (mereka juga sangat mudah hilang!), tetapi dalam praktiknya ini bekerja cukup baik.

Rekomendasi saya adalah selalu menggunakan footprint "tanpa kaki" dan kabel, beli banyak klip penahan, dan hemat ruang papan serta desain ulang papan.

Gunakan penetapan sinyal standar

Saya pernah melihat perangkat keras di lapangan, di mana perancang menggunakan footprint Tag-Connect untuk ARM SWD (pada Cortex-M0), tetapi menetapkan sinyal secara berbeda. Kemungkinan motivasinya adalah untuk mengaburkan antarmuka tersebut.

Ini bukan sesuatu yang saya rekomendasikan: pengaburan mudah ditemukan, dan seseorang akan berakhir dengan footprint yang tidak kompatibel, yang pasti akan menyebabkan masalah di masa depan.

Kepraktisan

Tag-Connect merekomendasikan agar tidak ada komponen yang ditempatkan (atau jejak yang dirutekan) di sisi lain footprint. Meskipun itu adalah rekomendasi yang baik, seseorang tidak selalu memiliki kemewahan itu, terutama pada papan kecil dengan batasan tata letak yang ketat.

Seperti yang saya temukan, Anda bisa lolos dengan menempatkan komponen di sisi lain, bahkan ketika Anda menggunakan klip penahan untuk menahan kabel di tempatnya. Saya akan menyarankan menggunakan sepotong isolator antara komponen dan klip penahan, untuk mencegah kemungkinan korsleting (kertas bekerja dengan baik). Meskipun bukan praktik yang disarankan, ini berhasil, meskipun memasang konektor debug di tempatnya menjadi sedikit lebih rumit.

Berikut adalah contoh papan prototipe (mohon maafkan kualitas solder prototipe) di mana komponen ditempatkan di dalam area jejak debug:

Kritik

Tidak semuanya indah dengan Tag-Connect. Situs webnya tidak terorganisir dengan baik, jadi sulit untuk menemukan informasi yang Anda cari. Ada banyak varian yang ditawarkan, dan meskipun kebanyakan orang akan membutuhkan satu jenis kabel, itu tidak ditampilkan secara mencolok. Sayangnya, ini tampaknya menjadi tradisi bagi perusahaan yang membuat peralatan debug dan pemrograman di dunia embedded.

Keluhan kedua yang saya miliki adalah bahwa perusahaan menawarkan pustaka CAD yang dapat diunduh dengan footprint Tag-Connect, tetapi menyatakan bahwa:

File-file ini disediakan 'SEBAGAIMANA ADANYA' dan tanpa jaminan bahwa file-file tersebut lengkap, bebas dari kesalahan, atau sesuai untuk digunakan. Periksa stiker (decal) yang diimpor dengan cermat terhadap lembar data terbaru yang disediakan di situs web Tag-Connect (lihat di bawah). Secara khusus periksa ukuran lubang, penomoran pin, dan perhatikan baik-baik lapisan masker pasta solder untuk memastikan tidak ada pasta solder yang tersimpan di bantalan footprint.

Jika Anda melihat file ZIP yang disediakan, biasanya akan ada beberapa varian footprint untuk CAD tertentu. Mana yang harus saya gunakan? Dan mengapa menjadi tanggung jawab saya untuk memverifikasinya?

Saya pikir Tag-Connect harus membersihkan pustaka ini dan menyediakan satu set footprint yang didukung, setidaknya untuk paket CAD yang lebih populer, tanpa penafian (disclaimer). Itu harus menjadi bagian dari nilai solusi ini.

Kesimpulan

Mempertimbangkan segalanya, Tag-Connect masih merupakan solusi debugging dan pemrograman siap pakai terbaik. Saya akan merekomendasikan standarisasi padanya dan menggunakannya di semua desain Anda.

Postingan blog sebelumnya: KiCon 2019 (2019-03-27)
Postingan blog selanjutnya: Apa yang baru: Mei 2020 (2020-05-16)

PartsBox adalah aplikasi online yang memungkinkan Anda mengendalikan inventaris komponen elektronik, penetapan harga BOM, dan produksi skala kecil Anda. Ini melacak di mana komponen disimpan, berapa tingkat stok saat ini, dan komponen mana yang digunakan dalam proyek/BOM mana.

Indeks Blog