Bir mikrodenetleyici için hata ayıklama/programlama konektörü seçimi

Özet: ARM SWD, TI Spy-Bi-Wire veya Microchip ICD için, standart pin/ped atamalarına sahip Tag-Connect No-Legs ayak izini kullanın ve Tag-Connect kabloları edinin.

Mikrodenetleyiciler kullanan cihazlar tasarlarken, bir hata ayıklama ve programlama konektörü sağlamanız gerekir. Bu, yalnızca geliştirme sırasında, yazılım yazarken ve hata ayıklarken kullanılabilir veya fabrika içi programlama için üretim birimlerinde de bırakılabilir.

Üreticiler ve araç yapımcıları, etrafta çok fazla kafa karışıklığı olan çok sayıda hata ayıklama konektörünün olduğu bir dünyada yaşamamızı sağladılar. İşte bu yüzden bununla karşılaşıyoruz:

Peki, yeni bir tasarım için hangi konnektörü seçmeli?

Bu makale esas olarak SWD (Tek Telli Hata Ayıklama) arayüzüne sahip ARM cihazlarına odaklanmaktadır, ancak Spy Bi-Wire (2 telli JTAG) protokolünü kullanan Texas Instruments MSP430, Microchip ICD veya daha eksiksiz bir JTAG pin setine ihtiyaç duyan parçalar gibi diğer parçalar için de geçerlidir.

Popüler hata ayıklama (debugging) konektörleri

