Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Что такое GPIO (General Purpose Input/Output).

Что такое GPIO (General Purpose Input/Output).

Порт GPIO (универсальный ввод/вывод) размещают внутри кристаллов прцессоров, чипсетов, вспомогательных чипов управления. Порт GPIO обрабатывает как входящие, так и исходящие цифровые сигналы. В качестве входного порта его можно использовать, например, для связи ЦП или PCH с сигналами полученными от переключателей, или цифровыми показаниями, полученными от датчиков. В качестве выходного порта его можно использовать для формирования сигналов управления внешними операциями на основе программ исполняемых процессором, например, для управления включением/выключением светодиодной подсветки дисплея, или вывода сигналов управления двигателем и т. п..

GPIO называют «порт общего назначения», поскольку каждый его разряд может быть свободно настроен для работы по приему как входных сигналов, так и для формирования выходных сигналов (программным путем). В ранних вариантах каждый порт был либо исключительно входным, либо исключительно выходным. Однако сейчас GPIO является «гибким» по использованию своих контактов. Вы можете установить их назначение наилучшим образом в соответствии с вашими потребностями (на вход, на выход или вход/выход в любой количественной комбинации.

Во время чтения, записи и работы с цифровыми значениями (0 и 1) внешние устройства часто используют уровни сигнала: «низкое» напряжение и «высокое» напряжение. GPIO выполняет необходимые преобразования в обоих направлениях.

Регистр портов (PDR). Устанавливает направление для каждого внешнего вывода GPIO - либо на ввод, либо на вывод, либо на ввод/вывод (рис. 1).

Регистр входных данных порта (PIDR). Показывает состояние входных контактов. Для каждого вывода вход LOW-сигнала устанавливает соответствующее значение разряда регистра в 0; вход сигнала HIGH устанавливает соответствующее значение разряда регистра в 1. CPU программно считывает этот регистр, чтобы узнать самые последние уровни сигнала его разрядов. Значения сохраняются до перезаписывания; каждый раз, когда CPU считывает регистр, он будет отображать текущие состояния входных сигналов.

 

Рис. 1. Базовая структура GPIO (концептуальная).

Регистр выходных данных порта (PODR). Чтобы выводить данные через выходные выводы, ЦП программно записывает выходные значения в этот регистр. Значение 0 преобразуется в LOW-выход; 1 преобразуется в HIGH выход. Как и в обычной памяти, значения, записанные здесь, сохраняются до перезаписывания. Это означает, что уровень выходного контакта будет поддерживаться до тех пор, пока значение не будет изменено.

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

Структура построения одного разряда GPIO (IO PIN) показана в виде схемы на рис. 2. Верхняя часть альтернативная схема выхода, а нижняя часть - альтернативная схема входа. На рис. 2 GPIOFS используется для включения альтернативного вывода. GPIOOD для установки режимас открытым стоком с функцией вывода. GPIOOE - это переключатель для вывода данных.

 

Рис. 2.

На рис. 3 видим, например, что разряд GPIO77 – используется для приема входного сигнала  DGPU_PWRGD;  разряд GPIO78используется для формирования выходного сигнала  PXS_PWREN.  

 На рис. 4 мы видим использование порта GPIO (GPIO00 - GPIO5Eв ЕС контроллере (EC-KB9012).

 

Рис. 3. Фрагмент схемы (однокристальный вариант Intel Haswell ULT/Broadwell U)

 

Рис. 4. Использование порта GPIO в ЕС контроллере (EC-KB9012).


Лицензия