Jak zaplanować produkt dalekiego zasięgu z mikrokontrolerem, który wymaga długoterminowego wsparcia?

22

Muszę użyć mikrokontrolera w systemie, który musi działać bez większych zmian przez długi czas (dekady). Aby mieć pewność, że zawsze będą części zamienne, potrzebuję mikrokontrolera, który będzie produkowany lub produkowany przez niektórych producentów w sposób binarny i zgodny z pinami hermetyzującymi. Co mogę zrobić, aby wybrany mikrokontroler spełniał te kryteria?

Aplikacja nie wymaga dużej mocy obliczeniowej. Jego celem jest sterowanie silnikami i innymi systemami przemysłowymi. Mikrokontroler 8 bitów zdolny do zmiany stanu około 8-16 pinów IO na częstotliwości 0,5-1 MHz jest OK. ADC może być cenny, ale można go zastąpić prostym zewnętrznym komparatorem.

użytkownik3368561
źródło
11
PIC słynie z tego.
Scott Seidman
4
W branżach, w których jest to ważne, „oprogramowanie” jest zaprojektowane w VHDL i zaimplementowane w FPGA lub CPLD. Można to w przyszłości przenieść na dowolne programowalne urządzenie, ponieważ funkcja nie zależy od architektury urządzenia.
user1582568
12
Microchip ma pod tym względem doskonałą historię. Nadal można uzyskać PIC 16C54 dzisiaj, po raz pierwszy wprowadzony w latach 90. Słyszałem, że Steve Sanghi (CEO Microchip) stwierdził, że jest to oficjalna polityka. Chociaż nikt nie może obiecać, co zrobi każda firma za 20 lat, użycie PIC Microchip jest najlepszym wyborem, biorąc pod uwagę informacje, które mamy dzisiaj.
Olin Lathrop
4
@ MarkoBuršič - to nie do końca prawda. Na rynku istnieje wiele MCU, które istnieją już od ponad 10 lat.
Chris Stratton
4
@brhans Mogę umrzeć jutro, a cała ta dyskusja byłaby bezużyteczna ... To pytanie nie dotyczy absolutnych pewności, ale prawdopodobieństwa sukcesu.
user3368561

Odpowiedzi:

25

Producenci FPGA twierdzą, że jeśli użyjesz „miękkiego rdzenia”, czyli mikrokontrolera napisanego w VHDL, to ten projekt VHDL może zostać zaimplementowany na dowolnym programowalnym sprzęcie FPGA, uwalniając w ten sposób od prawdopodobieństwa, że ​​jakiś sprzęt ulegnie awarii. produkcji.

Aby kupić ten argument, należy założyć, że programowalny sprzęt będzie nadal dostępny przez określony czas (co jest prawdopodobne) i nadal będzie dostępny w rozmiarach układów, kosztach i napięciach, które będą pasować do twojego produktu (co jest dla mnie trudniejsze wierzyć). Aby skorzystać z tego podejścia, musisz zaakceptować konieczność zaprojektowania nowego sprzętu, aby zaakceptować nowy pakiet, który w pewnym sensie pokonuje Twój obiekt bez większych zmian.

Moim podejściem i moją radą byłoby odizolowanie przetwarzania sterowania od reszty obwodów na małej płytce i zdefiniowanie własnego interfejsu, im mniej pinów, tym lepiej. Być może SPI tworzy odpowiedni interfejs lub możliwą do połączenia magistralę z danymi odczytu / zapisu i adresami. Następnie, jeśli wybrany procesor stanie się przestarzały w trakcie okresu użytkowania produktu, wystarczy przeprojektować i przetestować małą płytkę zamiast dużej płyty z istotnymi funkcjami analogowymi.

Zaprogramuj procesor sterujący w C. Podziel swój kod ściśle na ogólny algorytm i sprzętowe moduły interfejsu. Następnie, jeśli określone elementy sprzętu muszą się zmienić, izolujesz przepisywanie do niewielkiej liczby modułów i nie indeksujesz całego kodu.

