GPIO распиновка

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

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

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

Важные моменты:

  1. Рабочее напряжение всех выводов — 3,3 В. Случайная подача на вход большего напряжения (даже 5 В с соседнего штырька разъема) приводит к выходу из строя не только этого вывода, но и вообще всего Raspberry Pi (подтверждаю экспериментально).
  2. Контакты разъема P1 и нумерация портов GPIO не совпадает, поэтому при программировании надо всегда помнить, какая из нумераций используется. Еще более они не совпадают в первой версии Raspberry (надеюсь, сейчас, если не прилагать дополнительных усилий, купить удастся только новую модель).
  3. Дополнительным пунктом надо отметить, что нумерация самих GPIO в Raspberry Pi идет с пропусками.
  4. Raspberry Pi построен на ARM-процессоре BCM2835, поэтому иногда полезнее гуглить BCM2835, а не Raspberry GPIO (то же самое действительно для поиска на CPAN).
GPIO Raspberry Pi


Оставьте комментарий