¿Hay un número de serie incorporado en el chip PIC?

10

Tengo decenas de chips PIC16. Me gustaría recuperar algún tipo de número de serie único del chip para fines de identificación. Sé que se puede hacer manualmente. Pero es tedioso.

Preguntas:

  1. ¿PIC tiene un número de serie incorporado?
  2. Si la respuesta es No, ¿hay una manera fácil de cargar un código con un número de serie único para cada chip cuando solicito el chip de Microchip?
pregunta mlam

3 respuestas

14
  1. No

  2. Es posible, pero no sé qué cantidades se requieren, es decir, si lo harán por decenas de dispositivos. Siempre tuvimos lotes de al menos 1000 partes. Es igual que preprogramar con su software, pero usted indica en qué ubicaciones se debe programar la identificación única. Deberá proporcionar el ID de inicio y el formato (BCD, binario, LSD / MSD primero, ...).

Tenga en cuenta que este número se encuentra en la memoria normal del programa y se borrará si borra la pieza para reprogramarla.

editar
La razón por la que los controladores no suelen tener esto a nivel de chip es que es costoso: la programación se realiza mediante láser, lo que es un paso de producción adicional. Los microcontroladores programados en masa pueden fácilmente tener la identificación única programada con el software, y esto no requiere un paso adicional.

Una alternativa sería un SSN (Número de serie de silicio) como Maxim DS2411 . Estos también están programados con láser, por lo que tampoco son baratos, pero se evitan los pasos logísticos adicionales, donde siempre puede fallar algo. He sabido que sucedió.
(otra edición) Mike sugiere un Chip de dirección MAC como alternativa. Estas son EEPROM que tienen una ID única (las direcciones MAC son únicas a nivel mundial) programadas en una parte del dispositivo que está protegido contra escritura. El resto de la parte se puede utilizar como EEPROM normal, como para almacenar parámetros del dispositivo. Las EEPROM parecen ser mucho más baratas que el SSN, mientras cumplen la misma función.

vea también
Método para asignar direcciones únicas por placa

    
respondido por el stevenvh
10

Como dijo Steven, los PIC no tienen números de serie únicos incorporados en el momento de la fabricación. Seamos claros que estamos hablando de un número que variaría entre dos chips del mismo modelo.

La mayoría de los PIC tienen un ID de chip codificado en ellos. Esto puede ser leído por un programador de PIC para determinar el tipo de PIC al que está conectado. Por lo que sé, solo los PIC de 12 bits no tienen una identificación de chip de este tipo. Todos los demás PIC pueden identificarse eléctricamente, aunque hay varias formas diferentes de ponerlos en el modo de programación y luego leer el ID del chip. El software de programación PIC que puede identificar un PIC arbitrario no es trivial.

Si realmente quiso decir el número de serie, debe programarse en la parte posterior a la producción. Lo hemos hecho muchas veces. Durante el proceso de prueba de producción, cuando el firmware está programado en el PIC, lo configura para que también obtenga un número de serie y un programa únicos. Una manera fácil es comenzar con un archivo HEX maestro como lo producen las herramientas de firmware. Esto contiene un número de serie en blanco. Usted escribe un pequeño programa que toma un nuevo número de serie de acuerdo con su estrategia, lee el archivo HEX maestro, sustituye el nuevo número de serie por el vacío y escribe un archivo HEX temporal. El archivo HEX temporal se utiliza para programar la pieza y luego se elimina.

Para una mayor robustez, almacena el estado del número de serie en EEPROM en la plantilla de producción, no en un archivo de disco. El sistema le pide a la plantilla un nuevo número, y esta plantilla está diseñada para nunca dar el mismo número dos veces. Cuando se ha agotado el rango de número de serie asignado, se niega a trabajar. Esto es especialmente útil si tiene un fabricante remoto construyendo unidades para usted. De esta manera, si estropean algo en la computadora y se restauran desde la copia de seguridad, tampoco restablecerá el rango del número de serie. Sí, esto realmente ha sucedido.

Si el número de serie debe leerse desde afuera, entonces las ubicaciones de ID de usuario que tienen la mayoría de los PIC pueden ser el lugar adecuado para almacenarlo. Estos difieren de la memoria general del programa o de la EEPROM en que pueden leerse incluso cuando el chip está protegido por código.

Si obtiene sus PIC programados por el Microchip o un distribuidor, generalmente puede serializarlos de alguna manera. Sin embargo, la programación de fábrica es solo para productos maduros de alto volumen. Si cree que va a actualizar el firmware regularmente, entonces no use la programación de fábrica. Los plazos de entrega son largos y quedará atascado con versiones antiguas en la tubería. Su dispositivo tendrá que ser probado una vez que se haya creado, por lo que agregar un paso para programar el PIC suele ser una carga adicional muy pequeña.

    
respondido por el Olin Lathrop
1
  1. Algunos lo hacen.
  2. De la hoja de datos:
      

    Los dispositivos PIC16 (L) F15324 / 44 se codifican de forma individual durante la fabricación final con un identificador único de Microchip o MUI. La MUI no puede borrarse con un comando de borrado masivo ni con ningún otro medio accesible por el usuario. Esta característica permite la trazabilidad de la fabricación de dispositivos con tecnología Microchip en aplicaciones donde esto es un requisito. También puede ser utilizado por el fabricante de la aplicación para una serie de funciones que requieren una identificación única no verificada, como:

         
    • Seguimiento del dispositivo
    •   
    • Número de serie único. El MUI consta de nueve palabras de programa.
    •   

edit

  1. Mira la línea de Microchips de Productos de chips de ID únicos Solo unos pocos centavos cada uno. Paquetes pequeños, comunicaciones I2C y una pequeña cantidad de EEPROM.
respondido por el D Duck

Lea otras preguntas en las etiquetas