Как генерируются «уникальные идентификаторы» для устройств 1wire?

Если бы я хотел создать собственное устройство 1wire, мне пришлось бы дать ему «глобально уникальный» 48-битный идентификатор.

Как генерируются эти идентификаторы? Как мы можем гарантировать отсутствие конфликтов идентификаторов с устройствами других марок?

, 👍-1


1 ответ


Лучший ответ:

2

Интересный вопрос. После некоторого поиска я не нашел однозначного ответа, но нашел несколько хороших подсказок.

Протокол 1-wire был создан компанией Dallas, которую позже купила Maxim Integrated. Таким образом, теперь компания Maxim контролирует его. Они продают протокол с явной особенностью, что каждое устройство, которое они производят, имеет уникальный идентификатор/серийный номер. Они контролируют его. Я не уверен, как это работает с другими производителями, хотя эта уникальность, вероятно, распространяется только на устройства Maxim и те, где соответствующий производитель имеет соответствующее соглашение с Maxim.

Таким образом, вы не можете быть уверены, что любой сгенерированный вами идентификатор уникален в группе всех других устройств. Вы можете попробовать использовать другой код семейства в адресе устройства (48 бит — это только часть фактического адреса вместе с 8-битным кодом семейства и 8-битной контрольной суммой), в частности тот, который в настоящее время не используется Maxim. Я нашел эту техническую статью со списком семейств устройств 1-wire. В ней говорится, что она может не включать все семейства устройств, но это единственный список, который я нашел.

Как вы написали «мы»: создание идентификаторов, уникальных для всей отрасли, может быть гарантировано только путем заключения соглашения с крупными игроками отрасли (при условии, что они захотят заключить такие соглашения). В противном случае ваши гарантии всегда ограничены. Вы можете держаться подальше от самых распространенных устройств (с неиспользуемым семейным кодом) и убедиться, что ваша организация выдает каждому устройству только один идентификатор.

,