Sıklıkla düşünülen yaygın seçeneklerden bazıları:

  • 0.1" IDC başlığında 10-pin JTAG. Genellikle erkek bir başlık kullanılır. Dezavantajı: çok büyüktür ve başlık para tutar.
  • 0.05" mikro başlık kullanan Cortex Hata Ayıklama Konektörü (10-pin veya 20-pin, Samtec FTSH-110 ve FTSH-105). 10-pin konektör makul ölçüde küçüktür ve SMD bileşen olarak mevcuttur, ancak IDC konektörlerinden daha pahalıdır.
  • 20-pin 0.1" IDC konektörü. O dinozoru ciddi ciddi düşünmüyorsunuz, değil mi? Tasarladığım bazı kartlardan daha büyük.
  • Özel 4 veya 6 pin seti (veya via'lar veya bakır pedler). Buradaki sorun "özel" kısmıdır. Gelecekte, özel konektörünüzün fabrika zemininde kırıldığı ve üretim durmuşken denizaşırı ülkelerden yenisini getirtmek zorunda kaldığınız gün, kaçınılmaz olarak başınızı ağrıtacaktır.
  • Varyantlardan birinde Tag-Connect 6-pin ayak izi (bacaklı veya bacaksız). Burada bir konektör olmadığına dikkat edin: sadece PCB üzerinde standartlaştırılmış bir ayak izi.
  • Tag-Connect 6-pin + Tag-Connect 10 pin (ETM sinyalleri için): bu kombinasyon için, 20-pin IDC konektörü ve standart ARM Cortex 20-pin pin atamaları ile önceden oluşturulmuş bir kablo bile mevcuttur.

Hemen göze çarpan bir gözlem, bu konektörlerin çoğunun, evet, konektör gerektirmesidir. Bu, karta yerleştirmeniz gereken ek bir bileşendir ve paraya mal olur. Üretim birimleri veya daha büyük prototip çalışmaları için, bu konektör ürünün tüm ömrü boyunca yalnızca bir kez kullanılacaktır, bu da bir israftır.

Tag-Connect çözümleri veya pogo-pin tabanlı konektörlere sahip özel ayak izleri (footprint), PCB üzerine herhangi bir bileşen yerleştirilmesini gerektirmediği için burada bariz bir avantaja sahiptir; bu nedenle kart başına hata ayıklama konektörü maliyeti 0'a düşer, bu harika!

Bir Tag-Connect ayak izi gerçek bir kartta böyle görünür:

Ve pogo-pinli kablo şöyle görünüyor: İkinci önemli husus boyuttur ve bunun sonucunda ortaya çıkan kart alanı gereksinimleridir. Tek rakipler 10-pinli 0.05" mikro-header ve Tag-Connect 6-pinli footprint'tir. 10-pinli mikro-header aslında bir yönde biraz daha küçüktür, ancak fark önemli değildir. İşte 10-pinli 0.05" mikro-header'ın neye benzediği (bu, Nordic Semiconductor nRF52832 geliştirme kartından, PCA10040):

Bacaklı mı Bacaksız mı?

Tag-Connect konektör kablosunun iki varyantı vardır: "bacaklı" ve "bacaksız". Fark nedir?

Tag-Connect, içinde yaylar bulunan ve PCB'ye doğru iten pogo pinleri kullanır. Konektörün yerinde kalmasını istiyorsanız, ona sürekli güç uygulamanız gerekir. Bu, konektörü yerinde tutmak için bir elinizi kullanıp diğer elinizle programlama işini başlatabileceğiniz hızlı programlama için iyidir, ancak uzun süreli hata ayıklama oturumları için o kadar iyi çalışmaz. Bunun için "bacaklı" ayak izi (ve konektör) çok daha iyi çalışır. Bacaklar küçük klipsler gibi davranır, bu nedenle konektörü taktığınızda yerine otururlar ve pogo pinlerini belirsiz bir süre boyunca karta sıkıca tutarlar.

"Bacaklı" ayak iziyle ilgili sorun boyutudur: "bacaksız" varyanttan önemli ölçüde daha büyüktür. Daha da kötüsü, kartta dört büyük deliğe ihtiyaç duyar. Büyük delikler her zaman bir sorundur: (açıkçası) tüm katmanlardan geçmeleri gerekir ve ayrıca etraflarında bir yasak bölgeye (keepout area) ihtiyacınız vardır. Bu, "bacaklı" bir ayak izinin tasarımınız üzerindeki etkisinin "bacaksız" varyanttan çok daha büyük olduğu anlamına gelir.

Bağlantının muhtemelen bir ürünün ömrü boyunca yalnızca bir kez yapılacağı ve her zaman kolayca elde tutulabileceği üretim birimleri için hiç şüphe yok: kesinlikle kart alanından tasarruf sağlayan "bacaksız" ayak izini tercih edersiniz. Peki ya prototipler ne olacak? Bir yandan kart alanını karşılayabilirsiniz, ancak diğer yandan son revizyonda delikleri kaldırmanız gerektiği için PCB'yi yeniden tasarlamak istemezsiniz.

Neyse ki başka bir çözüm daha var. Tag-Connect küçük bir tutma klipsi satıyor. Bu, Tag-Connect kablosunun pinlerine uyan üç soketli bir PCB parçasıdır. Mekanik olarak mükemmel bir çözüm değildir ve klipsler zamanla aşınma eğilimindedir (ayrıca kaybolmaları inanılmaz derecede kolaydır!), ancak pratikte oldukça iyi çalışır.

Benim tavsiyem her zaman "bacaksız" ayak izi ve kablolarla gitmek, bir sürü tutma klipsi satın almak ve kart alanından ve kartları yeniden tasarlamaktan tasarruf etmektir.

Standart bir sinyal ataması kullanın

Tasarımcıların ARM SWD (bir Cortex-M0 üzerinde) için bir Tag-Connect footprint'i kullandığı ancak sinyalleri farklı atadığı donanımları sahada gördüm. Muhtemelen motivasyon arayüzü gizlemekti.

Bu tavsiye edeceğim bir şey değil: gizleme kolayca keşfedilir ve sonunda uyumsuz bir ayak izi (footprint) ile baş başa kalırsınız, bu da gelecekte kaçınılmaz olarak soruna neden olur.

Pratik Bilgiler

Tag-Connect, footprint'in diğer tarafına hiçbir bileşen yerleştirilmemesini (veya iz yönlendirilmemesini) önerir. Bu iyi bir öneri olsa da, özellikle sıkı yerleşim kısıtlamaları olan küçük kartlarda her zaman bu lükse sahip olunmayabilir.

Keşfettiğim gibi, kabloyu yerinde tutmak için tutucu klipsi kullansanız bile bileşenleri diğer tarafa yerleştirerek idare edebilirsiniz. Yine de, olası kısa devreleri önlemek için bileşenler ile tutucu klips arasında bir yalıtkan parçası kullanmanızı öneririm (kağıt işe yarar). Önerilen uygulama olmasa da bu yöntem çalışır, ancak hata ayıklama konektörünü yerine sabitlemek biraz daha karmaşık hale gelir.

İşte bileşenlerin hata ayıklama ayak izi alanına yerleştirildiği bir prototip kart örneği (lütfen prototip lehim kalitesini mazur görün):

Eleştiri

Tag-Connect ile her şey güllük gülistanlık değil. Web sitesi iyi organize edilmemiş, bu yüzden aradığınız bilgiyi bulmak zor. Sunulan çok sayıda varyant var ve çoğu insanın tek bir kablo türüne ihtiyacı olsa bile, bu belirgin bir şekilde gösterilmiyor. Ne yazık ki, bu gömülü dünyada hata ayıklama ve programlama ekipmanı yapan şirketler için bir gelenek gibi görünüyor.

İkinci şikayetim, şirketin Tag-Connect footprint'lerine sahip indirilebilir CAD kütüphaneleri sunması, ancak şunları belirtmesidir:

Bu dosyalar 'OLDUĞU GİBİ' sağlanmıştır ve eksiksiz, hatasız veya kullanıma uygun olduklarına dair hiçbir garanti verilmemektedir. İçe aktarılan çıkartmaları (decals), Tag-Connect web sitesinde sağlanan en son veri sayfasına (aşağıya bakın) göre dikkatlice kontrol edin. Özellikle delik boyutlarını, pin numaralandırmasını kontrol edin ve ayak izi pedlerinde lehim pastası birikmemesini sağlamak için lehim pastası maskesi katmanına çok dikkat edin.

Sağlanan ZIP dosyalarına bakarsanız, genellikle belirli bir CAD için birkaç ayak izi varyantı olacaktır. Hangisini kullanmalıyım? Ve bunu doğrulamak neden benim sorumluluğumda?

Bence Tag-Connect bu kütüphaneyi temizlemeli ve en azından daha popüler CAD paketleri için bir feragatname olmadan desteklenen bir ayak izi seti sağlamalıdır. Bu, bu çözümün değerinin bir parçası olmalıdır.

Sonuç

Her şey düşünüldüğünde, Tag-Connect hala en iyi hazır hata ayıklama ve programlama çözümüdür. Bunu standartlaştırmanızı ve tüm tasarımlarınızda kullanmanızı öneririm.

Önceki blog yazıları: KiCon 2019 (2019-03-27)
Daha sonraki blog yazıları: Yenilikler: Mayıs 2020 (2020-05-16)

PartsBox, elektronik bileşen envanterinizi, BOM fiyatlandırmanızı ve küçük ölçekli üretiminizi kontrol altına almanızı sağlayan çevrimiçi bir uygulamadır. Bileşenlerin nerede saklandığını, mevcut stok seviyelerinin ne olduğunu ve hangi bileşenlerin hangi projelerde/BOM'larda kullanıldığını takip eder.

Blog Dizini

KiCon 2019 (2019-03-27)
Etiketler (2016-04-26)