¿Hay un número de serie incorporado en el chip PIC?
12
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:
¿PIC tiene un número de serie incorporado?
Si la respuesta es No, ¿hay una manera fácil de cargar un código con un número de serie único en cada chip cuando solicito el chip de Microchip?
Es posible, pero no sé qué cantidades se requieren, es decir, si lo harán para decenas de dispositivos. Siempre tuvimos lotes de al menos 1000 partes. Es como preprogramar con su software, pero usted indica en qué ubicación (es) se debe programar la identificación única. Deberá proporcionar la ID de inicio y el formato (BCD, binario, LSD / MSD primero, ...).
Tenga en cuenta que este número reside en la memoria normal del programa, y se borrará si borra la parte para la reprogramación.
editar
La razón por la que los controladores no suelen tener esto a nivel de chip es porque es costoso: la programación se realiza mediante láser, que es un paso de producción adicional. Los microcontroladores programados en masa pueden tener fácilmente 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 el Maxim DS2411 . Estos también están programados con láser, por lo que tampoco son baratos, pero evita los pasos logísticos adicionales, donde siempre puede haber algo mal. 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 globalmente únicas) programadas en una parte del dispositivo que está protegida contra escritura. El resto de la parte se puede usar 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.
Una alternativa más barata a la parte de Dallas / Maxim son los chips de dirección MAC Ethernet de Microchip, que también le brindan algo de espacio eeprom. microchip.com/stellent/…
mikeselectricstuff
@ stevenvh, gracias por la respuesta. Especialmente sobre el SSN. Necesito pedir 100 chips, cómo "indicar en qué ubicación (es) se debe programar la ID única. Deberá proporcionar la ID de inicio y el formato". ¿Quiere decir que puedo hacer esto a través del sitio web de microchip cuando solicito los chips?
mlam
Gracias @mikeselectricstuff, es útil. Lo consideraré.
mlam
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 modelo idéntico.
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 puedo decir, solo los PIC centrales de 12 bits no tienen una ID de chip de este tipo. Todos los demás PIC se pueden identificar eléctricamente, aunque hay varias formas diferentes de ponerlos en modo de programación y luego leer la ID del chip. El software programador de PIC que puede identificar un PIC arbitrario no es trivial.
Si realmente quiso decir el número de serie, entonces esto debe programarse en la pieza después de la producción. Lo hemos hecho muchas veces. Durante el proceso de prueba de producción, cuando el firmware está programado en el PIC, también lo configura para obtener un número de serie único y programarlo también. Una manera fácil es comenzar con un archivo HEX maestro producido por las herramientas de firmware. Este 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 en blanco y escribe un archivo HEX temporal. El archivo HEX temporal se usa para programar la pieza y luego se elimina.
Para una mejor robustez, almacene 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 agota el rango de número de serie asignado, se niega a funcionar. 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 se va a leer desde afuera, entonces las ubicaciones de ID de usuario que tienen la mayoría de los PIC podrían ser el lugar apropiado para almacenarlo. Estos difieren de la memoria de programa general o 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 actualizará el firmware regularmente, no use la programación de fábrica. Los plazos de entrega son largos y se quedará atascado con versiones antiguas en proceso. Su dispositivo tendrá que ser probado después de que se haya construido de todos modos, por lo que agregar un paso para programar el PIC generalmente es muy poca carga adicional.
¡Esta idea de plantilla de producción es fantástica!
Joel B
1
Algunos lo hacen.
De la hoja de datos:
Los dispositivos PIC16 (L) F15324 / 44 se codifican individualmente durante la fabricación final con un Identificador Único de Microchip, o MUI. El MUI no puede borrarse mediante un comando de borrado masivo o cualquier otro medio accesible para el usuario. Esta característica permite la trazabilidad de fabricación de dispositivos con tecnología Microchip en aplicaciones donde esto es obligatorio. También puede ser utilizado por el fabricante de la aplicación para una serie de funciones que requieren identificación única no verificada, como:
Rastreando el dispositivo
Número de serie único. El MUI consta de nueve palabras de programa.
editar
Mire la línea de Microchips de productos únicos con chip de identificación Solo unos pocos centavos cada uno. Paquetes pequeños, comunicaciones I2C y una pequeña cantidad de EEPROM.
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 modelo idéntico.
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 puedo decir, solo los PIC centrales de 12 bits no tienen una ID de chip de este tipo. Todos los demás PIC se pueden identificar eléctricamente, aunque hay varias formas diferentes de ponerlos en modo de programación y luego leer la ID del chip. El software programador de PIC que puede identificar un PIC arbitrario no es trivial.
Si realmente quiso decir el número de serie, entonces esto debe programarse en la pieza después de la producción. Lo hemos hecho muchas veces. Durante el proceso de prueba de producción, cuando el firmware está programado en el PIC, también lo configura para obtener un número de serie único y programarlo también. Una manera fácil es comenzar con un archivo HEX maestro producido por las herramientas de firmware. Este 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 en blanco y escribe un archivo HEX temporal. El archivo HEX temporal se usa para programar la pieza y luego se elimina.
Para una mejor robustez, almacene 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 agota el rango de número de serie asignado, se niega a funcionar. 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 se va a leer desde afuera, entonces las ubicaciones de ID de usuario que tienen la mayoría de los PIC podrían ser el lugar apropiado para almacenarlo. Estos difieren de la memoria de programa general o 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 actualizará el firmware regularmente, no use la programación de fábrica. Los plazos de entrega son largos y se quedará atascado con versiones antiguas en proceso. Su dispositivo tendrá que ser probado después de que se haya construido de todos modos, por lo que agregar un paso para programar el PIC generalmente es muy poca carga adicional.
fuente
editar
fuente