Страница 1 из 2

Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 14:09:49
wss60
Есть две микросхемы (BH3810, BH3864) с последовательным интерфейсом:
Обе микросхемы подключены к одной шине данных, в каждой микросхеме по одному регистру.
Не могу разобраться, как обращаться только к одной микросхеме не затирая данные в другой?

Изображение

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 14:36:30
Gudd-Head
Наверное, проще всего применить 2 буфера с отключаемым выходом. Или мультиплексор.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 14:45:12
wss60
Просто в устройстве, где они стоят, они были соединены вместе и все работало…
Не могу понять - как? :shock:

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 14:47:26
Gudd-Head
Были соединены по вашей схеме выше?

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 14:54:09
a_skr
У них просто разные адреса. 00 и 11.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:00:05
wss60
Gudd-Head писал(а):Были соединены по вашей схеме выше?
Да и их (микросхем) на самом деле 3!!!
Но нужны пока две.
a_skr писал(а):У них просто разные адреса. 00 и 11.
Адресные биты находятся в разных местах

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:02:17
a_skr
После последнего бита идет импульс-защёлка LATCH.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:02:37
Gudd-Head
Значит, не спроста там сигнал Latch нарисован :)

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:06:07
wss60
Шина DATA трехуровневая (2..3V)
Latch (4..5V) как я понял подтверждение окончания передачи.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:11:49
a_skr
Это управляющий сигнал, который говорит, что переданы все биты и пора микросхеме использовать принятую информацию.
Еще стоит заметить, что во время LATCH отсутствует SCK.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:17:14
wss60
Это понятно :)
Передаем 24 бита первой микросхеме и поднимаем latch
Передаем 28 бит второй микросхеме, поднимаем latch и в первой микросхеме перезаписываются данные в месте со второй.
Как отдельно управлялись микросхемы – не понятно…

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:18:25
Gudd-Head
Передаем 28 бит второй микросхеме, поднимаем latch и в первой микросхеме перезаписываются данные в месте со второй.
Таки не должно быть, т.к. последние 2 бита перед Latch'ем— адреса микрух.
Изображение

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:19:49
wss60
Размер регистров у микросхем разный 24 и 28 бит

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:22:50
Gudd-Head
Вы не с того конца смотрите :)
последние 2 бита перед Latch'ем— адреса микрух.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:25:15
wss60
В смысле дергаем Latch и потом передаем данные?

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 15:29:37
Gudd-Head
ААааа!!!! :o :facepalm:
Передаём данные, дёргаем Latch, а микруха уже сама решает, ей это передавалось или нет. Картинка даж в ДШ нарисована, я выше привёл.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 16:01:06
wss60
Хоть убей - не понимаю! :(
Передаем первой микросхеме 22 бита информации и 2 нуля – адрес (биты 23,24), дергаем latch.
Передаем второй микросхеме, например одни нули (26 бит) и 2 единицы - адрес, дергаем latch и перезаписываются обе микросхемы!

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 16:08:28
a_skr
Не обе. Каждая микросхема смотрит, какие два бита пришли перед LATCH. Если они не совпадают с собственным адресом - она игнорирует всю информацию.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 16:24:15
wss60
Только не кричать :)
Шлем 28-ми битовую посылку с двумя единицами в конце на обе микросхемы и если 23 и 24 биты окажутся нулями, то перезапишутся обе микросхемы.

Re: Два устройства на одной шине?

Добавлено: Пн мар 02, 2015 21:36:26
a_skr
:facepalm: :facepalm: Да хоть 100500 битовую. ДВА БИТА ДО(ПЕРЕД) LATCH - неужели непонятно? Микросхема накапливает биты по ходу приёма, сдвиговый регистр, например, а когда ПЕРЕД LATCH она, сравнивая, понимает, что адрес её - переписывает этот регистр в свой. ИНАЧЕ - ИГНОРИРУЕТ ДАННЫЕ. фух. :))