На сахаре несколько раз всплывала тема данных в питании. Наиболее
адекватная идея -- отвязать питание через дроссель (фильтр НЧ),
данные добавить в виде ВЧ составляющей (через конденсаторы).
Данные в немодулированном виде, как есть во-первых содержат
постоянную составляющую, во-вторых могут получать такие искажения
(межсимвольная интерференция) когда декодирование будет затруднено
и невозможно. Поэтому нужен какой-то способ модуляции
сигнала.
Во-первых есть специализированные микросхему у Texas Instruments, MBedder давал ссылки. Там частотная манипуляция, вроде. И другие фирмы тоже. На вход-выход микросхемы должен поступать скорей UART.
Во-вторых я повторю свою идею: использовать IRDA (microchip имеет, например поддержку в своих МК). Идея в том, что единичный бит кодируется коротким импульсом (1/16 периода бита), нулевой -- отсутствием импульса. В итоге с одной стороны сигнал занимает очень широкую полосу (что может быть неудобно), но зато не чувствителен к отсутствию постоянной составляющей и другим искажениям. Имеется ввиду только способ кодирования данных в канале, протокол стеков IRDA естесственно отсутствует и для программиста это просто UART. Ну и разумеется множество контроллеров могут разделять общую шину (но нужен какой-то протокол арбитража, вроде CSMA в wifi, либо работа исключительно по опросу от мастера).
Ссылки на
идеи:
http://caxapa.ru/507441?todo=full
http://caxapa.ru/648103?todo=full
Поясняющая картинка про IRDA:
http://www.societyofrobots.com/images/electronics_irda_encode_decode.png