CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ла-ла-ла… бла-бла-бла…
Для моих применений (дома) нужно выделить основное: под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, что, мягко говоря, усложняет монтаж если блоки автоматики находятся в разных уголках строения. Теоретически конечно можно проложить между устройствами единый кабель с небольшими ответвлениями, но практически это трудно реализуемо. Недаром почти умер 10BASE-2.
В связи с этим я задумался, как бы шинную топологию CAN превратить в «звезду» ? Первое решение, что называется, «в лоб». Взять микроконтроллер со встроенным CAN-интерфейсом и на SPI повесить еще один CAN. Получаем 2 разные сети. Микроконтроллер, получив пакет через hardware-CAN, шлет его в SPI-CAN. И наоборот. Так родилась вот такая маленькая прикольная штука:
Плата размером 50х32мм. Камень PIC18F46K80.