Алгоритм изоляции


ID – идентификатор у-ва, 72 бита, которые не совпадают. Он даже не должен быть в КАП, он может быть где угодно. Вопрос: равен ли 0 какой-то бит в идентификаторе у-ва (пока непонятно какой). Если этот бит равен 0, то у-во проверяет на шине данных в мл. разряде есть ли число 01 или нет.Если у-во ообнаружило, что текущий номер равен 1, то оно выдает на шину данных AAh. У-во, не обнаружившие на шине данных 01, переходит в состояние высокого импеданса, отключаясь от СИ. Далее проверяется все ли 72 бита серийного номера прочитаны? Если нет, то все еще нахождение в состоянии изоляции и проверка опять следующего бита серийного номера.
Как работает этот алгоритм? В самом начале программа, которая перевела все у-ва в пассивное состояние начинает читать адресный код. Чтение следующего бита серийного номера запускает алгоритм чтения по адресу. Если идентификатор текущего идентификатора у-ва равен 1, то у-во ожидает следующего чтения по адресному потоку. Если же 0, то она проверяет: выставлены на шине данных на СИ в младших разрядах 01. Если не выставлены, то участвует в дальнейших, как бы, «гонках», если же выставлены, то смотрит при следующем чтении будет ли выставлено 10, если не выставлено, то учавствует, если не выставлено, то переходит в пассивное состояние. Кто выставляет эти 01 или 10 на СИ? Выставляет как раз вот та карта, которая опознала свою единицу и при следующем чтении открывает СИ и выдает AAh, т.е. открывает шинный формирователь и туда подаются данные Aah, а это означает выдается 10. И что здесь происходит? Если кто-то обнаружил единицу в серийном номере, то он выдает 10, а эта плата знает, что уже кто-то откликнулся с единицей в серийном номере текущем, поэтому она дальше участвует в «гонках». Это процесс повторяется. Спрашивается: где выдается 0? Получается, что если у-во, которое имеет единицу в серийном номере нашлось, то оно выдает 55h и это у-во узнает, что это выдано. Получается, что 72 раза читается адресный код и на СИ остается одно у-во.
Ситуация здесь такая.Если взять нашу группу и каждому присвоить свой идентификатор. Возьмем 5-разрядный серийный номер. Первый из вас, кто имеет единицу в своем серийном номере кричит на СИ «А». Понятно, что я (Выхованец т.е. СИ) услышу какой-то крик но будут слышать и другие, поэтому те, у которых 0 увидят, что крик этот есть и спокойно будут ждать следующего чтения. Следующее чтение: тот, который крикнул «А», кричит «В». Те, которые в первый раз ничего не кричали видят – кто-то крикнул «В».…???

Загрузка...