Возникла задача. Есть некоторое количество устройств, находящихся на расстоянии до 3 метров друг от друга, и их надо подключить последовательно. усугубляет ситуацияю то, что они питаются каждый от своего БП.
Необходимо передавать данные между ними по цепочке (однонаправленная шина). Нормальную шину использовать нельзя, потому что устройства должны нумероваться по порядку их нахождения на шине, и требование заказчика - не должно быть никаких адресных переключателей и так далее - то есть полная взаимозаменяемость устройств.
Предолагается эмуляция сдвигового регистра - то есть первую команду берет на себя первое устройство, остальные передает дальше. Вторую берет второе устройство (для него она первая) и так далее.
Мои варианты-предположения реализации физического уровня:
1. На выходе устройства стоит ULN2003 (или его клон, или даже просто буфер) через резистор (защита от КЗ), на входе следующего устройства - оптрон. Земля устройства N-1 уходит на оптрон устройства N, где и заканчивается. Со стороны МК подключено к выводам UART.
2. Клон первого варианта, но SPI (канала два, будет ли быстрее?)
3. Что-то типа ADM485, со стороны передатчика питающегося от отдельного канала DC-DC преобразователя, со стороны приемника - такое же решение, питающееся через кабель от предыдущего устройства (кабель - витая пара UTP). Земли соединены.
4. Что-то еще?..
Требование к реализации - дешевизна, то есть варианты типа изолированных интерфейсов 485 по 600 рублей штука - явно не подходят.
Что выбрать?
Может еще какие-то варианты имеются?
Отдельный вопрос: если выдавать питание по тому же проводу, что и данные (по параллельной паре UTP) - какие могут быть косяки и ужасы?
Если сделать например, так:
- AMD485 подключеен к МК через оптрон (прием не подключен, вход передачи-приеманастроен на вечную передачу)
- от ADM485 по одной паре идет A и B
- по второй паре земля
- по третьей паре питание на приемник следующего устройства
Какие могут быть косяки?
Какие плюсы-минусы по сравнению с вариантом, когда от ULN2003 идет CLK и DATA, терминирующиеся на оптронах приемника (этот вариант явно дешевле и проще)? Быстрее ли?
Спасибо заранее!
p.s. От мастера до базы (там может быть и 100 метров), ясен пень, будет нормальный RS485, с питанием каждого конца от своего DC-DC (или даже изолированная мелкосхема), со связью земель между собой и TVS до земли (а может и радиоканал, посмотрим).