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.