Esiste un numero seriale incorporato nel chip PIC?


12

Ho decine di chip PIC16. Vorrei recuperare una sorta di numero seriale univoco dal chip a scopo di identificazione. So che può essere fatto manualmente. Ma è noioso.

Domande:

  1. PIC ha un numero seriale incorporato?
  2. Se la risposta è No, esiste un modo semplice per caricare un codice con un numero di serie univoco su ciascun chip quando ordino il chip da Microchip?

Risposte:


16
  1. No

  2. È possibile, ma non so quali siano le quantità richieste, ovvero se lo faranno per decine di dispositivi. Abbiamo sempre avuto lotti di almeno 1000 pezzi. È proprio come una preprogrammazione con il tuo software, ma indichi in quale posizione deve essere programmato l'ID univoco. Dovrai fornire l'ID iniziale e il formato (prima BCD, binario, LSD / MSD, ...).

Si noti che questo numero risiede nella normale memoria del programma e verrà cancellato se si cancella la parte per la riprogrammazione.

modifica
Il motivo per cui i controller spesso non lo hanno a livello di chip è che è costoso: la programmazione viene eseguita mediante laser, che è un ulteriore passaggio di produzione. I microcontrollori programmati in serie possono facilmente avere l'ID univoco programmato con il software e ciò non richiede un passaggio aggiuntivo.

Un'alternativa sarebbe un SSN (Silicon Serial Number) come il Maxim DS2411 . Questi sono anche programmati con il laser, quindi non economici, ma eviti i passaggi logistici extra, dove puoi sempre andare storto. L'ho saputo succedere.
(un'altra modifica) Mike suggerisce in alternativa un chip di indirizzo MAC . Si tratta di EEPROM che hanno un ID univoco (gli indirizzi MAC sono globalmente univoci) programmato in una parte del dispositivo protetta da scrittura. Il resto della parte può essere utilizzato come normale EEPROM, come per la memorizzazione dei parametri del dispositivo. Le EEPROM sembrano essere molto più economiche dell'SSN, pur svolgendo la stessa funzione.


vedi anche
Metodo per assegnare indirizzi univoci per scheda


Qualche motivo per cui non viene sempre fatto?
Federico Russo,

@Federico - aggiunto alla mia risposta
stevenvh,

1
Un'alternativa più economica alla parte Dallas / Maxim sono i chip di indirizzo MAC Ethernet di Microchip, che offrono anche spazio per le eeprom. microchip.com/stellent/…
mikeselectricstuff,

@ Stevenvh, grazie per la risposta. Soprattutto su SSN. Devo ordinare 100 chip, come "indicare in quale posizione (i) deve essere programmato l'ID univoco. Dovrai fornire l'ID iniziale e il formato". Vuoi dire che posso farlo tramite il sito Web di microchip quando ordino i chip?
mlam,

Grazie @mikeselectricstuff, è utile. Lo terrò in considerazione.
mlam,

10

Come ha affermato Steven, i PIC non hanno numeri di serie univoci incorporati al momento della produzione. Cerchiamo di essere chiari sul fatto che stiamo parlando di un numero che potrebbe variare tra due chip dello stesso modello.

La maggior parte dei PIC hanno un ID chip codificato al loro interno. Questo può essere letto da un programmatore PIC per determinare il tipo di PIC a cui è collegato. Per quanto ne so, solo i PIC core a 12 bit non hanno un simile ID chip. Tutti gli altri PIC possono essere identificati elettricamente, anche se ci sono un certo numero di modi diversi che devono essere messi in modalità di programmazione e quindi la lettura dell'ID chip. Il software di programmazione PIC in grado di identificare un PIC arbitrario non è banale.

Se intendevi veramente il numero di serie, questo deve essere programmato nella parte dopo la produzione. Lo abbiamo fatto molte volte. Durante il processo di test di produzione quando il firmware è programmato nel PIC, lo si imposta per ottenere anche un numero seriale univoco e programmare anche quello. Un modo semplice è iniziare con un file HEX master prodotto dagli strumenti del firmware. Questo contiene un numero seriale vuoto. Scrivi un piccolo programma che prende un nuovo numero seriale in base alla tua strategia, legge il file HEX principale, sostituisce il nuovo numero seriale con quello vuoto e scrive un file HEX temporaneo. Il file HEX temporaneo viene utilizzato per programmare la parte, quindi eliminato.

Per una maggiore robustezza, si memorizza lo stato del numero seriale in EEPROM nella maschera di produzione, non in un file su disco. Il sistema chiede alla maschera un nuovo numero e questa maschera è progettata per non dare mai lo stesso numero due volte. Quando si ritiene che l'intervallo dei numeri di serie sia esaurito, si rifiuta di funzionare. Ciò è particolarmente utile se si dispone di un'unità di produzione remota per te. In questo modo se rovinano qualcosa sul computer e si ripristinano dal backup, non ripristinerà anche l'intervallo di numeri di serie. Sì, questo è effettivamente successo.

Se il numero seriale deve essere letto dall'esterno, le posizioni degli ID utente presenti nella maggior parte dei PIC potrebbero essere il luogo appropriato per memorizzarlo. Questi differiscono dalla memoria generale del programma o EEPROM in quanto possono essere letti anche quando il chip è protetto da codice.

Se ricevi i tuoi PIC programmati dal Microchip o da un distributore, di solito puoi farli serializzare in qualche modo. Tuttavia, la programmazione in fabbrica è solo per prodotti maturi ad alto volume. Se pensi che aggiornerai il firmware regolarmente, quindi non utilizzare la programmazione di fabbrica. I tempi di consegna sono lunghi e rimarrai bloccato con le vecchie versioni in cantiere. Il tuo dispositivo dovrà essere testato dopo che è stato costruito comunque, quindi aggiungere un passaggio per programmare il PIC di solito è un onere extra molto piccolo.


Questa idea della maschera di produzione è fantastica!
Gioele B,

1
  1. Alcuni lo fanno.
  2. Dal foglio dati:

    I dispositivi PIC16 (L) F15324 / 44 sono codificati individualmente 7 durante la produzione finale con un identificatore univoco Microchip o MUI. La MUI non può essere cancellata da un comando Cancella in blocco o da qualsiasi altro mezzo accessibile all'utente. Questa funzione consente la tracciabilità di fabbricazione dei dispositivi con tecnologia Microchip nelle applicazioni in cui ciò è necessario. Può anche essere utilizzato dal produttore dell'applicazione per una serie di funzioni che richiedono un'identificazione univoca non verificata, come ad esempio:

    • Tracciamento del dispositivo
    • Numero di serie univoco. La MUI è composta da nove parole di programma.

modificare

  1. Guarda la linea di microchip di Unique ID Chip Products Solo pochi centesimi ciascuno. Piccoli pacchetti, comunicazioni I2C e una piccola quantità di EEPROM.
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.