Programowanie pamięci mikrokontrolerów

Programowanie pamięci mikrokontrolerów

Programowanie układów pamięci jest operacją nieodłącznie związaną z techniką mikroprocesorową, z mikrokontrolerami. Już na etapie uruchamiania prototypu zbyt długi czas programowania pamięci może irytować konstruktora, o ile przy każdorazowej drobnej korekcie projektu istnieje konieczność przeprogramowania pamięci dużej pojemności. Wielominutowe programowanie oznacza bierne czekanie – a więc przerwę w pracach. Problem ulega zwielokrotnieniu na etapie produkcji seryjnej – gdy mamy do zaprogramowania tysiące układów każdego dnia. Czas temu poświęcony jest de facto czasem traconym, spowalniającym linię produkcyjną.

Pamiętam lata, kiedy programowaliśmy pamięci EPROM o pojemności 1 kB. Nikt się wtedy nie zastanawiał, jak optymalizować zapis pamięci nieulotnych. Aby zrozumieć, dlaczego dziś stanowi to istotny problem, rzućmy okiem na…

Wielkość współczesnych układów programowalnych

Z historycznych układów programowalnych, tzn. pamięci nieulotnych, mikrokontrolerów z wbudowaną pamięcią programu i programowalnych układów logicznych, swoje wpływy na organizacje procesu programowania układów w firmie utraciły te ostatnie. Strukturę nawet największych współczesnych układów CPLD/FPGA definiuje się zazwyczaj w układzie docelowym, a czas programowania struktury jest relatywnie krótki.

Krytyczne dla procesu produkcji stały się natomiast pamięci wielkiej pojemności typu NAND czy eMMC. Dzisiejsze aplikacje często wymagają olbrzymiej ilości danych, a i procesory – o mocy obliczeniowej nieporównywalnie większej niż we wspomnianych latach – wymagają większych kodów programów. Do tego nadchodzi jeszcze sztuczna inteligencja.

Jeżeli weźmiemy pod uwagę czas cyklu Erase/Program/Verify przykładowych dwóch układów współczesnych pamięci (jak w tabeli 1), to – przy produkcji seryjnej rzędu 100 tys. sztuk – na samo zaprogramowanie musimy poświęcić kilkadziesiąt lub kilkaset ośmiogodzinnych dniówek.

Te wielkości pokazują skalę problemu. Pierwszym krokiem ku jego rozwiązaniu jest zwielokrotnienie ilości jednocześnie programowanych układów poprzez zastosowanie off-liniowych programatorów wielogniazdowych (typowo 4-, 8-podstawkowych) lub – w przypadku ISP – wielokanałowych (typowo 4- , 8-, 16- kanałowych). Takie liczby układów lub zmontowanych płytek PCB, które trzeba kolejno umieszczać w podstawkach lub igłowych łożach testowych, kwalifikują proces do automatyzacji. I tu rysują się dwa kierunki działania:

  • w przypadku programowania ISP – integracja programowania w ramach ręcznych i automatycznych stacji ICT testowania strukturalnego lub funkcjonalnego,
  • w przypadku tradycyjnego programowania w programatorach off-line’owych – wyrzucenie programowania poza linię technologiczną i przygotowanie preprodukcyjne zaprogramowanych układów na automatach programujących.

Kryterium wielkości produkcji i czasu potrzebnego na programowanie jest kluczowe dla prawidłowego zaplanowania procesu programowania układów w firmie. Jeśliby robić to tradycyjnie w programatorach, nawet wielogniazdowych, to często tylko do tego zadania trzeba delegować pracowników. Jeśliby z kolei realizować to w układzie docelowym w technologii ISP (In-System-Programming), to czas (zazwyczaj szeregowego) zapisu danych do pamięci spowolni linię produkcyjną. Pewnym rozwiązaniem problemu jest jednoczesne programowanie kilku, kilkunastu układów – płyt PCB – jednocześnie, z użyciem wielokanałowych programatorów ISP. Ale i to stanowi barierę nie do przejścia przy masowej produkcji. W tym ostatnim przypadku pozostają nam praktycznie tylko automatyczne off-line’owe stacje programujące.

Ciągle nowe układy, ciągle nowe algorytmy

