[РУКОВОДСТВО] Аналоги и замена микросхем Практика поставок Проверено

PCF8574: расширение портов I2C, подключение и замена

IC
Служба поставок ICBOMS · Склад в Шэньчжэне, экспресс DDP и подбор аналогов
[ПРОВЕРЕНО] Экспертиза
Прямой ответ службы закупок

PCF8574 — восьмиразрядный расширитель портов на шине I2C: он даёт восемь дополнительных выводов к микроконтроллеру, у которого портов не хватает. Управление идёт по двум проводам, а данные читаются и записываются побайтно, по восемь выводов за одну операцию. Ключевая особенность прибора, которую надо понимать до подключения, — его выводы квазидвусторонние. Управления направлением у них нет: каждый вывод может работать и на вход, и на выход, и переключается сам, по тому, читают его или пишут. Из этого следует поведение при включении питания: все восемь выводов подтягиваются вверх, и в таком состоянии они уже работают как входы с подтяжкой. Если к выводу подключён светодиод, он при включении вспыхнет — и это нормальное поведение прибора, а не неисправность. Второе — подтяжки выводов слабые, порядка 100 мкА, поэтому внешнее устройство может перетянуть их вниз, но не может заставить прибор выдать сильный сигнал: как выход вывод работает только через защёлку, под которую нужно записать значение. Третье, что экономит время, — адрес: у прибора три вывода A0, A1, A2, и каждый задаёт свой бит адреса, причём внутренних подтяжек у них нет, так что каждый вывод обязательно надо подтянуть к земле или к питанию явно, иначе адрес будет неопределённым. И последнее: два варианта — PCF8574 и PCF8574A — имеют разные базовые адреса и спокойно уживаются на одной шине, в отличие от одинаковых модулей.

Содержание руководства (9 разделов)

Распиновка PCF8574 (DIP-16 / SO-16)

Вывод Назначение Вывод Назначение
1 A0 — бит адреса 9 P4 — вывод 4
2 A1 — бит адреса 10 P5 — вывод 5
3 A2 — бит адреса 11 P6 — вывод 6
4 P0 — вывод 0 12 P7 — вывод 7
5 P1 — вывод 1 13 INT̅ — прерывание, активно по низкому уровню
6 P2 — вывод 2 14 SCL — такт шины
7 P3 — вывод 3 15 SDA — данные шины
8 VSS — земля 16 VDD — питание 2,5…6 В

Что значит «квазидвусторонний» вывод

У большинства микроконтроллеров вывод порта либо вход, либо выход, и направление задаётся регистром. У PCF8574 иначе: направления у выводов нет вообще, и режим определяется тем, что делает контроллер — читает он этот вывод или записывает в него.

В режиме вывода вывод работает как обычный выход с защёлкой: записанное значение удерживается, и вывод может непосредственно зажечь светодиод или дать ток нагрузке. В режиме ввода внутри вывода включена слабая подтяжка вверх, и внешнее устройство может перетянуть её вниз, чтобы сообщить контроллеру ноль. Например, кнопка на земле при таком подключении читается как ноль, а отпущенная — как единица, без всяких внешних резисторов.

Практическое следствие ограничивает то, что можно подключить: подтяжка вывода слабая, порядка 100 мкА, поэтому внешний источник не сможет «затолкать» в линию сильный сигнал — он может только заземлить её. Приборы с током потребления больше этого на единицу состояния читать не получится, и это надо учитывать при выборе, что подключается к порту.

Состояние выводов при включении питания

При подаче питания все восемь выводов подтягиваются вверх, то есть переходят в состояние входа с единицей. Логика здесь выбрана правильно: в таком состоянии потребление тока минимально, и выводы ничего не «замыкают» на землю, пока в них не запишут значение.

Но у этого есть видимое последствие. Если к выводу подключён светодиод с ограничительным резистором на землю, то при включении питания светодиод загорится — прибор ведь выставил единицу. Для многих схем это нормально, но если прибор должен стартовать с выключенными индикаторами, в схему вводят инвертирование или дополнительную цепь.

Отсюда и типичная неисправность, которую приносят на диагностику: «после замены прибора всё горит». Почти всегда дело не в новой детали, а в том, что состояние выводов до первой записи контроллером не выставляется, и в схеме не предусмотрено начальное состояние.

Адрес и выводы A0, A1, A2

Три вывода A0, A1, A2 задают младшие три бита адреса, и всего на шине помещается восемь таких приборов. Внутренних подтяжек у этих выводов нет, поэтому каждый из них обязательно нужно подтянуть явно: к земле или к питанию. Оставленный в воздухе вывод адреса даёт непредсказуемый адрес, и прибор то не виден на шине, то отвечает не на тот запрос, — симптом, который ищут в прошивке, хотя причина в пайке.

Базовый адрес у PCF8574 — 0x20, и с учётом трёх бит получается диапазон 0x20…0x27. У варианта PCF8574A базовый адрес другой — 0x38, и диапазон 0x38…0x3F. Это как раз то, что делает пару PCF8574 и PCF8574A удобной: они не конфликтуют на одной шине, и на ней можно разместить шестнадцать приборов, то есть 128 выводов.

Отдельно про тип линии: SDA и SCL открытые, и подтяжки на них обязательны — обычно 4,7 кОм. На готовых модулях они распаяны, но при сборке своего модуля их нельзя забыть, иначе шина просто не будет работать, и это выглядит как «неисправный модуль».

Характеристики

  • Питание 2,5…6 В, потребление в дежурном режиме до 10 мкА.
  • Скорость шины: до 100 кГц в стандартном режиме, до 400 кГц в быстром.
  • Выход INT̅ с открытым коллектором, активен по низкому уровню: он не тянет линию сам, подтяжка на нём обязательна.
  • Как выход вывод держит ток до 100 мА при защёлке, что позволяет зажигать светодиоды напрямую.
  • Выводы порта после включения питания подтянуты вверх, в режиме входа подтяжка около 100 мкА.

Частые вопросы

  • Как задать адрес — выводами A0, A1, A2, каждый из которых нужно подтянуть к земле или к питанию явно.
  • Что означает квазидвусторонний вывод — направления у вывода нет, он сам переключается между чтением и записью.
  • Что будет при включении питания — все восемь выводов подтянуты вверх, то есть в состоянии единицы.
  • Можно ли поставить PCF8574 и PCF8574A на одну шину — да, у них разные базовые адреса, 0x20 и 0x38, и они не конфликтуют.
  • Нужны ли подтяжки на SDA и SCL — да, обязательно, обычно 4,7 кОм; на готовых модулях они уже распаяны.
[ЗАКАЗ] Комплектация BOM и экспресс-поставка

Примените это к своей спецификации

Отправьте партномера или файл спецификации (Excel / CSV). По каждой строке проверим складские остатки в Шэньчжэне, наличие заводской упаковки и проверенные аналоги — с отгрузкой единой партией.

Открыть форму запроса →

Как написано это руководство

Руководство написано службой поставок ICBOMS в Шэньчжэне и выверено по документам производителей и стандартам, на которые ссылается текст. Формулировки ограничены тем, что делает эта служба, и тем, как оценивают деталь — без ориентировочных цен, сроков поставки и остатков: всё это считается по каждой строке отдельно, по факту проверки. Дата последней вычитки стоит в начале страницы.