Добавить в корзинуПозвонить
Найти в Дзене

Полное руководство по управлению GPIO для серии JL JieLi AC696N: режимы, API и специальные выводы

Введение
Настройка GPIO кажется простой, но примеров неудач немало. Неправильно выбранная сила тока – светодиод тусклый или вообще не горит. Без правильно настроенной подтяжки – кнопки работают непредсказуемо. Самое коварное – выводы USB по умолчанию могут быть обычными GPIO, и если забыть переключить функцию, компьютер не увидит устройство. GPIO у JL JieLi AC696N довольно функциональны: три уровня силы (обычный, сильный, сверхсильный) и различные API. Однако документация разбрасывает эти функции повсюду, и при использовании приходится их долго искать. Я специально проверил все типовые конфигурации GPIO на плате разработки AC696N и систематизировал их в таблицу, чтобы при написании драйверов можно было быстро найти нужное. I. Режимы работы GPIO II. Список основных API-функций III. Специальный вывод: USB DP/DM Выводы USB по умолчанию могут работать как обычные GPIO. Чтобы переключить их в режим USB, вызовите: usb_iomode(0); // параметр 0: переключить в режим USB IV. Важное примечание

Введение
Настройка GPIO кажется простой, но примеров неудач немало. Неправильно выбранная сила тока – светодиод тусклый или вообще не горит. Без правильно настроенной подтяжки – кнопки работают непредсказуемо. Самое коварное – выводы USB по умолчанию могут быть обычными GPIO, и если забыть переключить функцию, компьютер не увидит устройство.

GPIO у JL JieLi AC696N довольно функциональны: три уровня силы (обычный, сильный, сверхсильный) и различные API. Однако документация разбрасывает эти функции повсюду, и при использовании приходится их долго искать. Я специально проверил все типовые конфигурации GPIO на плате разработки AC696N и систематизировал их в таблицу, чтобы при написании драйверов можно было быстро найти нужное.

I. Режимы работы GPIO

  • Режим ввода: Может быть настроен как плавающий, с подтяжкой вверх, с подтяжкой вниз или аналоговый (для АЦП). В режиме ввода вывод не может работать на вывод. Состояние вывода можно прочитать через регистр данных. Подтяжка вверх/вниз понятна – уровень по умолчанию определяется подтяжкой. Плавающий вход – уровень неопределён и полностью зависит от внешней цепи. Аналоговый вход используется для АЦП.
  • Режим вывода: Выдаёт высокий/низкий уровень. Сила тока имеет три градации: обычная, сильная, сверхсильная.
    Направление: Вход или выход (открытого стока нет).
    Подтяжка: Есть на всех выводах, сопротивление фиксированное, но различается между чипами и выводами (смотрите даташит). Подтяжка работает только в режиме ввода.
    Уровень: Высокий (напряжение близко к VDDIO), низкий (приблизительно земля, втекающий ток).
    Сила: Обычная, сильная, сверхсильная. Сверхсильная доступна только на очень ограниченном числе выводов.
    Состояние: Цифровое или аналоговое. Аналоговое используется для АЦП.
    Чтение: В цифровом режиме ввода можно читать уровень напряжения на выводе. Напряжение на выводе не должно превышать VDDIO, иначе возможен обратный ток, влияющий на другие выводы
-2

II. Список основных API-функций

-3
-4

III. Специальный вывод: USB DP/DM

Выводы USB по умолчанию могут работать как обычные GPIO. Чтобы переключить их в режим USB, вызовите:

usb_iomode(0); // параметр 0: переключить в режим USB

IV. Важное примечание

Выходной уровень GPIO определяется напряжением питания VDDIO. Если нужно, чтобы вывод выдавал 3.0 В, то питание VDDIO должно быть установлено на 3.0 В.

-5

Резюме
Если запомнить эти несколько API, этого будет достаточно для большинства задач. Есть несколько моментов, на которых легко споткнуться:

  • Выводы USB: не забывайте вызывать usb_iomode(0) для переключения в режим USB, иначе компьютер не опознает устройство.
  • Выводы АЦП: не забывайте отключать цифровую функцию gpio_set_die(pin,0), иначе показания будут неверными.
  • Силу вывода выбирайте по потребности. Для светодиода сильный привод не нужен, обычного достаточно, и это экономит энергию.

Рекомендую опробовать каждую API на плате разработки AC696N, измерив уровни мультиметром, чтобы убедиться в правильности настройки, и только затем переносить на готовое изделие. Это избавит от ситуации, когда аппаратура не работает, а приходится возвращаться к проверке конфигурации ПО.