Streszczenie TL;DR: dla ARM SWD, TI Spy-Bi-Wire, lub Microchip ICD, użyj obudowy Tag-Connect No-Legs ze standardowym przypisaniem pinów/padów i zdobądź kable Tag-Connect.
Projektując urządzenia wykorzystujące mikrokontrolery, należy zapewnić złącze do debugowania i programowania. Może być ono używane tylko do rozwoju, podczas pisania i debugowania oprogramowania, lub może być również pozostawione w jednostkach produkcyjnych, do programowania w fabryce.
Producenci i twórcy narzędzi upewnili się, że żyjemy w świecie, w którym istnieje mnóstwo złączy debugowania z dużą ilością zamieszania wokół nich. Dlatego kończymy z tym:
Więc, który złącze wybrać do nowego projektu?
Ten artykuł skupia się głównie na urządzeniach ARM, które mają interfejs SWD (Single-Wire Debug), ale jest również stosowny do innych części, takich jak Texas Instruments MSP430, który używa protokołu Spy Bi-Wire (2-przewodowy JTAG), Microchip ICD, czy nawet części, które wymagają bardziej kompletnego zestawu pinów JTAG.
Niektóre z często rozważanych opcji:
Jedna natychmiastowa obserwacja to fakt, że większość tych złącz wymaga, cóż, złącz. To dodatkowy komponent, który musisz umieścić na płytce, co kosztuje pieniądze. W przypadku jednostek produkcyjnych lub większych serii prototypowych, to złącze będzie używane tylko raz w całym cyklu życia produktu, co jest marnotrawstwem.
Rozwiązania Tag-Connect lub niestandardowe obrysy z złączami na piny sprężynowe mają oczywistą przewagę, ponieważ nie wymagają umieszczania żadnych komponentów na płytce PCB, więc koszt złącza debugowania na płytę spada do 0, co jest świetne!
Tak wygląda ślad Tag-Connect na prawdziwej płytce:
A tak wygląda kabel z pogo-pinami: Drugą ważną kwestią jest rozmiar i wynikające z tego wymagania dotyczące miejsca na płytce. Jedynymi konkurentami są 10-pinowy mikro-złącze 0.05" i miejsce montażowe Tag-Connect na 6 pinów. 10-pinowe mikro-złącze jest w rzeczywistości nieco mniejsze w jednym kierunku, ale różnica nie jest znacząca. Oto jak wygląda 10-pinowe mikro-złącze 0.05" (to jest z płytki rozwojowej Nordic Semiconductor nRF52832, PCA10040):
Istnieją dwie wersje kabla złączowego Tag-Connect: jeden z "nogami" i jeden bez "nóg". Jaka jest różnica?
Tag-Connect używa pinów pogo, które mają sprężyny w środku i naciskają na PCB. Jeśli chcesz, aby złącze pozostało na miejscu, musisz stale wywierać na nie nacisk. To jest w porządku do szybkiego programowania, gdzie jedną ręką możesz trzymać złącze na miejscu, a drugą uruchomić zadanie programowania, ale nie działa to zbyt dobrze do przedłużonych sesji debugowania. W takim przypadku lepiej sprawdza się ślad "nogi" (i złącze). Nogi działają jak małe zaciski, więc gdy włożysz złącze, zatrzaskują się na miejscu i trzymają piny pogo mocno przyciśnięte do płytki, na nieokreślony czas.
Problem z obudową "nogi" polega na jej rozmiarze: jest znacznie większa niż wariant "bez nóg". Co gorsza, wymaga czterech dużych otworów w płytce. Duże otwory zawsze stanowią problem: muszą (oczywiście) przechodzić przez wszystkie warstwy, a także potrzebna jest wokół nich strefa wolna od elementów. Oznacza to, że wpływ obudowy "nogi" na projekt jest znacznie większy niż wariantu "bez nóg".
Dla jednostek produkcyjnych, gdzie połączenie będzie prawdopodobnie nawiązywane tylko raz w życiu produktu i może być łatwo trzymane w ręku przez cały czas, nie ma wątpliwości: zdecydowanie preferujesz wersję "bez nóżek", która oszczędza miejsce na płytce. Ale co z prototypami? Z jednej strony, możesz pozwolić sobie na miejsce na płytce, ale z drugiej strony, nie chcesz przeprojektowywać PCB tylko dlatego, że musisz usunąć otwory w ostatecznej wersji.
Na szczęście istnieje inne rozwiązanie. Tag-Connect sprzedaje małą zaciskarkę. To kawałek PCB z trzema gniazdami, które pasują do pinów kabla Tag-Connect. To nie jest mechanicznie doskonałe rozwiązanie i zaciski z czasem się zużywają (są również niesamowicie łatwe do zgubienia!), ale w praktyce działa to całkiem dobrze.
Moja rekomendacja to zawsze wybierać ślad "bez nóżek" i kable, kupować mnóstwo zacisków zatrzymujących i oszczędzać na przestrzeni na płytce oraz na przeprojektowaniu płyt.
Widziałem sprzęt na żywo, gdzie projektanci użyli footprintu Tag-Connect dla ARM SWD (na Cortex-M0), ale przypisali sygnały inaczej. Prawdopodobnie motywacją było zaciemnienie interfejsu.
Nie polecam tego: obfuskacja jest łatwo odkrywana, a skończy się na niekompatybilnym obrysie, co nieuchronnie spowoduje problemy w przyszłości.
Tag-Connect zaleca, aby żadne komponenty nie były umieszczane (lub ścieżki prowadzone) po drugiej stronie śladu. Chociaż jest to dobra rekomendacja, nie zawsze ma się taki luksus, zwłaszcza na małych płytach z ciasnymi ograniczeniami układu.
Jak odkryłem, można sobie poradzić z umieszczaniem komponentów po drugiej stronie, nawet gdy używasz zacisku zatrzymującego, aby utrzymać kabel na miejscu. Sugerowałbym użycie kawałka izolatora między komponentami a zaciskiem zatrzymującym, jednak, aby zapobiec ewentualnym zwarcia (papier się sprawdza). Chociaż nie jest to zalecana praktyka, to działa, chociaż mocowanie złącza debugowania staje się trochę bardziej skomplikowane.
Oto przykład płytki prototypowej (przepraszamy za jakość lutowania prototypu), gdzie komponenty są umieszczone w obszarze śladu debugowania:
Nie wszystko jest idealne w Tag-Connect. Strona internetowa jest źle zorganizowana, więc trudno jest znaleźć szukane informacje. Jest wiele wariantów ofert, i chociaż większość osób będzie potrzebować tylko jednego typu kabla, nie jest on wyraźnie wyeksponowany. Niestety, wydaje się to być tradycją w firmach produkujących sprzęt do debugowania i programowania w świecie wbudowanym.
Drugim problemem, który mam, jest to, że firma oferuje do pobrania biblioteki CAD z obrysami Tag-Connect, ale stwierdza, że:
Te pliki są dostarczane 'TAK JAK SĄ' i bez gwarancji, że są kompletne, wolne od błędów lub nadają się do użycia. Starannie sprawdź zaimportowane symbole względem najnowszej karty katalogowej dostarczonej na stronie internetowej Tag-Connect (patrz poniżej). W szczególności sprawdź rozmiary otworów, numerację pinów i zwróć szczególną uwagę na warstwę maski pasty lutowniczej, aby upewnić się, że pasta lutownicza nie jest nanoszona na pady footprintu.
Jeśli spojrzysz na dostarczone pliki ZIP, zazwyczaj znajdziesz kilka wariantów śladu CAD dla danego komponentu. Którego mam użyć? I dlaczego to moja odpowiedzialność, aby to zweryfikować?
Myślę, że Tag-Connect powinien posprzątać tę bibliotekę i dostarczyć zestaw obsługiwanych śladów, przynajmniej dla bardziej popularnych pakietów CAD, bez zastrzeżeń. Powinno to być częścią wartości tego rozwiązania.
Biorąc wszystko pod uwagę, Tag-Connect nadal jest najlepszym dostępnym na rynku rozwiązaniem do debugowania i programowania. Poleciłbym standaryzację na nim i używanie go we wszystkich projektach.
PartsBox to aplikacja online, która pozwala Ci kontrolować stan magazynowy komponentów elektronicznych, wycenę BOM i małoseryjną produkcję. Śledzi, gdzie przechowywane są komponenty, jakie są bieżące stany magazynowe i które komponenty są używane w których projektach/BOMach.