GPIO — это аббревиатура порта ввода-вывода общего назначения, это вывод, управляемый STM32. Контакты GPIO подключены к внешним аппаратным устройствам, которые могут реализовывать функции связи с внешними устройствами, управления внешним оборудованием или сбора данных внешнего оборудования. Как классифицируются контакты STM32? Каково внутреннее устройство GPIO Давайте посмотрим вместе с редактором Hailing Optoelectronics!
1. Что такое GPIO?
GPIO (английский: ввод/вывод общего назначения)
Аббревиатура входного и выходного порта общего назначения.Его выходом можно управлять с помощью программного обеспечения.ивходить。stm32чипизGPIOконтакты для подключения к внешним устройствам,Поскольку вывод GPIO можно использовать для ввода, вывода и других специальных функций.,Тогда должны быть регистры для этих функций. для ввода,Вы можете точно определить уровень потенциала вывода, прочитав определенный индивидуальный регистр на выходе;,Вы можете сделать этот вывод высоким или низким, записав в определенный регистр для других специальных функций;,Для управления ими существуют дополнительные регистры.
2. Классификация контактов STM32.
1. Контакт питания:на схеме контактов VDD、VSS、VREF+、VREF-、VSSA、VDDA и т. д. — все это контакты питания.
2. Выводы кварцевого генератора:на схеме контактов PC14、PC15 и OSC_IN、OSC_OUT Все они представляют собой выводы кварцевого генератора, но их также можно использовать как обычные выводы.
3. PIN-код сброса: на схеме контактов NRST Это контакт сброса, который не используется для других функций.
4. Загрузите булавки:на схеме контактов PA13、PA14、PA15、PB3 и PB4 принадлежать JTAG или ПО Скачать пин-код. Однако их также можно использовать в качестве обычных контактов или для специальных функций. Для конкретных функций вы можете проверить руководство по данным чипа, в котором есть дополнительные описания функций. Конечно, STM32. Функциональные контакты последовательного порта также можно использовать в качестве контактов загрузки.
5.T ЗАГРУЗОЧНЫЙ штифт:на схеме контактов BOOT0 и PB2(BOOT1)принадлежать BOOT Штифт, PB2 Его также можно использовать как обычную булавку. существовать STM32 Во время запуска будет выбор режима, который зависит от BOOT0и BOOT1 определяется уровнем.
6. Контакты GPIO:на схеме контактов PA、PB、PC、PD Одинаковопринадлежать GPIO приколоть. Как видно из схемы контактов, GPIO оккупированный STM32 Большая часть выводов микросхемы. И каждый порт имеет 16 булавки, такие как PA порт, у него есть ПА0-ПА15. Другие PB、PC Остальные порты такие же.
3. Внутренняя структура GPIO.
Самый правый порт ввода-вывода на рисунке — это контакт микросхемы STM32, а остальные части находятся внутри микросхемы STM32.
(1) Защитный диод
(2) Подтягивающие и понижающие резисторы
(3)、P-MOS и и S N-MOS
(4), регистр выходных данных
пара MOS Входной сигнал схемы ламповой структуры состоит из GPIO“Регистр выходных данных «GPIOx_ODR» обеспечивает из,Поэтому мы модифицируем регистр выходных данных,из Стоило того Может Исправлять GPIO Выходной уровень вывода. И регистр установки/сброса GPIOx_BSRR» может влиять на выход схемы, изменяя значение регистра выходных данных.
(5) Выход функции мультиплексирования
потому что STM32 из GPIO Штифт имеет второстепенную функцию,поэтомукогда Используйте функции повторного использованияизчасждать,То естьпередано其他снаружи设复用Функциявыходсигнал и GPIO Регистры данных соединены между собой к пара MOS ламповая схема на входе, где лестничная структура используется для использования функций мультиплексирования или обычных IO функция рта. Например, мы используем USART Для последовательной связи необходимо использовать определенный GPIO В настоящее время этот контакт используется в качестве контакта для отправки сообщений. GPIO Выводы настроены как USART Функция мультиплексирования последовательного порта: периферийное устройство последовательного порта управляет этим выводом и отправляет данные.
(6), регистр входных данных
Регистр входных данных состоит из IO Порт вводится через подтягивающие и понижающие резисторы и триггер Шмитта. Когда сигнал проходит через триггер, аналоговый сигнал становится цифровым. 0 или 1, затем сохраняется в регистре входных данных путем чтения регистра входных данных. GPIOx_IDR Просто знай IO ротиз Статус уровня。
(7) Вход функции мультиплексирования
Этот режим аналогичен выводу мультиплексной функции. В режиме альтернативного ввода функций GPIO сигнал из контакта передается на STM32 Другие встроенные периферийные устройства, состояние контакта считывается этим периферийным устройством. Аналогично, если мы используем USART Для последовательной связи необходимо использовать определенный GPIO В настоящее время этот контакт используется в качестве контакта приема связи. GPIO Выводы настроены как USART Функция мультиплексирования последовательного порта позволяет USART Удаленные данные могут быть получены через этот контакт связи.
(8), аналоговый вход и выход
когда GPIO булавки для Когда АЦП собирает напряжение и входной канал,используется как“Аналоговый вход”Функция,В это время сигнал не проходит через триггер Шмитта из,Потому что после прохождения триггера Шмитта сигнал имеет только два состояния: 0 и 1.ADC Периферию нужно собирать оригинальнуюизаналоговый сигнал,источник сигналавходитьдолженсуществоватьДо триггера Шмитта。Сходным образом,когда GPIO булавки для DAC При использовании в качестве канала вывода аналогового напряжения он в это время выполняет функцию «аналогового выхода». DAC аналоговый выходной сигнал не проходит MOS трубчатая структура, аналоговый сигнал выводится непосредственно через контакт.
4. GPIO имеет 8 режимов: четыре режима ввода и четыре режима вывода.
Режим ввода:
Входной плавающий GPIO_Mode_IN_FLOATING
Входной подтягивающий GPIO_Mode_IPU
Введите раскрывающийся список GPIO_Mode_IPD.
Аналоговый вход GPIO_Mode_AIN
Режим вывода:
Выход с открытым стоком (поднятие вверх или вниз) GPIO_Mode_Out_OD
Функция мультиплексирования с открытым стоком (повышение или понижение) GPIO_Mode_AF_OD
Двухтактный выход (повышение или понижение) GPIO_Mode_Out_PP
Функция двухтактного мультиплексирования (повышение или понижение) GPIO_Mode_AF_PP
Четыре максимальные скорости вывода:
2MHZ
25MHZ
50MHZ
1000MHZ
5. Значение режимов GPIO 8
Введите число с плавающей запятой:Плавающий означает, что логическое устройство и вывод не подключены к высокому уровню.,Не отвечай тоженизкий уровень。потому Что Внутренняя структура логического устройства: когда его входной вывод остается плавающим, соответствующий вывод подключается к высокому уровню. При обычном использовании не рекомендуется оставлять штифт плавающим, поскольку он подвержен помехам. На непрофессиональном языке это означает витание в воздухе. Соответственно, этот порт по умолчанию ничего не получает, что означает Состояние. высокого Конечно, этот параметр чаще используется при передаче данных. Самая большая характеристика плавающего напряжения — это неопределенность напряжения. Оно может быть 0 В, может быть VCC или каким-то промежуточным значением (наиболее вероятно). Плавающий режим обычно используется для входа АЦП, что может уменьшить влияние подтягивающих и понижающих резисторов на результаты.
Войдите в режим подтягивания:Подтягивание означает подтягивание точки выше,Например, подтянуть его к Vcc. Подтягивание предназначено для фиксации неопределенного сигнала на высоком уровне через индивидуальный резистор. Резистор также играет роль ограничения тока. Разница между слабым и сильным заключается лишь в том, что сопротивление подтягивающего резистора разное.,Строгого различия нет.
Введите раскрывающийся список:Просто снизьте напряжение,Подтяните к GND. Аналогично принципу подтягивания.
Аналоговый вход:Аналоговый входотносится к традиционному способуизвходить,Цифровой вход предназначен для ввода цифрового сигнала PCM.,То есть 0,1из двоичного цифрового сигнала,посредством цифро-аналогового преобразования,Преобразование в аналоговый сигнал,Поступает в усилитель мощности через предварительное усиление,Усилитель мощности по-прежнему аналоговый.
Выход с открытым стоком:Выходная фазакогда Ю Санджи Трубкаизколлекционер,Чтобы получить состояние высокого уровня, необходим подтягивающий резистор.,Подходит для текущего типа привода,Его способность поглощать ток относительно велика (обычно в пределах 20 м А).
Схема с открытым стоком имеет следующие характеристики:
1. Используйте возможности управления внешней цепи, чтобы уменьшить внутреннее управление ИС. Когда внутренний МОП-транзистор микросхемы включен, ток возбуждения течет от внешнего VCC через резистор R. pull-up , MOSFET к GND. Внутри ИС требуется только очень низкий ток управления затвором.
2. Вообще говоря, открытый сток используется для подключения устройств с разными уровнями, а соответствующий уровень используется, потому что вывод с открытым стоком может выводить только низкий уровень, когда он не подключен к внешнему подтягивающему резистору, если необходимо выводить высокий уровень. Одновременное напряжение. Для функции выравнивания напряжения необходимо подключить подтягивающий резистор. Преимущество индивидуального резистора заключается в том, что, изменяя напряжение подтягивающего напряжения, можно изменить уровень передачи. Например, добавление подтягивающего резистора может обеспечить выходной уровень TTL/CMOS и т. д. (Подтягивающий резистор и резистор Определяет фронтальную скорость преобразования логического уровня . блокировать Чем больше,Чем ниже скорость, тем ниже энергопотребление,Поэтому при выборе сопротивления нагрузки необходимо учитывать потребляемую мощность и скорость. )
3. OPEN-DRAIN обеспечивает гибкие методы вывода.,Но у него есть и свои слабости,Это просто приводит к задержке нарастающего фронта. Потому что нарастающий фронт заряжает нагрузку через внешний подтягивающий пассивный резистор.,Поэтому, когда сопротивление выбора невелико, задержка будет небольшой.,Но энергопотребление велико, напротив, задержка велика, а энергопотребление мало. Поэтому, если есть требования к задержке,Рекомендуется использовать выходной сигнал спадающего фронта.
4. К одной линии можно подключить несколько выходных контактов с открытым стоком. Через подтягивающий резистор формируется логическая связь «И» без добавления каких-либо устройств. Это также принцип определения статуса занятости шин, таких как I2C и SMBus.
На узле (линии) Подключите подтягивающий резистор к источнику питания. VCC или VDD и n индивидуальный NPN или NMOS коллектор транзистора C или Слив D, Эти транзисторы изэмиттерные E или Источник S все подключены к заземляющему проводу, Пока один отдельный транзистор насыщается, Этот индивидуальный узел (линия) вытягивается на уровень земли. Поскольку база этих транзисторов подает ток (NPN), а затвор добавляет высокий уровень (NMOS), транзистор будет насыщаться. Таким образом, связь между этими базами и воротами к индивидуальному узлу (линии) из-за NOR логика. Если за этим узлом добавляется отдельный инвертор, Вот и все OR логика.
На самом деле это можно понимать просто так: когда все выводы соединены вместе,Подключите внешний подтягивающий резистор,При наличии отдельного контакта выход имеет логический 0.,Соответствует заземлению,Параллельная цепь «похожа на короткое замыкание проводом».,Следовательно, логический уровень внешней схемы равен 0.,Только когда оба высокие,И результат логичный 1.
Функция мультиплексирования с открытым стоком:Можетпонимается какGPIOрот被используется каквторой Функциячасиз Конфигурация(то есть не как универсальныйIOпероральное использование)。端ротдолжен配置成复用Функция Режим вывода(двухтактныйили Открытый слив)
Двухтактный выход:Можетвыходвысокий,низкий уровень,Подключайте цифровые устройства; двухтактная структура обычно относится к двум третичным трубкам, управляемым взаимодополняющими сигналами.,общийдасуществоватьодининдивидуальный Три полюса Трубкапроводимостьизчасждать另одининдивидуальный Крайний срок。высокийнизкий уровень Зависит отICизисточник питания Низкая настройка。
Двухтактная схема представляет собой два отдельных параметра с одинаковым транзистором или МОП-транзистором.,Существует в схеме двухтактным способом.,Каждый из них отвечает за положительный и отрицательный полупериод в задачах метода сигналов.,Когда схема работает,Одновременно включается только одна из двух симметричных ламп переключателя мощности.,Таким образом, потери проводимости невелики.,Высокая эффективность. Выход может поглощать ток в нагрузку. Двухтактный выходной каскад повышает нагрузочную способность схемы.,И увеличить скорость переключения.
Функция двухтактного мультиплексирования:Можетпонимается какGPIOрот被используется каквторой Функциячасиз Конфигурация(не как универсальныйIOпероральное использование)
GPIO из главного регистра
Каждый бит порта ввода-вывода может быть свободно запрограммирован.,Однако доступ к регистрам портов ввода-вывода должен осуществляться как 32-битные слова (доступ к полусловам или байтам не допускается).,**Некоторые регистры и функции можно проверить, выполнив поиск в паспорте соответствующего микроконтроллера в торговом центре Lichuang.,Затем настройте соответствующие порты,достичьIOинициализация портаиз Эффект。**также Можетпо следующей ссылкеловить Приходите и посмотрите Регистры, связанные с Подробности конфигурации GPIO.
Регистры, связанные с GPIO
6. Выберите режим ввода-вывода в stm32.
(1) Плавающий вход_IN_FLOATING — плавающий вход, может использоваться для идентификации КЛЮЧА, RX1.
(2) Pull-up input_IPU — вход внутреннего подтягивающего резистора ввода-вывода.
(3) С понижающим входом_IPD — вход внутреннего понижающего резистора ввода-вывода.
(4) Аналоговый вход_AIN —— Аналоговый АЦП вход, или экономия энергии при низком энергопотреблении
(5) Открытый сток выход_OUT_OD ——IOвыход0ловитьGND,Выход ввода-вывода 1. Для достижения высокого уровня выходного сигнала требуется внешний подтягивающий резистор. Когда выходной сигнал равен 1, состояние порта ввода-вывода поднимается на высокий уровень с помощью подтягивающего резистора, но потому что чтода Режим выхода с открытым стоком, так что порт ввода-вывода может быть переведен на низкий уровень внешней схемой и останется неизменным. . Может считывать изменения входного уровня ввода-вывода для реализации направленной функции C51изIOпара.
(6) Двухтактный выход_OUT_PP —— Выход ввода-вывода 0-подключен к GND, Выход ввода-вывода 1 -ловитьVCC,читатьвходитьценитьданеизвестныйиз
(7) Функция мультиплексирования двухтактного вывода_AF_PP — встроенная периферийная функция (I2C изSCL, SDA)
(8)Многофункциональный выход_AF_OD ——Встроенные периферийные функции (TX1, MOSI, MISO.SCK.SS)
Подведите итог:Раньше все регистры конфигурации былипереданопроцедура настройкииз,Когда все еще немного сложно настроить его самостоятельно.,После многих упражнений,После освоения некоторых сценариев применения регистрации,,Скорость порта конфигурации также была улучшена.,У меня также появилось новое понимание вещей, которых я раньше не понимал.,В общем,Не существует короткого пути к успеху,Все равно нужно больше практиковаться,Взгляните на некоторые базовые функции в stm32.,Только так можно добиться лучшего улучшения. хорошо,Вот и все, чем поделился сегодня редактор Hailing Optoelectronics.