Bir mikrodenetleyici için hata ayıklama/programlama konnektörü seçmek

TL;DR özeti: ARM SWD, TI Spy-Bi-Wire veya Microchip ICD için, standart pin/ped atamaları ile Tag-Connect No-Legs ayak izini kullanın ve Tag-Connect kablolarını edinin.

Mikrodenetleyicileri kullanan cihazlar tasarlarken, bir hata ayıklama ve programlama konektörü sağlamak gereklidir. Bu, yazılım yazılırken ve hata ayıklanırken yalnızca geliştirme için kullanılabilir veya fabrika programlaması için üretim birimlerinde de bırakılabilir.

Üreticiler ve alet yapımcıları, etrafımızda birçok hata ayıklama konektörü ve bunlarla ilgili çok fazla kafa karışıklığı olduğu bir dünya yaratmıştır. Bu yüzden bununla sonuçlanırız:

Yeni bir tasarımda hangi konektörü seçmeli?

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

Popüler hata ayıklama konektörleri

Sıkça düşünülen bazı yaygın seçenekler:

  • 0.1" IDC başlığında 10-pin JTAG. Genellikle erkek başlık kullanılır. Dezavantajı: çok büyük ve başlık para tutar.
  • 0.05" mikro başlık (10-pin veya 20-pin, Samtec FTSH-110 ve FTSH-105) kullanılarak Cortex Hata Ayıklama Bağlantısı. 10-pin bağlantı makul derecede küçük ve SMD parça olarak mevcut, ancak IDC bağlantılarından daha pahalıdır.
  • 0.1" IDC bağlantısı 20-pin. Ciddi olarak bu dinozoru düşünmüyor olmalısınız. Tasarladığım bazı kartlardan daha büyük.
  • 4 veya 6 pinlik (veya delikler veya bakır pedler) özel bir set. Buradaki sorun "özel" kısmıdır. Gelecekte sizi ısıracaktır, fabrika zemininde özel bağlantınız kırıldığı gün ve üretim dururken yurtdışından yeni bir tane göndermeniz gerekir.
  • Bacaklı veya bacaklı olmayan varyantlardan birinde Tag-Connect 6-pin ayak izi. Burada bağlantı yok: sadece PCB'de standartlaştırılmış bir ayak izi var.
  • ETM sinyalleri için Tag-Connect 6-pin + Tag-Connect 10 pin: bu kombinasyon için, standart ARM Cortex 20-pin pin atamaları ve 20-pin IDC bağlantısı ile önceden yapılmış bir kablo bile mevcut.

Bir gözlem, bu konektörlerin çoğunun, eh, konektörlere ihtiyaç duyduğudur. Bu, kart üzerine yerleştirmeniz gereken ek bir bileşendir ve para mal olur. Üretim birimleri veya daha büyük prototip serileri için, bu konektör ürünün tüm ömrü boyunca yalnızca bir kez kullanılacak, bu da bir israftır.

Tag-Connect çözümleri veya pogo-pin tabanlı konnektörlerle özel ayak izleri, PCB üzerinde herhangi bir bileşen yerleştirilmesini gerektirmediği için burada açık bir avantaja sahiptir, bu da hata ayıklama konektörü başına maliyeti 0'a indirir, bu harika!

İşte bir Tag-Connect ayak izinin gerçek bir kart üzerinde nasıl göründüğü:

Ve işte pogo-pinlerle kablo şöyle görünüyor:  İkinci önemli husus boyut ve sonuç olarak tahta alanı gereksinimleridir. Tek rakipler 10-pin 0.05" mikro-header ve Tag-Connect 6-pin ayak izidir. 10-pin mikro-header aslında bir yönde biraz daha küçüktür, ancak fark önemli değildir. İşte bir 10-pin 0.05" mikro-header'ın görünüşü (bu, bir Nordic Semiconductor nRF52832 geliştirme tahtasından, PCA10040): 

Bacaklı mı Bacaksız mı?

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

Tag-Connect, içinde yaylar bulunan pogo pinler kullanır ve PCB'ye karşı itme yapar. Konnektörün yerinde kalmasını istiyorsanız, sürekli olarak kuvvet uygulamanız gerekir. Bu, hızlı programlama için iyidir, bir elinizle konnektörü yerinde tutabilir ve diğer elinizle programlama işini başlatabilirsiniz, ancak uzun hata ayıklama oturumları için çok iyi çalışmaz. Bunun için "bacaklar" ayak izi (ve konnektör) çok daha iyi çalışır. Bacaklar küçük klipsler gibi davranır, bu yüzden konnektörü yerleştirdiğinizde, yerine oturur ve pogo pinleri belirsiz bir süre boyunca kartın üzerinde sıkıca tutar.