Wybierz odpowiednie napięcie, wolałbym na przykład 3,3 V do 5 V.

Kiedy wybierasz swoją małą tablicę kontrolną, możesz zrobić coś gorszego niż wybrać formę, która pasuje do dostępnej tablicy deweloperskiej Arduino lub PIC. Następnie twoje prace rozwojowe i prototypowanie zyskują na znaczeniu, a nawet możesz rozpocząć niskoprocesową produkcję z zakupionymi modułami przed zaprojektowaniem tańszego zamiennika.

Neil_UK
źródło
To by działało, ale jeśli zmienisz na FPGA, prawdopodobnie napotkasz przeszkody regulacyjne
Scott Seidman
24

Nie zapomnij o niezawodności łańcucha narzędzi programistycznych. Jeśli jest sprzęt do programowania specjalnego przeznaczenia, musi on również działać przez dziesięciolecia i musisz być w stanie z nim rozmawiać. Wyobraź sobie, że musisz wykopać 20-30-letni komputer DOS i zainstalować kartę ISA - nie zapomnij ręcznie wybrać linii IRQ i DMA! Alternatywnie może być konieczne kupienie drogiego produktu niszowego, który zapewnia zgodność wsteczną. Jeśli zajdzie potrzeba zmodyfikowania oprogramowania, pamiętaj, że zmieniają się także narzędzia i biblioteki kompilatora, często znacznie szybsze niż sprzęt.

Zastanów się także, jak długo MCU musi funkcjonować. Jeśli chcesz, aby działał przez wiele dziesięcioleci, musisz wziąć pod uwagę takie rzeczy, jak pamięć flash i wskaźniki długotrwałych awarii. Jeśli zamierzasz wymieniać układ co ~ 15 lat, nie jest to tak duży problem. Producenci powinni mieć te informacje. Zamiast taniej, możesz spojrzeć na MCU zaprojektowane do zastosowań o krytycznym znaczeniu dla bezpieczeństwa, takich jak przemysł lotniczy i motoryzacyjny. Często mają nadmiarowy sprzęt i gwarancje lepszej jakości.

Jedną z opcji może być przechowywanie własnych części zamiennych. Jeśli kupisz wystarczająco dużo, możesz uzyskać MCU z niestandardową pamięcią ROM z maską i całkowicie uniknąć problemu z programowaniem / zatrzymywaniem danych.

Upewnij się, że wszystko jest bardzo dobrze udokumentowane. Sam MCU, oprogramowanie, przydział pamięci, zestaw instrukcji procesora, wszystkie interfejsy elektryczne, specyfikacje itp.

Poważnie zastanów się nad odpowiedzią user44635. Co się stanie, jeśli zapasy części zamiennych wyczerpią się w ciągu 30 lat, a wszystkie rozsądne części zamienne będą miały IO 1,8 V? A może najstarsze układy, jakie można znaleźć, mają 32-bitowe procesory ARM (które zaczynają pożerać rynek 8-bitowy)? Oddzielna płytka daje możliwość dodania regulatorów napięcia, przełączników poziomu i innego sprzętu interfejsu, jeśli zdarzy się najgorsze.

Adam Haun
źródło
2
Rozważ utworzenie maszyny wirtualnej (np. VMware) z pełnym zestawem oprogramowania - CAD, programistów, dokumentacji itp. - wymaganych do pracy w tym systemie. Pozwala to uniknąć konieczności posiadania jednego sprzętu dedykowanego do określonego zadania, a także można wykonać kopię zapasową maszyny wirtualnej i przechowywać wiele kopii przy niewielkim koszcie. Gdy chcesz go uruchomić w przyszłości, potrzebujesz tylko „odtwarzacza” maszyny wirtualnej. Jestem pewien, że za dwadzieścia lat pojawią się pewne problemy, ale mam nadzieję, że nie tak wiele.
Tranzystor
@Tranzystor Oczywiście maszyny wirtualne psują się, jeśli zmienia się architektura sprzętu od chwili, gdy użytkownik chce uruchomić stare oprogramowanie na maszynie bez niezbędnych interfejsów. ISA był świetnym przykładem, ale dziś możemy sobie wyobrazić to samo, np. Jeśli system używał portu FireWire lub czegoś innego, co może wkrótce zniknąć. Jest tylko tyle, co można zrobić, aby nadal dostosowywać starą technologię do aktualnych protokołów. I nawet jeśli technologia pozostanie na miejscu, zakłada to, że host ma do tego przejrzyste przejście.
underscore_d
18

