Схема для одновременного использования интерфейсов I2C и SPI в микроконтроллерах PIC

Описанная ниже схема была разработана для портативного прибора, использующего 28-выводной микроконтроллер PIC от Microchip Technology. На плате прибора были установлены часы реального времени, EEPROM и ЖК-индикатор с интерфейсом I2C, а также цифровой потенциометр и карта памяти microSD с интерфейсом SPI.

Эта схема позволяет использовать шины SPI и I2C на одних и тех же выводах периферийного порта.
Рисунок 1. Эта схема позволяет использовать шины SPI и I2C на одних и тех же выводах
периферийного порта.

Схема на Рисунке 1 позволяет без существенного увеличения числа компонентов использовать шины SPI и I2C, задействовав два дополнительных вывода GPIO и добавив всего четыре MOSFET. Использованные нами MOSFET являются легкодоступными N-канальными приборами с логическими уровнями управления. Например, хорошо подходят транзисторы 2N7000 и BSS138, выпускаемые ON Semiconductor. Варианты схемы с обоими MOSFET были проверены и продемонстрировали надежную работу.

По командам микроконтроллера, в соответствии с выбранным периферийным устройством, эти MOSFET коммутируют мультиплексированные выводы SCK/SCL и SDA/SDI. Программа микроконтроллера до инициализации соответствующей шины включает требуемую периферию путем установки высокого уровня на одном выводе GPIO и низкого на другом.

Реальное устройство в работе; интерфейсные шины переключаются автоматически. Реальное устройство в работе; интерфейсные шины переключаются автоматически.
Рисунок 2. Реальное устройство в работе; интерфейсные шины переключаются
автоматически.

Схема очень проста: стоки MOSFET соединены с выводами микропроцессора, за исключением транзистора FET-DI (MOSI), у которого к микроконтроллеру подключен исток. К истокам MOSFET со стороны шины I2C необходимо подключить подтягивающие резисторы.

Материалы по теме

Добавить свое объявление

* заполните обязательные данные

Статистика eFaster:

посетило сегодня 619
сейчас смотрят 12
представлено поставщиков 382
загружено
позиций
25 067 862