Jump to content

    

Нужен процессор с уникальным ID

Решили наделать датчиков с уникальными номерами. Можно конечно поставить блоху на I2C со своим номером, но хочется сэкономить. Может кто подктнет идею как эту задачу решить побюджетней (сгенерить уникальный номер устройства). Заранее благодарен.

Share this post


Link to post
Share on other sites
Решили наделать датчиков с уникальными номерами. Можно конечно поставить блоху на I2C со своим номером, но хочется сэкономить. Может кто подктнет идею как эту задачу решить побюджетней (сгенерить уникальный номер устройства). Заранее благодарен.

Мы в самом МК от silabs прошиваем номер по заранее выбранному адресу. Причем у них есть утилитка production programmer, которая имеет такую фичу. В ней выставляешь адрес для ID, ширину слова и шаг увеличения ID. А дальше подключаешь по очереди МК и прошиваешь, не задумываясь о ID, он сам изменяется на каждом последующем МК. А сколько в день/месяц/год/минуту собираетесь выпускать устройств?

Share this post


Link to post
Share on other sites
Может кто подктнет идею как эту задачу решить побюджетней (сгенерить уникальный номер устройства).

 

Самое простое - не генерить уникальный номер, а взять уникальный номер у микросхемы самого контроллера.

Например, у атмеловских AVR'ок есть уникальный 10 байтовый номер, который программно может быть прочитан и сообщен наружу. Т.е. в состав прошивки добавляется возможность на команду "здрасти" :) отвечать свой уникальный номер.

 

Когда устройство уже изготовлено, его подключают к компьютеру (ПК), который спросит у него уникальный номер. А потом высветит его на экране, или (что еще лучше) автоматически сгенерирует ПО, которое будет работать только с этим устройством. Потом это ПО можно хоть в интернете на каждом углу выкладывать, поскольку ни с каким иным устройством оно работать не будет.

Share this post


Link to post
Share on other sites

STM32 имеют уникальные номера, которые читаются программно.

STM32F100* достаточно бюджетны.

Share this post


Link to post
Share on other sites
STM32 имеют уникальные номера, которые читаются программно.

STM32F100* достаточно бюджетны.

STM8S еще дешевле, но судя по даташитам Unique ID не во всей серии. :(

Share this post


Link to post
Share on other sites

+1 к ответу от barabek. Всё равно нужно прошивать МК, а генерация случайного числа и внедрение его в прошивку - тривиальное дело. Или не случайное число, а порядковый номер, но тогда эти номера нужно администрировать во избежание повторов.

Share this post


Link to post
Share on other sites
+1 к ответу от barabek. Всё равно нужно прошивать МК, а генерация случайного числа и внедрение его в прошивку - тривиальное дело. Или не случайное число, а порядковый номер, но тогда эти номера нужно администрировать во избежание повторов.

 

Собственно все ради избежания повторов. Стоит задача выкинуть OneWire. Maxim-Dallas слишком дорог. Китайцы от Maximа не в восторге... ... Про ST знаем. И EBV и Компел его сюда привезут. Но это уже будет целый зоопарк.... Очень хочется найти что-нибудь у ATMEL или TI. Их чипов на изделии много и нам с продавцами проще общаться. Видимо придется генерить вручную или под управление собственной проги. Собственно расчитывал на какую-нибудь "параллельную" идею. Может кто встречал какие нибудь 15-50 (не дороже) центовые чипы с уникальным номером? Что нибудь типа DS28CM00 но не от MAXIMа...

Share this post


Link to post
Share on other sites
Очень хочется найти что-нибудь у ATMEL или TI.

Ну так используйте ATMEL. AVReAl умеет изменять серийный номер при прошивке (ключ -d*serno или -c*serno подробнее тут) Для обеспечения уникальности серийных номеров, при прошивке МК с нескольких рабочих мест , придется принять меры, но это не так уж сложно.

Share this post


Link to post
Share on other sites
Собственно все ради избежания повторов. Стоит задача выкинуть OneWire. Maxim-Dallas слишком дорог. Китайцы от Maximа не в восторге... ... Про ST знаем. И EBV и Компел его сюда привезут. Но это уже будет целый зоопарк.... Очень хочется найти что-нибудь у ATMEL или TI. Их чипов на изделии много и нам с продавцами проще общаться. Видимо придется генерить вручную или под управление собственной проги. Собственно расчитывал на какую-нибудь "параллельную" идею. Может кто встречал какие нибудь 15-50 (не дороже) центовые чипы с уникальным номером? Что нибудь типа DS28CM00 но не от MAXIMа...

Есть 25AA02E48 SEEPROM SPI, 2 Кбит (256 x 8), with EUI-48 Node Identity, 1.7 - 5.5 В от Microchip, $0.40. Но это не только уникальный номер, но и зарегистрированный MAC. Если используете Ethernet оно, может и хорошо, а так - серийника, генерируемого при программировании в 90% случаев бывает достаточно.

Share this post


Link to post
Share on other sites
Собственно все ради избежания повторов.

Для случайных чисел можно подсчитать вероятность появления повторений, используя формулу отсюда.

Для 32-битных номеров повторение появится с вероятностью 1% после генерации 9268 номеров. Для 64-битных - после 607 млн номеров.

Share this post


Link to post
Share on other sites
Например, у атмеловских AVR'ок есть уникальный 10 байтовый номер, который программно может быть прочитан и сообщен наружу.
У какого конкретно процессора есть такая фича? Мне такая фича нужна очень давно, но появилась она только в иксмегах.

 

Share this post


Link to post
Share on other sites
Для 32-битных номеров повторение появится с вероятностью 1% после генерации 9268 номеров. Для 64-битных - после 607 млн номеров.

Для статически назначаемых UID вероятность повторений - 0.0%, т.к. в этом случае производитель еще и ведет реестр использованных номеров. А Вы приводили случай динамически назначаемых.

Edited by _Pasha

Share this post


Link to post
Share on other sites
Для статически назначаемых UID вероятность повторений - 0.0%, т.к. в этом случае производитель еще и ведет реестр использованных номеров. А Вы приводили случай динамически назначаемых.

Спасибо, Кэп!

Но не забывайте про издержки администрирования. Что-то забыли, перепутали, записали не туда. И вероятность этого отнюдь не 0.0%.

Share this post


Link to post
Share on other sites

Если использованные UID автоматически записывать в файл (параллельно с записью в устройство), не проблема свести вероятность ошибки к нулю даже на очень больших тиражах.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this