Podczas gdy niektórzy producenci mają lepsze wyniki niż inni, długa żywotność produktu w porównaniu z przestarzałymi komponentami krytycznymi jest kierowana raczej na poziomie operacyjnym niż na poziomie projektowania obwodu.

Utrzymuj bieżącą prognozę liczby mikrokontrolerów, których będziesz potrzebować. Monitoruj łańcuch dostaw. Kiedy producent ogłasza status NRND, ty - lub twoje operacje - powinieneś kłuć uszy. Kiedy producent ogłosi nadchodzące starzenie się, da ci prawo do ostatniego zamówienia . Pozyskujesz prognozowaną ilość i przechowujesz w ognioszczelnej szafce.

Nie jest to rzadkością w certyfikowanych branżach, takich jak wyroby medyczne, awionika, obrona. Widziałem, jak ludzie to robią. Na przykład dostawca OEM X produkuje moduły WiFi dla urządzeń medycznych. Moduł wykorzystuje zwykły cywilny waniliowy SoC do WiFi. SoC jest produkowany przez Broadcom na rynek konsumencki. Oczekuje się, że SoC pozostanie w produkcji tylko przez rok lub dwa. Dostawca OEM X jest świadomy tej dynamiki. Kupują oni SoC na 10 lat. Dostawca OEM X pobiera opłatę premium za część o gwarantowanej długiej żywotności produktu. Klienci OEM unikają kosztownej ponownej certyfikacji swojego produktu.

Zazwyczaj urządzenia wymagające długoterminowego wsparcia są wytwarzane w stosunkowo małych ilościach.

Nick Alexeev
źródło
15

Alternatywnym podejściem jest użycie najbardziej ogólnej części, jaką można znaleźć, aw przypadku MCU jest to 8051 i jej warianty. Istnieje wiele źródeł, nawet klon soft core open source, narzędzia programistyczne są dostępne dla dowolnej platformy od DOS do Windows 10. Chociaż Microchip jest godny pochwały ze względu na swoje zaangażowanie, nie można przewidzieć korporacyjnego apetytu na fuzje i przejęcia a jego wpływ na linie produktów i PIC ma tylko jedno źródło.

Lior Bilia
źródło
Z pewnością jest to opcja do rozważenia.
user3368561
MCS51 został porzucony przez swojego oryginalnego wynalazcę (Intela), ale wydaje się, że ma swoją pozycję w
kółko
Głównym problemem w rodzinie MCS51 jest to, że obsługa programowania jest dla niej niezwykle trudna. (Nie ma dla niego ogólnego mechanizmu ISP, a HVPP jest kosztowną i trudną do utrzymania trasą w dzisiejszych czasach.)
ThreePhaseEel
@ThreePhaseEel Wielkość produkcji jest bardzo bardzo mała (kilka jednostek), więc nieefektywne programowanie nie stanowi problemu. Najważniejszą rzeczą jest umożliwienie klientom rozwiązania problemów, nawet jeśli zniknę.
user3368561
@ user3368561 Jeśli wielkość produkcji jest bardzo mała i nie potrzebujesz wysokiej wydajności (więc µC prawdopodobnie kosztuje <1 USD w ilościach 100), to po prostu kup 100, włóż 90 do sejfu wraz z zapasowymi płytkami drukowanymi i wszelkie inne krytyczne części (na wypadek, gdyby twój obiekt spłonął) i gotowe.
tcrosley
6

