Come posso pianificare un prodotto a lungo raggio con microcontrollore che necessita di supporto a lungo termine?


22

Devo usare un microcontrollore su un sistema che deve rimanere funzionante senza grandi cambiamenti per molto tempo (decenni). Per garantire che ci siano sempre parti di ricambio, ho bisogno di un microcontrollore che verrà prodotto o prodotto a lungo termine da alcuni produttori in modo binario firmware e compatibile con pin di incapsulamento. Cosa posso fare per garantire che il microcontrollore che scelgo soddisfi questi criteri?

L'applicazione non richiede molta potenza di calcolo. Il suo obiettivo è controllare motori e altri sistemi industriali. Un microcontrollore di 8 bit in grado di modificare lo stato di circa 8-16 pin IO a una frequenza di 0,5-1 MHz è OK. Un ADC può essere prezioso, ma può essere sostituito da un semplice comparatore esterno.


11
PIC è famoso per questo.
Scott Seidman,

4
Nei settori in cui questo è importante, il "software" è progettato in VHDL e implementato in un FPGA o CPLD. Questo può essere portato su qualsiasi dispositivo programmabile in futuro poiché la funzione non dipende dall'architettura del dispositivo.
user1582568

12
Microchip ha una storia eccellente in questo senso. È ancora possibile ottenere un PIC 16C54 oggi, introdotto per la prima volta negli anni '90. Ho sentito Steve Sanghi (CEO di Microchip) dichiararlo come politica ufficiale. Mentre nessuno può promettere cosa faranno le aziende tra 20 anni, utilizzare un Microchip PIC è la scelta migliore date le informazioni che abbiamo oggi.
Olin Lathrop,

4
@ MarkoBuršič - non è proprio vero. Ci sono molti MCU sul mercato che esistono da più di 10 anni.
Chris Stratton,

4
@brhans Domani posso morire e tutta questa discussione sarà stata inutile ... Questa domanda non riguarda le certezze assolute, ma le probabilità di successo.
user3368561

Risposte:


25

I produttori di FPGA affermano che se si utilizza un "soft core", ovvero un microcontrollore scritto in VHDL, la progettazione di VHDL può essere implementata su qualsiasi hardware FPGA programmabile futuro, liberandoti così dalla probabilità che un particolare componente hardware si spenga di produzione.

Per acquistare tale argomento, dovresti presumere che l'hardware programmabile continuerà a essere disponibile nel tuo intervallo di tempo (che è probabile) e continuerà a essere disponibile in dimensioni, costi e tensioni dei chip che si adattano al tuo prodotto (che trovo più difficile credere). Per usare questo approccio, dovresti accettare che potresti dover fare un nuovo design hardware per accettare un nuovo pacchetto, che in qualche modo sconfigge il tuo oggetto senza grandi cambiamenti.

Il mio approccio, e il mio consiglio sarebbe, di isolare l'elaborazione del controllo dal resto dei circuiti su una piccola scheda e definire la propria interfaccia ad essa, minore è il numero di pin, meglio è. Forse SPI crea un'interfaccia adatta, o un bus nybble con lettura / scrittura dei dati e indirizzi stroboscopici. Quindi, se il processore prescelto diventa obsoleto durante la vita del prodotto, devi solo riprogettare e testare una scheda piccola, anziché una scheda grande con funzioni analogiche vitali sul prodotto.

Programmare il processore di controllo in C. Suddividere il codice rigorosamente in algoritmo generico e moduli di interfaccia hardware. Quindi, se particolari bit di hardware devono cambiare, hai isolato la riscrittura su un piccolo numero di moduli e non stai eseguendo la scansione di tutto il codice.

Scegli una tensione adatta, preferirei 3.3v a 5v per esempio.

Quando scegli la tua piccola scheda di controllo, potresti fare di peggio che scegliere un fattore di forma che corrisponda a una scheda di sviluppo Arduino o PIC disponibile. Quindi, il tuo sviluppo e la prototipazione ottengono un vantaggio e potresti persino iniziare la produzione a basso costo con i moduli acquistati prima di progettare una sostituzione a costi inferiori.


Funzionerebbe, ma se si passa a un nuovo FPGA, probabilmente si dovranno affrontare ostacoli normativi
Scott Seidman

24

Non dimenticare di considerare l'affidabilità della tua toolchain di programmazione. Se esiste un hardware di programmazione speciale, deve anche durare per decenni e devi essere in grado di parlarci. Immagina di dover scavare un PC DOS di 20-30 anni e installare una scheda ISA - non dimenticare di selezionare manualmente le linee IRQ e DMA! In alternativa, potrebbe essere necessario acquistare un prodotto di nicchia costoso che offre compatibilità con le versioni precedenti. Se potresti dover modificare il software, ricorda che anche gli strumenti e le librerie del compilatore cambiano, spesso molto più velocemente dell'hardware.

