Как правило, устройство, которое одновременно подключает N входов к N выходам, называется переключателем .
Пока все сигналы являются цифровыми однонаправленными сигналами, такими как сигналы на нескольких шинах SPI,
- FPGA может быть сконфигурирована для динамической маршрутизации любого из N входов на любой из N выходов.
- Если N достаточно мало, вы также можете сделать это с другим программируемым логическим устройством или мультиплексором.
- Если микросекунда или около того задержки между изменением входа и изменением выхода допустимы, микроконтроллер или другой процессор может быть самым дешевым подходом.
Если сигналы являются двунаправленными, например сигналы на шине I2C, такую маршрутизацию усложнить становится сложнее - когда коммутатору указывается, что он соединяет контакт A с контактом B, ему необходимо каким-то образом распознавать и, возможно, переключать направления с миллисекунды. с точностью до миллисекунды, нужно ли считывать вывод A как вход и вывод B, или считывать B как ввод и вывод A. Дополнительная логика, необходимая для этого, может легко поместиться в FPGA.
Если сигналы являются аналоговыми аудио или аналоговыми видеосигналами,
- Возможно, вы сможете использовать аналоговые мультиплексорные микросхемы. Большинство из них по своей природе являются двунаправленными. Довольно просто подключить 4 "4: 1 аналоговых мультиплексора", чтобы обеспечить произвольную маршрутизацию 4 x 4 между 4 аналоговыми входами и 4 аналоговыми выходами, с 2 цифровыми линиями управления на выход (предположительно, от некоторого процессора), чтобы выбрать, какой вход это связано с.
- доступны микросхемы видеопереключателя. Например, «Maxim MAX4360 8x8 недорогой видеопереключатель видео» доступен примерно за 20 долларов. (Спасибо, Аксеман).
- Популярной альтернативой чисто аналоговым переключателям является система, которая (1) оцифровывает все аналоговые входы, затем (2) пропускает эти сигналы через цифровой переключатель, а затем (3) преобразует обратно в аналоговые сигналы на выходах.
Все доступные микросхемы имеют ограничения по количеству мощности, с которой они могут работать, и по максимальной частоте, с которой они могут работать. Если вам нужно переключать сигналы, выходящие за эти пределы (и при условии, что вы не хотите разрабатывать свою собственную ИС), вы вынуждены использовать механические реле.