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.
Sıkça düşünülen bazı yaygın seçenekler:
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):
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.
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.
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:
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.
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.
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.