Microchip jest prawdopodobnie najlepszym wyborem, jeśli potrzebujesz części zgodnych z pinami. Bardzo wolno w pełni wycofywali nawet wolno sprzedające się produkty, takie jak seria OTP 17, i, jak mówi Olin, Sanghi wyraził korporacyjną filozofię utrzymania podaży przez boom i upadek, a także ciągłą dostępność części, która jest również bardzo ważne (część, której nie można uzyskać przez 52 tygodnie, jak to się stało z niektórymi z nas z dostawcami takimi jak M * t **** a, równie dobrze mogła zostać całkowicie wycofana). Starzenie się części może być wywołane spadkiem sprzedaży, ale również zmiany w procesie są czynnikiem. Microchip jest właścicielem własnych fab i może gromadzić żetony w formie płytek, nawet jeśli wycofają się z procesu. Firmy Fabless muszą stosować wszelkie procesy, które mogą pozyskiwać z Foundrys.

Zdecydowanie unikaj czegokolwiek modnego - nie jest niczym niezwykłym znalezienie części, które są EOL po kilku latach. Trudno to określić ilościowo, ale nie można oczekiwać, że części używane w telefonach komórkowych będą dostępne tak długo. Część, która istnieje już od 5 lat i sprzedaje w ilości do stabilnej i szerokiej bazy klientów (nie tylko 3 producentów tabletów), jest lepszym wyborem niż nowy chip, który jest obecnie bardzo poszukiwany, pomimo tego, że ma 5 lat żywotność produktu już. W przypadku części, które wymagają testów kwalifikacyjnych (takich jak testy radiacyjne), a nawet zmiany w opakowaniu mogą zagrozić temu, możesz być w stanie dokonać dożywotniego zakupu.

Na lepsze lub gorsze, istnieje bardzo niewiele części mikrokontrolera, które mają prawdziwe drugie źródło, a te, które to robią (takie jak stare części rdzenia 8051) nie są wcale tak atrakcyjne pod względem wydajności lub kosztów.

Jako nieszablonową propozycję proponuję rozważenie przejścia przez cały proces projektowania z dwoma dość podobnymi częściami (np. Dwoma układami ARM podobnego typu rdzenia), ale od różnych producentów i zakwalifikować oba . To tylko dodałoby niewielką kwotę do całkowitego kosztu, gdyby wszystko zostało wykonane z góry, ale dałoby znacznie lepszą pewność ciągłej podaży. Minusem jest to, że każda wersja wymaga testowania obu części, i cokolwiek zostanie wybrane, ponieważ główne źródło będzie miało więcej historii w terenie.

Spehro Pefhany
źródło
4

Najprostszym rozwiązaniem jest, aby mieć wystarczająco dużo części zamiennych przechowywanych zapewnić czas wymagany. Jeśli Twoja część ma MTTF wynoszący 10 lat i musisz zapewnić wsparcie przez 100 lat, musisz przechowywać 10 z nich. Jeśli chcesz zapewnić tę obsługę 100 „stacjom”, potrzebujesz łącznie 1000. Aby zapewnić dostępność tych części w razie potrzeby, oczywiście należy je przechowywać w różnych „bezpiecznych” miejscach. Jeśli koszt tej „polisy ubezpieczeniowej” jest rozsądny, możesz podwoić ją, aby zająć się wszelkimi niespodziewanymi awariami.

Guill
źródło
Wszystkie elementy mają ograniczony okres trwałości.
JWRM22
1
@ JWRM22: większość (jeśli nie wszystkie) procesów ograniczających okres przydatności zależy wykładniczo od temperatury. Jeśli więc części zapasowe są przechowywane nie tylko bezpiecznie, ale także w chłodnym i suchym miejscu, można to obejść. Trudność może jednak polegać na tym, aby wiedzieć, jak zimno jest wystarczająco zimne.
oliver