Considera anche per quanto tempo deve funzionare la MCU. Se vuoi che abbia buone possibilità di funzionare per molti decenni, devi considerare cose come la conservazione della memoria flash e i tassi di errore a lungo termine. Se hai intenzione di scambiare il chip ogni ~ 15 anni, non è un grosso problema. I produttori dovrebbero avere queste informazioni. Invece di andare a buon mercato, potresti guardare MCU progettati per applicazioni critiche per la sicurezza come quelle aerospaziali o automobilistiche. Spesso vengono forniti con hardware ridondante e migliori garanzie di qualità.

Un'opzione potrebbe essere quella di conservare i tuoi pezzi di ricambio. Se acquisti abbastanza, potresti essere in grado di ottenere un MCU con una ROM maschera personalizzata ed evitare del tutto il problema di programmazione / conservazione dei dati.

Assicurarsi che tutto è molto ben documentato. L'MCU stesso, il software, l'allocazione della memoria, il set di istruzioni della CPU, tutte le interfacce elettriche, le specifiche, ecc.

Dai una seria considerazione alla risposta di user44635. Cosa succede se la fornitura di parti di ricambio si esaurisce in 30 anni e tutte le sostituzioni ragionevoli hanno tutte IO da 1,8 V? O i chip più vecchi che puoi trovare hanno tutti CPU ARM a 32 bit (che stanno iniziando a divorare il mercato a 8 bit)? Una scheda separata offre la possibilità di aggiungere regolatori di tensione, variatori di livello e altro hardware di interfaccia in caso di problemi.


2
Prendi in considerazione la creazione di una macchina virtuale (ad es. VMware) con il set completo di software (CAD, programmatori, documentazione, ecc.) Necessario per funzionare su quel sistema. Evita di dover dedicare un pezzo di hardware dedicato a una determinata attività e puoi eseguire il backup di una macchina virtuale e conservare più copie a costi ridotti. Quando è necessario eseguirlo in futuro, è sufficiente un "player" per una macchina virtuale. Sono sicuro che tra vent'anni ci saranno alcuni problemi ma, si spera, non così tanti.
Transistor

@Transistor Naturalmente, le macchine virtuali non funzionano se l'architettura hardware cambia tra ora e l'ora in cui l'utente desidera avviare il vecchio software su una macchina priva delle interfacce necessarie. L'ISA è stato un ottimo esempio, ma oggi possiamo ugualmente immaginare la stessa cosa, ad esempio se il sistema utilizzava una porta FireWire o qualcos'altro che potrebbe scomparire. C'è solo così tanto da fare per continuare ad adattare la vecchia tecnologia ai protocolli di tendenza del giorno. E anche se la tecnologia rimane attiva, ciò presuppone che l'host abbia un passthrough trasparente per questo.
underscore_d

18

Mentre alcuni produttori hanno un record migliore di altri, la lunga durata del prodotto rispetto all'obsolescenza dei componenti critici viene affrontata a livello operativo piuttosto che a livello di progettazione del circuito.

Mantenere una previsione costante della quantità di microcontrollori richiesti. Monitorare la catena di approvvigionamento. Quando il produttore annuncia lo stato NRND, voi - o le vostre operazioni - dovreste pungere le orecchie. Quando il produttore annuncia l'imminente obsolescenza, ti darà il diritto dell'ultimo ordine . Acquisisci la quantità che hai previsto e immagazzina in un armadio a prova di fiamma.

Ciò non è raro in settori certificati come dispositivi medici, avionica, difesa. Ho visto persone fare questo. Ad esempio, un fornitore OEM X produce moduli WiFi per il campo dei dispositivi medici. Il modulo utilizza un semplice SoC alla vaniglia civile per WiFi. Il SoC è prodotto da Broadcom per il mercato consumer. Il SoC dovrebbe rimanere in produzione solo per un anno o due. Il fornitore OEM X è a conoscenza di questa dinamica. Procurano 10 anni di questi SoC. Il fornitore OEM X addebita un premio per una parte con una lunga durata del prodotto garantita. I clienti OEM evitano costose ricertificazioni del loro prodotto.

In genere, i dispositivi che richiedono un supporto a lungo termine vengono prodotti in quantità relativamente piccole.


15

Un approccio alternativo consiste nell'utilizzare la parte più generica che puoi trovare, e nel caso delle MCU è l'8051 e le sue varianti. Ci sono molte fonti per questo, anche un clone soft core open source, gli strumenti di sviluppo sono disponibili per qualsiasi piattaforma da DOS a Windows 10. Mentre Microchip è lodevole per il suo impegno, non è possibile prevedere l'appetito aziendale per fusioni e acquisizioni e il suo impatto sulle linee di prodotti e PIC ha solo una fonte.


