У меня десятки чипов PIC16. Я хотел бы получить какой-то уникальный серийный номер из чипа для целей идентификации. Я знаю, что это можно сделать вручную. Но это утомительно.
Вопросов:
PIC имеет встроенный серийный номер?
Если ответ «Нет», есть ли простой способ загрузить код с уникальным серийным номером на каждую микросхему, когда я заказываю микросхему?
Возможно, но я не знаю, какие количества требуются, то есть, если они сделают это для десятков устройств. У нас всегда были партии по крайней мере 1000 частей. Это похоже на предварительное программирование с помощью вашего программного обеспечения, но вы указываете, в каком месте (ях) должен быть запрограммирован уникальный идентификатор. Вам нужно будет указать начальный идентификатор и формат (BCD, двоичный файл, сначала LSD / MSD, ...).
Обратите внимание, что этот номер находится в обычной памяти программ, и он будет удален, если вы удалите деталь для перепрограммирования.
править
Контроллеры причины чаще всего не имеют этого на чипе уровня является то , что это дорого: программирование выполняется лазерной генерация, которая является дополнительным шагом производства. Микроконтроллеры с массовым программированием могут легко иметь уникальный идентификатор, запрограммированный с помощью программного обеспечения, и это не требует дополнительного шага.
Альтернативой может быть SSN (кремниевый серийный номер), такой как Maxim DS2411 . Они также запрограммированы лазером, поэтому не дешевы, но вы избегаете дополнительных логистических шагов, где всегда можно пойти не так. Я знал, что это случилось. (другое редактирование) Майк предлагает чип MAC-адреса в качестве альтернативы. Это EEPROM, которые имеют уникальный идентификатор (MAC-адреса глобально уникальны), запрограммированные в части устройства, защищенной от записи. Остальная часть может использоваться как обычная EEPROM, например, для хранения параметров устройства. EEPROM, кажется, намного дешевле, чем SSN, при этом они выполняют ту же функцию.
Более дешевой альтернативой компоненту Dallas / Maxim являются микросхемы MAC-адресов Ethernet от Microchip, которые также дают вам некоторое пространство EEPROM. microchip.com/stellent/…
mikeselectricstuff
@ stevenvh, спасибо за ответ. Особенно про SSN. Мне нужно заказать 100 чипов, как «указать, в каком месте (ах) должен быть запрограммирован уникальный идентификатор. Вам нужно будет указать начальный идентификатор и формат». Ты имеешь в виду, что я могу сделать это на сайте микрочипа, когда заказываю чипсы?
Mlam
Спасибо @mikeselectricstuff, это полезно. Я рассмотрю это.
Mlam
10
Как сказал Стивен, PIC не имеют уникальных серийных номеров, встроенных в них во время производства. Давайте поясним, что речь идет о числе, которое будет варьироваться между двумя чипами идентичной модели.
У большинства PIC есть код чипа, кодированный в них. Это может быть прочитано программистом PIC, чтобы определить тип PIC, к которому он подключен. Насколько я могу судить, только 12-битные PIC ядра не имеют такого чипа ID. Все остальные PIC могут быть идентифицированы электрически, хотя существует множество различных способов их перевода в режим программирования, а затем считывания идентификатора чипа. Программное обеспечение для программиста PIC, которое может идентифицировать произвольный PIC, не является тривиальным.
Если вы действительно имели в виду серийный номер, то он должен быть запрограммирован в детали после производства. Мы сделали это много раз. Во время процесса производственного тестирования, когда микропрограммное обеспечение запрограммировано в PIC, вы устанавливаете его так, чтобы оно также получало уникальный серийный номер и программу, которая также используется. Один простой способ - начать с основного файла HEX, созданного инструментами прошивки. Это содержит пустой серийный номер. Вы пишете небольшую программу, которая захватывает новый серийный номер в соответствии с вашей стратегией, читает основной HEX-файл, заменяет новый серийный номер пустым и записывает временный HEX-файл. Временный HEX-файл используется для программирования детали, а затем удаляется.
Для повышения надежности вы сохраняете состояние серийного номера в EEPROM в рабочем джиге, а не в файле на диске. Система запрашивает у джига новый номер, и этот джиг предназначен для того, чтобы никогда не выдавать один и тот же номер дважды. Когда диапазон присвоенных серийных номеров исчерпан, он отказывается работать. Это особенно полезно, если у вас есть удаленный производитель строительных блоков для вас. Таким образом, если они что-то испортят на компьютере и восстановят из резервной копии, он также не сбросит диапазон серийных номеров. Да, это действительно произошло.
Если серийный номер должен быть прочитан извне, то места для идентификатора пользователя, которые есть у большинства PIC, могут быть подходящим местом для его хранения. Они отличаются от общей памяти программ или EEPROM тем, что их можно прочитать, даже если чип защищен кодом.
Если вы получаете ваши PIC, запрограммированные микрочипом или дистрибьютором, вы обычно можете каким-то образом их сериализовать. Однако заводское программирование предназначено только для зрелых продуктов большого объема. Если вы думаете, что будете регулярно обновлять прошивку, не используйте заводское программирование. Время выполнения заказа велико, и вы будете застревать в старых версиях. Ваше устройство должно быть протестировано после того, как оно все равно будет собрано, поэтому добавление шага для программирования PIC обычно очень мало дополнительной нагрузки.
Устройства PIC16 (L) F15324 / 44 индивидуально кодируются при окончательном изготовлении с помощью уникального идентификатора микрочипа или MUI. MUI не может быть удален командой Bulk Erase или любым другим доступным для пользователя способом. Эта функция позволяет производить отслеживание производства устройств с технологией Microchip Technology в приложениях, где это требуется. Он также может использоваться производителем приложения для ряда функций, которые требуют непроверенной уникальной идентификации, таких как:
Отслеживание устройства
Уникальный серийный номер. MUI состоит из девяти программных слов.
редактировать
Посмотрите на линейку уникальных чиповых продуктов Microchips всего по несколько копеек каждая. Небольшие пакеты, связь I2C и небольшое количество EEPROM.
Как сказал Стивен, PIC не имеют уникальных серийных номеров, встроенных в них во время производства. Давайте поясним, что речь идет о числе, которое будет варьироваться между двумя чипами идентичной модели.
У большинства PIC есть код чипа, кодированный в них. Это может быть прочитано программистом PIC, чтобы определить тип PIC, к которому он подключен. Насколько я могу судить, только 12-битные PIC ядра не имеют такого чипа ID. Все остальные PIC могут быть идентифицированы электрически, хотя существует множество различных способов их перевода в режим программирования, а затем считывания идентификатора чипа. Программное обеспечение для программиста PIC, которое может идентифицировать произвольный PIC, не является тривиальным.
Если вы действительно имели в виду серийный номер, то он должен быть запрограммирован в детали после производства. Мы сделали это много раз. Во время процесса производственного тестирования, когда микропрограммное обеспечение запрограммировано в PIC, вы устанавливаете его так, чтобы оно также получало уникальный серийный номер и программу, которая также используется. Один простой способ - начать с основного файла HEX, созданного инструментами прошивки. Это содержит пустой серийный номер. Вы пишете небольшую программу, которая захватывает новый серийный номер в соответствии с вашей стратегией, читает основной HEX-файл, заменяет новый серийный номер пустым и записывает временный HEX-файл. Временный HEX-файл используется для программирования детали, а затем удаляется.
Для повышения надежности вы сохраняете состояние серийного номера в EEPROM в рабочем джиге, а не в файле на диске. Система запрашивает у джига новый номер, и этот джиг предназначен для того, чтобы никогда не выдавать один и тот же номер дважды. Когда диапазон присвоенных серийных номеров исчерпан, он отказывается работать. Это особенно полезно, если у вас есть удаленный производитель строительных блоков для вас. Таким образом, если они что-то испортят на компьютере и восстановят из резервной копии, он также не сбросит диапазон серийных номеров. Да, это действительно произошло.
Если серийный номер должен быть прочитан извне, то места для идентификатора пользователя, которые есть у большинства PIC, могут быть подходящим местом для его хранения. Они отличаются от общей памяти программ или EEPROM тем, что их можно прочитать, даже если чип защищен кодом.
Если вы получаете ваши PIC, запрограммированные микрочипом или дистрибьютором, вы обычно можете каким-то образом их сериализовать. Однако заводское программирование предназначено только для зрелых продуктов большого объема. Если вы думаете, что будете регулярно обновлять прошивку, не используйте заводское программирование. Время выполнения заказа велико, и вы будете застревать в старых версиях. Ваше устройство должно быть протестировано после того, как оно все равно будет собрано, поэтому добавление шага для программирования PIC обычно очень мало дополнительной нагрузки.
источник
редактировать
источник