
Źródło: JTAG
Przemysł elektroniczny |
Kiedy 'Boundary-Scan' ma sens?
Tadeusz Górnicki z WG Electronics przybliża tajniki technologii Boundary Scan.
Gdzie tkwi problem?
Czy współczesna elektronika upraszcza się, czy też komplikuje? Przewrotnie można pokusić się o stwierdzenie, że nie ma jednoznacznej odpowiedzi na tak postawioną kwestię. Z jednej strony stosujemy coraz bardziej skomplikowane, coraz szybsze układy scalone i na ich bazie tworzymy coraz bardziej zaawansowane technicznie aplikacje. Z drugiej strony porównując płytki elektroniczne dzisiejszych urządzeń, zbudowane na małej powierzchni z kilku dosłownie kostek, z dawnymi konstrukcjami wielkości szafy mamy wrażenie prostoty.
Z jednej strony składamy urządzenia z kilku gotowych zintegrowanych „klocków”. Z drugiej strony przestajemy panować nad tym jak te „klocki” w środku działają. Produkując urządzenia elektroniczne musimy te współczesne „proste” konstrukcje testować. I tu znowu, z jednej strony przy wysokim uzysku produkcyjnym układów scalonych mamy gwarancje prawidłowego działania całych bloków funkcjonalnych i wydawać by się mogło niewiele do weryfikacji, a z drugiej mamy piętrzące się trudności przy realizacji jakichkolwiek testów. Wielowarstwowe obwody drukowane, obudowy BGA, gęstość upakowania ścieżek i wyprowadzeń wykluczają tradycyjne środki takie jak klasyczne przyrządy pomiarowe, testery ostrzowe itp.
Albo nie ma możliwości dotarcia do punktu pomiarowego, albo człowiek nie jest w stanie ogarnąć takiej ilości sygnałów. Co robić? Ograniczać się tylko do optycznej weryfikacji jakości montażu? Czy tylko do sprawdzenia funkcjonalnego urządzenia – działa nie działa? Taka praktyka jest już zbyt często stosowana i co praktycznie oznacza przerzucenie testu na klienta końcowego. Użytkownik coraz częściej po zakupie znajduje wady ukryte towaru i udaje się do serwisu po wymianę podzespołów lub upgrade oprogramowania.
Nikogo to już nie oburza o ile nie grozi poważnym niebezpieczeństwem. Nawet w wydawać by się mogło newralgicznym przemyśle samochodowym co chwila mamy do czynienia z wezwaniami do serwisu. Są jednak obszary elektroniki gdzie błąd jest niedopuszczalny, gdzie często producent musi wydać certyfikat mając pewność, że urządzenie zostało w pełni przetestowane. Maksymalne pokrycie testami staje się więc kluczowym zadaniem w produkcji urządzeń elektroniki lotniczej, wojskowej, medycznej, samochodowej, kolejowej itp.
W tych obszarach trzeba mieć maksymalną pewność, że urządzenie będzie działało prawidłowo również w rzadko występujących i często nie testowanych sytuacjach awaryjnych. W artykule zaprezentowano technologię „Boundary-Scan” (B-S) zwaną też ścieżką krawędziową. Jest to metoda testowania pakietów i urządzeń elektronicznych na wszystkich etapach procesu produkcji - w fazie projektowania i w fazie wytwarzania. Pozwala ona zautomatyzować procesy generowania testów, ich realizacji i diagnostyki uszkodzeń. Jest to, uniwersalna technologia, której wdrożenie w firmie wprowadza nową jakość testowania dla różnych produkowanych urządzeń.
Można zadać sobie retoryczne pytanie, czy jesteśmy w stanie na produkcji w pełni zweryfikować urządzenie i czy istnieje jakaś jedna uniwersalna metoda testowania urządzeń elektronicznych? Niestety zawsze trzeba stosować różne komplementarne działania, a planować je już na etapie projektowania aby nie tworzyć trudno testowalnych urządzeń. Prezentowany w artykule sposób też nie jest lekarstwem na całe zło. Na pewno nie zastąpi dobrze zaprojektowanego dedykowanego dla danej aplikacji testu funkcjonalnego wykonywanego często w oparciu o specjalnie zaprojektowane stanowisko i specjalnie wykonane przyrządy.
Nie zastąpi też testerów optycznych AOI i rentgenowskich AXI. Testy funkcjonalne mają jednak ograniczone możliwości diagnostyki, a optyczne i rentgenowskie pozwalają tylko zweryfikować jakość lutowania. Metoda B-S stanowi znakomite uzupełnienie tych klasycznych metod, w szczególności przy braku dostępu do punktów pomiarowych (obudowy BGA, druki wielowarstwowe). Jest bowiem uniwersalną technologią automatycznego generowania, przeprowadzania testów i diagnozowania uszkodzeń, która po wdrożeniu bez dodatkowych inwestycji może być stosowana w kolejnych projektach. . Boundary-Scan to nowa jakość w firmie, to wyższa jakość produktów.
IEEE1149.1
Tytułowa norma to klucz do stosowania testu B-S . Praktycznie możemy bowiem rozważać tę technologię, gdy w projekcie mamy co najmniej 2-3 układy scalone kompatybilne z tym standardem. Są to najczęściej mikrokontrolery (np. ARM) i programowalne struktury logiczne PLD i FPGA. Od razu trzeba też rozwiać wątpliwości i stwierdzić, że już pojedyncze układy IEEE1149.1 pozwalają testować szerszy zakres niż one same, a mianowicie pozwalają testować całe ich otoczenie. Mylna jest często wyrażana opinia – „Boundary-Scan jest nie dla nas bo mamy na pakiecie tylko pojedyncze kompatybilne układy”.
Rysunek 1: Struktura układu scalonego z mechanizmem Boundary-Scan
Kompatybilność z normą IEEE1149.1 oznacza, że układ jest wyposażony w mechanizm , który z punktu widzenia pojedynczego układu pozwala buforować tzn. odłączać/przyłączać poszczególne wyprowadzenia od/do struktury układu i konfigurować je w rejestr szeregowy z wejściem TDI i wyjściem TDO. Te komórki buforowe są sterowane wewnętrznie przez tzw. TAP (Test Access Port) za pośrednictwem linii TMS, TCK i rejestru IR (Instruction Register). Każdy taki układ na pakiecie jest identyfikowany poprzez ID i może być włączony w łańcuch testowy na pakiecie. Przy czym w trakcie testów poszczególne układy mogą być pomijane w łańcuchu poprzez rejestr BYPASS.
Idea Boundary-Scan
Rysunek 2: Łańcuchy testowe Boundary-Scan na pakiecie
Mając zrealizowane na pakiecie łańcuchy testowe utworzone z połączonych szeregowo komórek buforowych poszczególnych wyprowadzeń, mówiąc z pewnym uproszczeniem, można metodą rejestru przesuwnego dowolnie je wysterować i odczytać ich stan.
Co więc można zrobić z Boundary-Scan?
• Można przetestować samą infrastrukturę B-S (linie JTAG) na pakiecie.
• Można przeprowadzić test połączeń między poszczególnymi wyprowadzeniami układów
• Można testować funkcjonalnie układy cyfrowe na pakiecie odpowiednio je sterując i odczytując stan wyjść m.in. pamięci.
• Można testować pewne bloki funkcjonalne cyfrowe i mixed-signal nie wyposażone w mechanizmy B-S, a tylko „otoczone” przez układy z B-S.
• Można, używając zewnętrznych adapterów we/wy, weryfikować sygnały na złączach pakietu.
• Można, mając dostęp do magistral poprzez linie procesora wyposażone w B-S, programować w układzie pamięci Flash.
• Można programować w systemie układy PLD, FPGA, uP.
• Można integrować B-S z testami funkcjonalnymi urządzeń.
Rysunek 3: Możliwości testowania w technologii Boundary-Scan
Czy to mało? To więcej niż mogliśmy dotychczas weryfikować klasycznymi metodami. Już w najprostszym teście połączeń z Boundary-Scan weryfikujemy połączenia pomiędzy wewnętrznymi komórkami buforowymi, a więc wewnętrzne połączenia wyprowadzeń i struktury układu, jakość lutowania, przejścia między warstwami obwodów drukowanych, ścieżki połączeń na druku. Która metoda daje więcej?
Rysunek 4: Testowanie połączeń w technologii Boundary-Scan
Automatyzacja testowania
Nową jakością wnoszoną przez technologię Boundary-Scan są automatyzacja procesów przygotowania testów, ich realizacji, diagnostyki uszkodzeń i ich wizualizacja na tle projektu PCB, SCH lub innej formie graficznej. W tym zakresie jest wyraźna jej przewaga nad innymi technikami testowania. Oprogramowanie użytkowe oferowane na rynku np. przez JTAG Technologies, pozwala na automatyczne generowanie testów na podstawie listy połączeń z programów do projektowania schematów i PCB.
Ponadto producenci układów scalonych z mechanizmem B-S dostarczają opis funkcjonalny ich działania w tzw. języku BSDL. Opis ten również jest bazą dla generowania testów. Kolejnym elementem są modele dostarczane przez dostawcę technologii lub tworzone we własnym zakresie. W technologii generowane automatycznie lub półautomatycznie testy pozwalają skontrolować połączenia i działanie funkcjonalne poszczególnych bloków urządzenia. Kolejną zaletą prezentowanej technologii jest możliwość programowania w układzie mikrokontrolerów, pamięci Flash, PLD, FPGA i uP.
Ten ostatni aspekt to nic innego niż powszechnie stosowane programowanie w układzie docelowym via JTAG. JTAG będąc pierwotnie tylko standardem protokołu i złącza TAP w technologii Boundary-Scan stał się jej synonimem. Pojęcie JTAG jest też często używane w aspekcie debugowania mikrokontrolerów. Jedno jest jednak pewne, jeśli w aplikacjach jest używany JTAG w jakimkolwiek rozumieniu, to technologia Boundary-Scan jest na wyciągnięcie ręki. Warto może rozważyć krok do przodu, krok w przyszłość i wdrożyć Boundary-Scan.
Jak wygląda diagnostyka uszkodzeń? Przy informacji zaimportowanej z innych programów do projektowania schematów i PCB, opisu BSDL oprogramowanie użytkowe wykryty błąd automatycznie umiejscawia z dokładnością do wadliwego połączenia między punktami, wadliwego układu scalonego. Podawane jest więc konkretne miejsce uszkodzenia żadna inna technika testowania nie robi tego z większą dokładnością. Tak szczegółowa diagnostyka połączona z raportowaniem błędów pozwala na produkcji na obsługę technologii Boundary-Scan przez personel średniego szczebla technicznego.
Wdrożenie Boundary-Scan
Oczywiście do wdrożenia potrzebny jest komputer z oprogramowaniem Boundary-Scan. Konieczny jest też kontroler jako układ pośredniczący między komputerem, a układem aplikacyjnym. Taki kontroler, dla przyspieszenia operacji testowania, zazwyczaj obsługuje równolegle kilka łańcuchów Boundary-Scan. Można więc jednocześnie testować kilka pakietów lub kilka niezależnych bloków na jednym pakiecie. W zależności od potrzeb można dodatkowo stosować kontroler we/wy tzn. układ sprzęgający sygnały na złączach pakietu z komputerem.
Dostępne są przy tym różne typy kontrolerów o różnej szybkości i ilości kanałów oraz różne pakiety oprogramowania dedykowane dla projektowania lub produkcji i dla obsługi odpowiedniego zestawu planowanych operacji. Spektrum cenowe jest bardzo zróżnicowane w zależności od potrzeb i typów urządzeń. Start dzięki specjalnym ofertom nie musi wcale być tak bolesny dla kieszeni jak się obawiamy.
Ponadto Boundary-Scan to nie test szyty na miarę jednej aplikacji, to technologia testowania na etapie projektowania i produkcji wdrażana do firmy na wszystkie obecne i przyszłe projekty. W tym kontekście to technologia relatywnie tania gdyż inwestycja rozkłada się na lata. Boundary-Scan ma też sens dla relatywnie małych producentów, gdyż wolumen produkcji nie decyduje o jej użyteczności. A w końcu, to co innego ma sens dla układów z dużą gęstością wyprowadzeń np. BGA do których nie możemy się niczym dobrać?
Rysunek 5: Boundary-Scan w procesie produkcyjnym
Kogo powinno zainteresować Boundary-Scan?
Technologia Boundary-Scan jest interesująca dla projektantów zaawansowanych urządzeń elektronicznych budowanych na bazie nowoczesnych mikrokontrolerów (np. ARM), procesorów DSP, programowanych struktur logicznych PLD i FPGA, układów o dużej gęstości wyprowadzeń (m.in. w obudowach BGA), druków wielowarstwowych i to zarówno na etapie projektowania, uruchamiania jak i produkcji finalnej.
Pozwala ona ze wspomaganiem komputerowym automatycznie projektować i przeprowadzać testy pakietów zawierających nawet tylko kilka układów scalonych kompatybilnych z IEEE1149.1. Technologia Boundary-Scan jeśli nie jest jedynym sposobem na przetestowanie układu, to co najmniej znacząco zwiększa pokrycie testami. Daje gwarancje na wysoką jakość i niezawodność produkowanych urządzeń.
Technologia Boundary-Scan jest interesująca dla producentów kontraktowych. Jej wdrożenie pozwala na przyjmowanie zleceń na produkcję urządzeń, które wymagają testowania Boundary-Scan. Poszerza ofertę wykonywanych usług.
Autorem artykułu jest Tadeusz Górnicki z WG Electronics Sp. z o.o., autoryzowanego dystrybutora JTAG Technologies. Redakcja evertiq.pl dziękuje autorowi za opracowanie tekstu.