Certamente è un'opzione da considerare.
user3368561

Da allora l'MCS51 è stato abbandonato dal suo inventore originale (Intel), ma sembra mantenere il suo terreno ancora e ancora e ancora ... e l'architettura ha solo stile :)
rackandboneman

Il problema principale con la famiglia MCS51 è che il supporto alla programmazione è insolitamente difficile. (Non esiste un meccanismo ISP generico per questo, e HVPP è una via costosa e difficile da supportare in questo giorno ed età.)
TrifoglioEel

@ThreePhaseEel Il volume di produzione è molto piccolo (alcune unità), quindi una programmazione inefficiente non è un problema. La cosa più importante è dare ai clienti la possibilità di risolvere i problemi anche se scompare.
user3368561

@ user3368561Se il volume di produzione è molto piccolo e non sono necessarie prestazioni elevate (quindi il µC probabilmente costa <$ 1 in quantità di 100), quindi basta acquistare 100, mettere 90 in una cassetta di sicurezza, insieme a PCB di ricambio e qualsiasi altra parte critica (nel caso in cui la struttura si bruci) e venga eseguita con essa.
Tcrosley,

6

Il microchip è probabilmente la scelta migliore se hai bisogno di parti compatibili con i pin. Sono stati molto lenti a ritirare completamente anche i prodotti a vendita lenta come la serie OTP 17 e, come dice Olin, Sanghi ha espresso una filosofia aziendale di mantenimento dell'offerta attraverso boom e bust oltre a una continua disponibilità di parti, che è anche molto importante (una parte che non è possibile ottenere per 52 settimane, come è successo ad alcuni di noi con fornitori come M * t **** a, potrebbe anche essere stata completamente interrotta). L'obsolescenza parziale può essere innescata dal calo delle vendite, ma anche i cambiamenti nel processo sono un fattore. Microchip possiede i propri fab e può accumulare chip in forma di wafer anche se ritirano un processo. Le aziende senza fabbisogno devono utilizzare qualsiasi processo possano trarre origine dai foundrys.

Sicuramente evitare qualsiasi cosa di tendenza: non è insolito trovare parti che sono EOL dopo pochi anni. È difficile da quantificare, ma non ci si aspetta che le parti utilizzate nei telefoni cellulari durino così a lungo. Una parte che esiste da 5 anni e che vende in volume a una base di clienti stabile e ampia (non solo 3 produttori di tablet) è una scommessa migliore di un nuovo chip che è molto richiesto in questo momento, nonostante abbia 5 anni durata del prodotto già. Nel caso di parti che richiedono test di qualificazione (come test di radiazione) e persino cambiamenti nella confezione possono comprometterlo, si potrebbe essere in grado di fare un acquisto a vita.

Nel bene o nel male, ci sono pochissime parti di microcontrollori che hanno una vera seconda fonte e quelle che lo fanno (come le vecchie parti del nucleo 8051) non sono poi così attraenti in termini di prestazioni o costi.

Come suggerimento immediato, suggerirei di prendere in considerazione l'intero processo di progettazione con due parti abbastanza simili (ad es. Due chip ARM di un tipo di nucleo simile) ma di produttori diversi e qualificarli entrambi . Ciò aggiungerebbe solo una piccola quantità al costo totale se tutto fosse fatto in anticipo, ma darebbe molta più fiducia nella fornitura continua. Il rovescio della medaglia è che ogni revisione richiede test su entrambe le parti, e qualunque sia la scelta come fonte primaria avrà più storia sul campo.


4

La soluzione più semplice , è avere abbastanza pezzi di ricambio immagazzinati per fornire il tempo necessario. Se la tua parte ha un MTTF di 10 anni e devi fornire supporto per 100 anni, devi conservarne 10. Se è necessario fornire questo supporto a 100 "stazioni", è necessario un totale di 1.000. Per garantire che queste parti siano disponibili quando necessario, è ovviamente necessario conservarle in varie posizioni "sicure". Se il costo di questa "polizza assicurativa" è ragionevole, si consiglia di raddoppiarlo per occuparsi di eventuali guasti imprevisti .


Tutti i componenti hanno una durata di conservazione limitata.
JWRM22,

1
@ JWRM22: la maggior parte dei processi (se non tutti) che limitano la durata di conservazione dipendono esponenzialmente dalla temperatura. Quindi se i pezzi di ricambio non sono solo immagazzinati in modo sicuro ma anche freschi e asciutti, si può aggirare questo. La difficoltà potrebbe essere, tuttavia, sapere quanto freddo sia abbastanza freddo.
Oliver,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.