PCF8575 — расширитель портов ввода-вывода по шине I2C на 16 выводов, и по сути это тот же PCF8574, только с вдвое большим количеством ножек. Разница в обмене: PCF8574 читает и пишет один байт, а PCF8575 — два байта за операцию. Оба отвечают на одни и те же адреса 0x20–0x27, и в этом главная ловушка: сканирование шины не отличит один от другого, а если навести код от PCF8574 на PCF8575, работать будет только половина выводов. Порты у обоих квазидвунаправленные — чтобы прочитать вход, на него сначала записывают высокий уровень, и вход всегда работает как подтянутый к питанию.
Содержание руководства (8 разделов)
16 выводов против 8: в чём разница
PCF8574 даёт восемь выводов и обменивается одним байтом: одна операция записи или чтения — и весь порт целиком. PCF8575 даёт шестнадцать выводов и обменивается двумя байтами, причём они идут подряд в одной транзакции.
Функционально чипы одинаковые, разница только в ширине порта. Если нужно добавить контроллеру восемь ножек — берут PCF8574, если шестнадцать — PCF8575 вместо двух отдельных микросхем.
Ни у того, ни у другого нет регистров конфигурации, как у MCP23017 или MCP23008. Здесь нет «настроить вывод на вход или выход» — состояние вывода определяется тем, что на него записано, и всё.
Одинаковые адреса и ловушка сканирования шины
Оба чипа отвечают на адреса 0x20–0x27, которые задаются тремя выводами A0, A1 и A2. Именно поэтому сканирование шины не может отличить PCF8574 от PCF8575: адрес у них один и тот же.
Практическая ловушка отсюда прямая: если в прошивке стоит код для PCF8574, а на плате распаян PCF8575, драйвер будет читать и писать один байт вместо двух, и половина выводов просто не будет работать. Наоборот тоже плохо — код для 8575, посланный в 8574, читает лишний байт.
Отдельно существует PCF8574A с адресами 0x38–0x3F. Его заводят на ту же шину, что и PCF8574 или PCF8575, и так получают до восьми устройств каждого типа без пересечения адресов.
Квазидвунаправленные порты и ток
Порты обоих чипов квазидвунаправленные. Чтобы прочитать вход, на вывод сначала записывают высокий уровень, а затем смотрят, удержался ли он: если внешняя схема тянет линию к земле, читается ноль, иначе — единица. Поэтому вход всегда ведёт себя как подтянутый к питанию, отдельного внутреннего подтягивающего резистора включать не надо.
По току эти чипы слабы в сторону источника: выдавать ток наружу они почти не умеют, зато хорошо втягивают. Светодиоды поэтому подключают от питания через вывод к земле, а не наоборот.
Вывод прерывания INT есть у обоих, он открытый коллектор и срабатывает при изменении любого входа. Но он не говорит, какой именно вывод изменился, и маски на отдельные выводы нет — после прерывания порт читают целиком и сравнивают с предыдущим значением.
Характеристики
- PCF8575: 16 выводов, обмен двумя байтами, адреса 0x20–0x27.
- PCF8574: 8 выводов, обмен одним байтом, адреса 0x20–0x27; PCF8574A — 0x38–0x3F.
- Питание 2,5–5,5 В, шина I2C до 100 кГц (стандартный режим).
- Порты квазидвунаправленные, вход всегда с подтяжкой к питанию.
- Выход INT — открытый коллектор, сигналит об изменении, но не о конкретном выводе.
- Регистров конфигурации нет — состояние вывода задаётся только записью.
Частые вопросы
- Чем заменить PCF8574 — на PCF8575, если нужны 16 выводов, но код под два байта переписывают.
- Почему половина выводов не работает — на плате стоит PCF8575, а код написан под PCF8574.
- Как отличить PCF8574 от PCF8575 — сканированием не получится, адреса одинаковые, смотрят маркировку или тестируют обмен.
- Как читать кнопку — записать на вывод единицу и читать, подтяжка к питанию уже есть.
- Чем он отличается от MCP23017 — у MCP есть регистры конфигурации и настройка направления, здесь её нет.
Примените это к своей спецификации
Отправьте партномера или файл спецификации (Excel / CSV). По каждой строке проверим складские остатки в Шэньчжэне, наличие заводской упаковки и проверенные аналоги — с отгрузкой единой партией.
Запрос успешно отправлен!
Ваш запрос по позиции (ICBOMS) зарегистрирован. Номер заявки:
1. Служба закупок в Шэньчжэне проверяет реальные физические остатки на складах и Data Code.
2. Официальный расчет с ценами, сроками и условиями DDP будет отправлен на в течение 2-24 ч.
Как написано это руководство
Руководство написано службой поставок ICBOMS в Шэньчжэне и выверено по документам производителей и стандартам, на которые ссылается текст. Формулировки ограничены тем, что делает эта служба, и тем, как оценивают деталь — без ориентировочных цен, сроков поставки и остатков: всё это считается по каждой строке отдельно, по факту проверки. Дата последней вычитки стоит в начале страницы.