¿Hay sistemas disponibles en la fabricación a gran escala que permitan programar un número de serie único en el firmware o algún espacio de memoria libre para cada PCB que ingrese?
He descubierto que la FDA ha decidido comenzar a aplicarlo para dispositivos de grado médico, pero ¿es esto algo fácil de lograr o requeriría desarrollar su propio proceso de fabricación?
Respuestas:
La mayoría de los programadores de producción son capaces de insertar un número de serie único en la memoria programada, es un proceso que normalmente se llama serialización . Esta es una captura de la pantalla de serialización de un antiguo programador de Dataman.
fuente
serialization
es una posibilidad pero requiere un cuidado extremo, especialmente si el rango de valores cruza el límite de una palabra. Si subcontratas la programación, se vuelve aún más complicado: si un proveedor bien conocido se equivoca no una, sino dos veces seguidas, antes de admitir finalmente que su programador para la parte en cuestión no pudo serializar en varios bytes. Terminé enviándoles un archivo único para cada valor del byte más significativo, para cada uno de los cuales ejecutaron un trabajo de programación único de 256 piezas que serializa el inferior. Para el próximo diseño, creamos un programador personalizado.Es posible que esté preguntando por una solución solo de software, pero si puede agregar un IC barato a su placa, puede usar un chip 'Número de serie de silicio'.
Estos son pequeños chips ROM que cada dispositivo contiene un número binario único. Los ejemplos son DS2401 de Maxim (bus de 1 cable) y DS28CM00 (I2C) que tienen un número único de 48 bits.
El número es único entre todos los circuitos integrados hechos de ese número de parte por ese fabricante. Obviamente, no es único entre todos los chips SSN hechos por todos en el mundo. Pero hacen que sea muy fácil elegir un dispositivo para su placa y saben que cada placa que se haya leído leerá un número diferente y único.
fuente
sí, ciertamente, como las direcciones mac mencionadas son obvias, generalmente en un flash / eeprom al lado del mac si es una parte separada, o en un flash / eeprom en otro lugar. Los datos vitales del producto (número de serie de la placa, etc.) se pueden colocar en un eeprom o flash separado o en el mismo dispositivo utilizado para almacenar otro firmware.
Cuando tiene una situación, por ejemplo, donde es posible realizar actualizaciones de campo del firmware, parte del diseño del sistema, no desea que se borren los datos VPD cuando se borra y reprograma el flash del firmware, por lo que debe resolverlo utilizando las funciones de protección contra escritura. del dispositivo flash (colocando el VPD en su banco / área y bloqueando esa área), y no necesariamente publicando / documentando públicamente cómo liberar el pin de protección contra escritura y / o alguna otra solución para que pueda programar el VPD en mfg y luego manténgalo bloqueado de lo contrario (un despliegue hacia abajo / hacia arriba según sea necesario y luego, cuando se programe durante / alrededor de las TIC, ese dispositivo puede tirar hacia el otro lado).
Probablemente sea más común de lo que piensas, la medicina no es más que un subconjunto muy pequeño de personas que harían esto. Tal vez no sea un control remoto de televisión, sino probablemente un mouse o teclado y ciertamente un teléfono celular, etc.
Si / cuando también se usa una etiqueta adhesiva en el tablero, es posible que tenga un código de barras, de modo que durante la fabricación del dispositivo o el operador pueda escanear el código de barras, revoluciones de ensamblaje, etc. y agregarlo al VPD para ese tablero.
fuente
Tener códigos únicos para cada producto es posible y factible. Una forma de hacerlo sería tener un sistema de programación de software que cambie secuencialmente el número de identificación del firmware para cada dispositivo programado. Con algunos sistemas esto es fácil de hacer; algunos microcontroladores, por ejemplo, tienen una ubicación reservada de eeprom específicamente para almacenar una identificación.
Otra alternativa sería agregar una identificación de hardware única. Un ejemplo de esto es un circuito integrado de número de serie de silicio Dallas Semi (ahora Maxim Integrated) ( DS2401 ). Este dispositivo le proporciona un número de serie y tiene la garantía de que será único. Este número de serie se puede usar para inferir una dirección única para un producto específico.
fuente
Las tarjetas de red producidas en masa tienen sus números de serie en forma de dirección de hardware (MAC) programados en su flash / EEPROM durante la fabricación.
Si bien los números de serie aplicados a la carcasa del producto como adhesivo se pueden quitar o volver a aplicar, quemar el número de serie en la placa específica plantea otra forma de rastrear el uso de la placa; lo más probable es que este número de serie también se imprima en la documentación médica para rastrear qué dispositivo se utilizó exactamente para el diagnóstico o la operación médica.
fuente
Hace unos 10 años, estaba en una situación similar con el firmware de un dispositivo médico que he desarrollado para uno de mis clientes. Este era un dispositivo de Clase 2, que elevó el listón. Las cantidades de producción fueron en cientos.
No pudimos encontrar un programador listo para usar que pudiera escribir números de serie de forma automática o semiautomática. Hicimos una solución alternativa. Teníamos un firmware de fábrica que se usaba para la calibración y las pruebas. Este firmware de fábrica se comunicó con el resto del equipo de prueba a través de un puerto serie. Como parte de esta prueba, descargaríamos el número de serie, que estaba almacenado en la EEPROM del microcontrolador. (El firmware de fábrica sobrescribió el firmware de fábrica).
fuente
Los programadores de producción de SEGGER admiten el flasheo de números de serie únicos en MCU.
fuente
Si tiene muchas opciones para esto (algunas se tomaron de esta respuesta ):
fuente
Si tiene acceso a un buen RNG de hardware y 16 bytes de almacenamiento persistente adicional, una forma que no implica cambiar demasiado su proceso de producción es generar un GUID v4 en el primer inicio y almacenarlo. Puede hacer que el firmware lo descargue en serie durante cualquier prueba posterior a la programación que ejecute. No es secuencial, pero eso no importa para la mayoría de las aplicaciones.
fuente
Si el uso de una RFID o etiqueta inteligente en cada PCB cumple con los requisitos, será el método de implementación más fácil, bajo su control.
fuente