Dobór mikrokontrolera do aplikacji
| TechnikaPoczątkowa faza tworzenia projektów elektronicznych może być stresująca. Stanowi problem szczególnie dla małych firm niepotrafiących prosto przełożyć sposobu realizacji funkcji użytkowych i obsługi urządzeń na układ mikrokontrolera i elektronikę pozostającą poza jednostką centralną. Dla inżynierów projektantów część celów jest oczywiście łatwa do zrealizowania przy uwzględnieniu niskich kosztów materiałowych oraz założeniu niezawodności dostawców komponentów.
Projekt zaczyna się sprecyzowaniem listy wymagań sprzętowych. W jednym z kolejnych etapów dobierany jest mikrokontroler pozwalający na spełnienie jak największej liczby funkcji użytkowych. Przebiega to najczęściej na drodze porównywania parametrów katalogowych sprzętu różnych producentów. Jest to tzw. etap rzeczywistego projektowania, gdy istnieje szczegółowy schemat blokowy urządzenia. Jeśli pomysł można zrealizować na kilka sposobów, wybór koncepcji dokonuje się poprzez porównanie zalet, wad, możliwości wykonawczych i projektowych, ceny, dostępności elementów oraz ergonomii produktu końcowego.
Na tym etapie wszystkie wymogi są absolutnie niezależne od parametrów wyszukiwania. Można wyselekcjonować parametry jednostki centralnej oraz urządzeń peryferyjnych, a następnie uzyskać listę sugestii w zestawieniu z katalogami. Niestety, większość wyszukiwarek online nie dopasowuje się do stawianych wymogów. Ponadto wielu producentów nie podaje wszystkich parametrów, a wyszukiwarki mogą być nakierowane tylko na jednego lub kilku z nich. Bardziej szczegółowe wyszukiwarki istnieją, jednak są płatne i najczęściej zawierają listy zaprzyjaźnionych firm lub promują swoich sponsorów. Ponadto ważny z punktu widzenia projektanta koszt towaru jest zwykle pomijany w wynikach.
Po znalezieniu komponentu, który wydaje się najbardziej pasować do założeń projektowych, warto przejrzeć archiwa grup dyskusyjnych. Odpowiednio sformułowane pytanie może doprowadzić do wielu użytecznych sugestii. Nawet jeśli projektant jest zaprzyjaźniony z konkretnymi dostawcami komponentów, nie powinno to wpływać na proces decyzyjny. Jeśli chodzi o ważny obecnie współczynnik cena/jakość, posługując się samymi danymi katalogowymi, nie można go określić.
Komponenty, które nie mogą być zakupione anonimowo, wymagają nawiązania relacji z dystrybutorem. Sprowadza się to do wypełnienia kilku dokumentów online i przeprowadzenia kilku rozmów telefonicznych. Czasami jednak traci się czas na spotkania osobiste z przedstawicielami firmy. Największe bariery w tym sposobie zakupów stoją przed studentami i hobbystami z racji znikomych szans na nawiązanie z nimi dłuższej współpracy. Czasami pojawiają się także problemy natury politycznej, gdy kupujący zainteresowany jest mikrokontrolerem produkowanym poza granicami jego kraju.
Należy dodać, że przedstawiciele handlowi zazwyczaj dążą do sprzedania mikrokontrolera droższego ze zbędnymi w danej aplikacji dodatkami (o ile uda im się nawiązać rozmowę dotyczącą założeń projektowych). Ogólna zasada mówi, że im więcej personelu zajmuje się doborem sprzętu, tym lepsze decyzje są podejmowane w określonym z góry przedziale czasu.
Przy doborze mikrokontrolera warto przyjąć następujące założenia wstępne:
- specyfikacje cenowe powinny być dostępne dla anonimowych użytkowników online,
- katalogi dostawcy powinny zawierać produkty co najmniej jednego znanego i cenionego producenta,
- dane katalogowe powinny być dostępne bez konieczności uiszczania opłat, logowania lub podpisywania umów o współpracy,
- powinien być możliwy bezpośredni kontakt z działem technicznym producenta, bez pośrednictwa dystrybutora,
- rdzeń mikrokontrolera powinien mieć wsparcie GNU (General Public Licence),
- powinien istnieć przynajmniej jeden komercyjny produkt korzystający z danego mikrokontrolera.
Powyższe wskazówki pomogą stworzyć krótką listę najbardziej odpowiednich mikrokontrolerów z technicznego i ekonomicznego punktu widzenia. Warto pamiętać, że wiele specjalizowanych mikrokontrolerów powstaje na indywidualne zamówienia firm i mimo że mogą one znajdować się w katalogach, są dostępne komercyjnie dopiero po wygaśnięciu umów.
Rdzeń
Nawet jeśli dobór mikroprocesora jest przeprowadzony z wielką uwagą, nigdy nie ma gwarancji, że jest to dobór trafny. Produkcja może zostać zakończona lub zawieszona w zależności od wydarzeń na rynku. Dodatkowo, w procesie projektowania mogą się zmienić wymagania końcowe. Sytuacja taka występuje zwykle wtedy, gdy zmiany są narzucane przez czynniki zewnętrzne.
Oczywiście im większą selektywność zachowuje się przy wyborze jednostki, która "idealnie" spełnia wymagania, tym większe prawdopodobieństwo, że trzeba będzie znaleźć zamiennik. Jedynym efektywnym sposobem przygotowania się na taką niedogodność jest wybór mikrokontrolera bazującego na popularnym rdzeniu. Ma to na celu ograniczenie zakresu ewentualnych zmian projektowych przy dopasowaniu schematu układu do nowego mikrokontrolera.
Obecnie w zastosowaniach komercyjnych najpopularniejsze na rynku są rdzenie 32-bitowe, z których najbardziej rozpowszechnione to Motorola 680x0, Intel x86, PowerPC, MIPS, SuperH i ARM. Wybór zależy oczywiście od oczekiwanego efektu końcowego i przeznaczenia projektowanego urządzenia. Architektura bazująca na znanej rodzinie x86 oraz kompatybilne z nimi układy firm AMD, Via Technologies czy National Semiconductor cechują się następującymi właściwościami:
- możliwość wykorzystania niemal każdego kompatybilnego z PC systemu operacyjnego oraz darmowego oprogramowania projektowego,
- prosta instalacja systemu operacyjnego,
- możliwość sprzęgnięcia wielu komponentów peryferyjnych na potrzeby niemal każdej funkcji,
- dostępność sterowników do niemal każdego modułu sprzętowego,
- dostępność zintegrowanych płyt głównych z wieloma możliwymi kombinacjami urządzeń peryferyjnych,
- relatywnie prosta migracja do zbliżonych platform (np. w wyniku braków w zaopatrzeniu lub ewolucji potrzeb klientów),
- wysoki koszt mikroprocesorów x86 przy produkcji wielkoseryjnej w porównaniu z alternatywnymi rozwiązaniami RISC o porównywanej wydajności,
- mała liczba mikrokontrolerów x86 dostępnych w wersji SoC (System on Chip); oznacza to konieczność projektowania dodatkowych jednostek do obsługi specyficznych funkcji,
- znaczny pobór mocy mikrokontrolerów x86.
Architektura x86 jest dobrym wyborem dla prototypów oraz dla systemów, w których ma współpracować wiele różnych urządzeń. Sprawdza się też w produkcji inicjującej do czasu opracowania optymalnej architektury. Omawiając platformy RISC, należy stwierdzić, że MIPS wydaje się bardziej rozpowszechnionym rdzeniem spełniających ważną rolę w układach ASIC i ASSP. PowerPC wydaje się występować głównie w aplikacjach wymagających dużej wydajności. Jeśli zaś chodzi o architekturę ARM, charakteryzuje się ona kilkoma ważnymi zaletami:
- dobrze znana architektura i duża liczba licencji gwarantuje bezpieczeństwo przyszłościowych rozwiązań,
- małe wymiary rdzeni i korzystny współczynnik poboru mocy do wydajności,
- dostępność wielu dodatków (koprocesory, zewnętrzne magistrale, jednostki zarządzania pamięcią),
- dostępność wielu atrakcyjnych cenowo standardów z różnorodnymi blokami peryferyjnymi,
- duża liczba możliwych do legalnej zmiany i adaptacji rdzeni IP.,
Podsumowanie
Ważną sprawą przy projektowaniu nowego urządzenia elektronicznego jest sformułowanie priorytetów. Najczęściej występującym jest zminimalizowanie całkowitych kosztów projektowania i wdrożenia oraz zapewnienie wystarczającego wsparcia technicznego.
Należy też zwracać uwagę na cenę mikrokontrolera kandydującego do zastosowania w prototypie i na złożoność platformy sprzętowej. Przykładowo, układ scalony wymagający wsparcia ze strony układów analogowych i specyficznego projektowania warstw na płytce drukowanej jest trudny do implementacji niskim kosztem. Wielu potencjalnych problemów można uniknąć jeszcze na etapie projektowania.
Damian Krzesimowski