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.