"bacaklar" ayak izinin sorunu boyutudur: "bacaksız" varyantından önemli ölçüde daha büyüktür. Daha da kötüsü, kartta dört büyük delik gerektirir. Büyük delikler her zaman bir sorundur: açıkça tüm katmanlardan geçmeleri gerekir ve etraflarında bir boşluk alanına ihtiyacınız vardır. Bu, "bacaklar" ayak izinin tasarımınız üzerindeki etkisinin "bacaksız" varyantından çok daha büyük olduğu anlamına gelir.

Üretim birimleri için, bağlantının ürünün ömrü boyunca muhtemelen sadece bir kez yapılacağı ve her zaman kolayca elde tutulabileceği durumlarda, sorun yok: kesinlikle kart alanından tasarruf sağlayan "bacaksız" ayak izini tercih edersiniz. Ancak prototipler için ne yapmalı? Bir yandan, kart alanını karşılayabilirsiniz, ancak diğer yandan, son revizyonda delikleri çıkarmak zorunda kalmamak için PCB'yi yeniden tasarlamak istemezsiniz.

Şanslıyız ki, başka bir çözüm var. Tag-Connect, küçük bir tutucu klipsi satıyor. Bu, Tag-Connect kablosunun pinlerine uyacak üç soketli bir PCB parçasıdır. Mekanik olarak mükemmel bir çözüm değildir ve klipsler zamanla aşınır (ayrıca inanılmaz derecede kaybolmaları kolaydır!), ama pratikte oldukça iyi çalışır.

Tavsiyem her zaman "ayaksız" ayak izi ve kabloları seçmek, bir sürü tutma klipsi satın almak ve kart alanından ve kartların yeniden tasarlanmasından tasarruf etmektir.

Standart bir sinyal ataması kullanın

Vahşi doğada donanım gördüm, tasarımcıların ARM SWD için bir Tag-Connect ayak izi kullandığını (Cortex-M0 üzerinde), ancak sinyalleri farklı atadığını. Muhtemelen motivasyon, arayüzü karıştırmak içindi.

Bunu önermem: obfuskasyon kolayca keşfedilir ve biri gelecekte kaçınılmaz olarak sorunlara neden olacak uyumsuz bir ayak iziyle sonuçlanır.

Pratikler

Tag-Connect, ayak izinin diğer tarafında bileşen yerleştirilmemesini veya izlerin çizilmemesini önerir. Bu iyi bir öneridir, ancak özellikle küçük kartlarda sıkı yerleşim kısıtlamalarıyla her zaman bu lüksünüz olmayabilir.

Keşfettiğim gibi, bileşenleri tutma klipsini kullanırken bile, bileşenleri diğer tarafına yerleştirebilirsiniz. Ancak, olası kısa devreleri önlemek için, bileşenler ile tutma klipsi arasına bir yalıtım parçası kullanmanızı öneririm (kağıt iyi iş görür). Tavsiye edilen uygulama olmasa da, bu işe yarar, ancak hata ayıklama konektörünü yerinde sabitlemek biraz daha karmaşık hale gelir.

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

Eleştiri

Tag-Connect ile her şey mükemmel değil. Web sitesi iyi organize edilmemiş, bu yüzden aradığınız bilgileri bulmak zor. Birçok çeşit sunulmuş ve çoğu insanın tek bir kablo tipine ihtiyacı olmasına rağmen, bu öne çıkarılmamış. Ne yazık ki, bu, gömülü dünyada hata ayıklama ve programlama ekipmanı üreten şirketler arasında bir gelenek gibi görünüyor.

Şirketin Tag-Connect ayak izleri ile indirilebilir CAD kütüphaneleri sunduğu, ancak belirttiği ikinci sıkıntım şu:

Bu dosyalar 'OLDUĞU GİBİ' sağlanmıştır ve tam, hata içermeyen veya kullanım için uygun olduklarına dair bir garanti verilmez. İçe aktarılan çıkartmaları Tag-Connect web sitesinde sağlanan en son veri sayfasına karşı dikkatlice kontrol edin. Özellikle delik boyutlarını, pin numaralandırmasını kontrol edin ve lehim macun-maskesi katmanına özellikle dikkat edin, böylece lehim macunu ayak pedlerine yerleştirilmez.

ZIP dosyalarında genellikle verilen bir CAD için birkaç ayak izi varyantı bulunur. Hangisini kullanmalıyım? Ve neden bunu doğrulamak benim sorumluluğumda?

Tag-Connect'in bu kütüphaneyi temizlemesi ve en azından daha popüler CAD paketleri için bir dizi desteklenen ayak izi sağlaması gerektiğini düşünüyorum, bir feragatname olmaksızın. Bu, bu çözümün değerinin bir parçası olmalıdır.

Sonuç

Her şey göz önüne alındığında, 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.

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

PartsBox, elektronik parçalarınızın envanterini, BOM fiyatlandırmasını ve küçük ölçekli üretimi kontrol altına almanızı sağlayan çevrimiçi bir uygulamadır. Parçaların nerede saklandığını, mevcut stok seviyelerinin ne olduğunu ve hangi parçaların hangi projeler/BOM'larla kullanıldığını takip eder.

Blog İndeksi