ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1038406 Топик полностью
Cкpипaч, пророк (21.09.2020 15:04, просмотров: 200) ответил AlexBi на Невозможность назначить адрес - это одновременное включение в линию двух и более одинаковых устройств, отличающихся только MAC-адресом. Он довольно длинный, на основе него делать паузу не реально. Им надо как-то между собой разобраться, что бы в очередь доступа к линии встать (или очередь создать, если они оказались единственными).
Еще раз - паузу бери Rnd(). На вскидку, от пяти до десяти длительностей передачи символа. Если нод много - расширь диапазон, чтобы "двойные коллизии" были по-реже. 

Можно и два варианта задержки взять только, и раскидать на пару сотен нод, но долго прийдется "выбрасывать кости",

пока только один получит преимущество.


Адреса можно в том же механизме раздавать.

И поиграть в "двухэтапную адресацию" - новичок, захватив маркер, сам берет первый свободный "короткий номер",

но в протоколе есть широковещательный запрос - "дай свой короткий номер по МАСу".

(для этого пусть сначала как минимум один цикл шины тупо слушает какие номера уже заняты)


Но тогда нужно думать как ловить когда после выключения-включения какой-либо из нод таблицы на приемниках устареют (короткий номер поменяется).

Как вариант, проверка CRC должна включать, кроме полученного пакета, МАС источника из таблицы приемника, чтобы не сошлась, если "короткий номер сполз".

... но не любой ценой.