Inną cechą współczesnego rynku układów programowalnych jest olbrzymia liczba producentów, różnorodność typów układów, dynamika przejawiająca się w licznych premierach nowych podzespołów, a tym samym różnorodność i ogrom algorytmów, które – jak oczekujemy – nasz programator powinien obsługiwać. Niestety, te czasy minęły. Dziś firmy i osoby projektujące nowatorskie rozwiązania, oparte o najnowsze układy programowalne, muszą liczyć się z tym, że odpowiadające im algorytmy nie zostały jeszcze zaimplementowane. Powszechną praktykę stanowi dodawanie algorytmu za dodatkową opłatą. Jeśli – ograniczając koszty – zdecydujemy się na jakiś niszowy programator niszowej firmy, musimy liczyć się z tym, że producent nie będzie w stanie dodać nowego algorytmu, bo nie będzie miał dostępu do jego specyfikacji technicznych. Minęły bowiem czasy, gdy w kartach katalogowych publikowano parametry techniczne algorytmów. Dziś producenci układów programowalnych wspierają w tym zakresie jedynie wyselekcjonowanych wytwórców programatorów. I nie stanowi to ich złej woli lub zabiegu ograniczającego konkurencyjność. Stopień komplikacji algorytmów oraz liczba problemów związanych z ich implementacją wymusiłyby u producentów podzespołów konieczność rozbudowy służb obsługujących i autoryzujących wszystkich twórców programatorów. Stąd rada – jeśli chcesz utrzymać się w awangardzie producentów elektroniki, kupując programatory, obstawiaj renomowane firmy. Na przykład jakie?

ELNEC – jakość za rozsądną cenę

Światowa firma ze Słowacji, jeden z największych producentów programatorów off-line’owych. Flagowe programatory BeeProg obsługują wyjątkowo dużą liczbę układów, a cechą wyróżniającą jest to, że update’y oprogramowania z zaimplementowanymi kolejnymi nowymi układami są dostępne gratis w całym okresie ich życia. Koszt ich implementacji jest częściowo wliczony w cenę adapterów, z odpowiednimi dla danej obudowy podstawkami, dopasowujących mechanicznie i elektrycznie układy do gniazd programatora, ale mimo to strategia pozostaje unikatowa. Programatory są też przystosowane do programowania ISP.

BPM Microsystems – najszybsze automaty na rynku

„Mercedesy” ze Stanów w świecie programatorów off-line’owych. Zawsze nowatorskie, najszybsze, z bogatym wyposażeniem. „Game makerami” są automaty programujące 10. generacji (fotografia otwierająca artykuł), które mogą pobierać samoczynnie układy z tub, z tacek (pojedynczych lub ze stosu) bądź taśm. Programują równolegle do 48 układów w kilku site’ach, dokonują inspekcji optycznej wyprowadzeń, oznaczają laserowo układy i pakują je do taśm lub tacek (pojedynczych lub na stos).

SMH Technologies/Algocraft – od najprostszych do wysublimowanych rozwiązań ISP

Pełna oferta z Italii, i to nie turystyczna, dla integratorów automatycznych systemów testowania chcących włączyć w nie programowanie ISP pamięci oraz mikrokontrolerów. Technologie bazowe FlashRunner i WriteNow są odpowiednie do wszystkich zastosowań, ale producent oferuje też wysublimowane rozwiązania dla krytycznie szybkich układów. Możliwość programowania w sieci.

JTAG Technologies – programowanie w ramach testowania

Z Niderlandów, ze źródeł „boundary-scan” mamy rozwiązania pozwalające programować układy via interfejs JTAG. W tym przypadku od testowania metodą ścieżki krawędziowej dochodzimy do programowania – poniekąd przy okazji. Możemy upiec dwie pieczenie przy jednym ogniu.

AMTEC.PRO – automaty dedykowane

Wracamy do śródziemnomorskich klimatów, tym razem do Słowenii. Przepakowując w automatycznych kabinach FlexCell układy z taśm, tacek i tub do taśm tłoczonych, możemy przy okazji je zaprogramować w programatorach firmy ELNEC. W tym wariancie otrzymujemy automatyczne rozwiązania budżetowe dedykowane pod klienta.

WG Electronics – ekspert w programowaniu

Ponieważ temat programowania układów jest w spektrum zainteresowań autora jeszcze od czasów z przed założenia firmy, uzurpujemy sobie prawo do bycia znawcą tematu. Tak wiec, jako WG Electronics wspieramy naszych klientów w analizie ich potrzeb i w doborze odpowiednich rozwiązań. A tu mamy pełne portfolio programatorów zarówno off-line’owych, jak i ISP – od relatywnie tanich, jednokrotnych, dla hobbystów czy konstruktorów, do wielokrotnych programatorów produkcyjnych ręcznych i automatycznych. Współpracujemy z renomowanymi producentami światowymi, którzy zapewniają dostęp do algorytmów programowania najnowszych układów programowalnych wszystkich światowych producentów, a tym samym zapewniają rozwój i update’y swoich urządzeń teraz i w przewidywalnej przyszłości.

Wybierając dziś właściwe rozwiązanie, zapewnicie sobie jego skalowalność i rozwój w dalszej perspektywie. Może więc warto wydać obecnie trochę więcej (nie mamy bowiem w ofercie najtańszych programatorów), aby nie wydawać w przyszłości kilka razy na podobne urządzenia. Zapraszamy do współpracy.

Więcej informacji:
 
WG ELECTRONICS Sp. z.o.o., 02-679 Warszawa, ul. Modzelewskiego 35, tel. +48 22 847 97 20, wg@wg.com.pl, www.wg.com.pl
Artykuł ukazał się w
Elektronika Praktyczna
marzec 2024

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów