Y a-t-il un numéro de série intégré dans la puce PIC?


12

J'ai des dizaines de puces PIC16. Je voudrais récupérer une sorte de numéro de série unique sur la puce à des fins d'identification. Je sais que cela peut être fait manuellement. Mais c'est fastidieux.

Des questions:

  1. PIC a-t-il un numéro de série intégré?
  2. Si la réponse est non, existe-t-il un moyen simple de télécharger un code avec un numéro de série unique sur chaque puce lorsque je commande la puce auprès de Microchip?

Réponses:


16
  1. Non

  2. C'est possible, mais je ne sais pas quelles quantités sont nécessaires, c'est-à-dire s'ils le feront pour des dizaines d'appareils. Nous avions toujours des lots d'au moins 1000 pièces. C'est comme la préprogrammation avec votre logiciel, mais vous indiquez à quel (s) emplacement (s) l'ID unique doit être programmé. Vous devrez fournir l'ID de départ et le format (BCD, binaire, LSD / MSD d'abord, ...).

Notez que ce numéro réside dans la mémoire de programme normale, et il sera effacé si vous effacez la partie pour la reprogrammation.

edit
La raison pour laquelle les contrôleurs n'ont généralement pas cela au niveau de la puce est que c'est cher: la programmation se fait par laser, ce qui est une étape de production supplémentaire. Les microcontrôleurs programmés en masse peuvent facilement avoir l'ID unique programmé avec le logiciel, et cela ne nécessite pas d'étape supplémentaire.

Une alternative serait un SSN (Silicon Serial Number) comme le Maxim DS2411 . Ceux-ci sont également programmés au laser, donc pas bon marché non plus, mais vous évitez les étapes logistiques supplémentaires, où il peut toujours y avoir quelque chose qui ne va pas. Je sais que ça arrive.
(une autre modification) Mike propose une puce d'adresse MAC comme alternative. Ce sont des EEPROM qui ont un ID unique (les adresses MAC sont uniques au monde) programmées dans une partie de l'appareil qui est protégée en écriture. Le reste de la pièce peut être utilisé comme EEPROM normale, comme pour le stockage des paramètres de l'appareil. Les EEPROM semblent être beaucoup moins chères que le SSN, tout en remplissant la même fonction.


voir aussi
Méthode d'attribution d'adresses uniques par carte


Une raison pour laquelle ce n'est pas toujours fait?
Federico Russo

@Federico - ajouté à ma réponse
Steven

1
Une alternative moins chère à la partie Dallas / Maxim est les puces d'adresse MAC Ethernet de Microchip, qui vous donnent également un peu d'espace eeprom. microchip.com/stellent/…
mikeselectricstuff

@ stevenvh, merci pour la réponse. Surtout à propos du SSN. Je dois commander 100 jetons, comment "indiquer à quel (s) emplacement (s) l'ID unique doit être programmé. Vous devrez fournir l'ID de départ et le format". Vous voulez dire que je peux le faire via le site Web de la puce électronique lorsque je commande les puces?
mlam

Merci @mikeselectricstuff, c'est utile. Je vais prendre cela en considération.
mlam

10

Comme Steven l'a dit, les PIC n'ont pas de numéros de série uniques intégrés au moment de la fabrication. Soyons clairs, nous parlons d'un nombre qui varierait entre deux puces du modèle identique.

La plupart des PIC ont un ID de puce codé. Il peut être lu par un programmeur PIC pour déterminer le type de PIC auquel il est connecté. Pour autant que je sache, seuls les PIC de base 12 bits n'ont pas un tel ID de puce. Tous les autres PIC peuvent être identifiés électriquement, bien qu'il existe un certain nombre de façons différentes de les mettre en mode de programmation, puis de lire l'ID de la puce. Le logiciel de programmation PIC qui peut identifier un PIC arbitraire n'est pas anodin.

Si vous vouliez vraiment un numéro de série, alors cela doit être programmé dans la pièce après la production. Nous l'avons fait plusieurs fois. Pendant le processus de test de production lorsque le micrologiciel est programmé dans le PIC, vous le configurez pour obtenir également un numéro de série unique et le programmez également. Une façon simple consiste à commencer avec un fichier HEX maître tel que produit par les outils du micrologiciel. Celui-ci contient un numéro de série vierge. Vous écrivez un petit programme qui saisit un nouveau numéro de série en fonction de votre stratégie, lit le fichier HEX maître, substitue le nouveau numéro de série au blanc et écrit un fichier HEX temporaire. Le fichier HEX temporaire est utilisé pour programmer la pièce, puis supprimé.

Pour une meilleure robustesse, vous stockez l'état du numéro de série dans l'EEPROM dans le gabarit de production, pas dans un fichier disque. Le système demande au gabarit un nouveau numéro, et ce gabarit est conçu pour ne jamais donner le même numéro deux fois. Lorsque la plage de numéros de série attribuée est épuisée, elle refuse de fonctionner. Ceci est particulièrement utile si vous avez un fabricant à distance d'unités de construction pour vous. De cette façon, s'ils gâchent quelque chose sur l'ordinateur et restaurent à partir d'une sauvegarde, cela ne réinitialisera pas également la plage de numéros de série. Oui, cela s'est réellement produit.

Si le numéro de série doit être lu de l'extérieur, les emplacements d'ID utilisateur dont disposent la plupart des PIC peuvent être l'endroit approprié pour le stocker. Celles-ci diffèrent de la mémoire de programme générale ou de l'EEPROM en ce qu'elles peuvent être lues même lorsque la puce est protégée par un code.

Si vous obtenez vos PIC programmés par la micropuce ou un distributeur, vous pouvez généralement les faire sérialiser d'une manière ou d'une autre. Cependant, la programmation en usine ne concerne que les produits matures à volume élevé. Si vous pensez que vous allez régulièrement mettre à jour le firmware, n'utilisez pas la programmation d'usine. Les délais sont longs et vous serez coincé avec les anciennes versions dans le pipeline. De toute façon, votre appareil devra être testé après sa construction, donc ajouter une étape pour programmer le PIC est généralement très peu de charge supplémentaire.


Cette idée de gabarit de production est fantastique!
Joel B

1
  1. Certains le font.
  2. De la fiche technique:

    Les dispositifs PIC16 (L) F15324 / 44 sont codés individuellement au cours de la fabrication finale avec un identificateur unique à puce électronique, ou MUI. Le MUI ne peut pas être effacé par une commande d'effacement en bloc ou par tout autre moyen accessible à l'utilisateur. Cette fonctionnalité permet de fabriquer la traçabilité des dispositifs de la technologie Microchip dans les applications où cela est nécessaire. Il peut également être utilisé par le fabricant de l'application pour un certain nombre de fonctions qui nécessitent une identification unique non vérifiée, telles que:

    • Suivi de l'appareil
    • Numéro de série unique. Le MUI se compose de neuf mots de programme.

Éditer

  1. Regardez la gamme Microchips de produits à puce d'identification unique Seulement quelques centimes chacun. Petits packages, communications I2C et une petite quantité d'EEPROM.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.