Журнал РАДИОЛОЦМАН, февраль 2019
Многие устройства требуют программирования через последовательную шину, например, через I2C. Программирование может выполняться на этапе окончательного тестирования, после того как печатная плата будет собрана. Во многих случаях контакты, используемые для программирования, могут затем потребоваться для чего-то другого во время нормальной работы. Фактически, сама шина также может использоваться для другой функции.
Очень просто реализовать эту двойную функцию можно с помощью аналогового мультиплексора (Рисунок 1). Мультиплексор представляет собой двунаправленный аналоговый переключатель (MAX4525). В нормальном режиме работы его вход подтягивается к земле резистором R1, благодаря чему последовательные линии соединяются с остальной частью схемы. В режиме программирования на вывод, подключенный к управляющему входу мультиплексора, через разъем приходит сигнал высокого уровня, в результате чего мультиплексор подключает выводы к разъему программирования.
![]() |
||
Рисунок 1. | Мультиплексор на основе аналогового переключателя позволяет использовать две линии (SDA и SCL) на плате программируемого устройства для двух целей. В режиме программирования они подключаются к разъему программирования, а в нормальном режиме подключаются к другим цепям. |
Шина I2C требует установки на плате подтягивающих резисторов для остальных цепей схемы. Программатор устройства, который подключается к разъему программирования, должен иметь свои собственные подтягивающие резисторы. Должно также учитываться влияние последовательного сопротивления, добавленного мультиплексором, на работу других цепей на плате. Чтобы не допустить открывания входных диодов электростатической защиты, уровни сигналов программатора на последовательных линиях не должны выходить за пределы напряжений шин питания микросхемы MAX4525.