GPIO

Материал из Записки на полях
Перейти к навигации Перейти к поиску

Интерфейс ввода/вывода общего назначения (GPIO) — интерфейс для связи между компонентами компьютерной системы, к примеру микропроцессором и различными периферийными устройствами. Контакты GPIO могут выступать как в роли входа, так и в роли выхода — это, как правило, конфигурируется. GPIO контакты часто группируются в порты.

Ошибка создания миниатюры: Файл не найден
Arduino с GPIO (верхний контактный ряд)

GPIO контакты не имеют специального назначения и, как правило, остаются неиспользованными. Идея состоит в том, что иногда системному интегратору для построения полной системы, использующей тот либо иной чип, может оказаться полезным иметь несколько дополнительных линий цифрового управления. Это даёт возможность организовать дополнительные схемы, не создавая их с нуля. Например, чипы Realtek ALC260 (Аудио кодек) имеют 8 GPIO пинов (контактов), которые остаются неиспользованными по умолчанию. Некоторые системные интеграторы (к примеру Acer Inc. на своих ноутбуках), использующие ALC260, задействуют первый GPIO (GPIO0), чтобы включить усилитель, используемый для встроенных динамиков ноутбука и для разъема подключения наушников.

Использование

GPIO используются:

  • в устройствах с нехваткой выводов (пинов, контактов): интегральных схемах, таких как однокристальные системы(SoC), встраиваемых и специальных системах (embedded and custom hardware) и программируемых логических устройствах (например FPGA);
  • в многофункциональных чипах: управляющих питанием, аудио кодеках и видео картах;
  • во встраиваемых системах (например, Arduino, BeagleBone, различные PSoC комплекты и Raspberry Pi) широко используют GPIO для чтения информации от различных внешних датчиков (ИК, видео, температура, ориентации по 3 осям, ускорения), а также для управления двигателями постоянного тока (используя ШИМ), аудио, ЖК-дисплеями, или светодиодами для индикации состояния чего-либо.