Перейти к содержанию

PCF8575 — 16 квазидвунаправленных выводов по I²C

PCF8575 — шестнадцатибитный брат PCF8574: те же квазидвунаправленные выводы без регистров направления, тот же выход прерывания INT, но два порта по восемь выводов и шина I²C до 400 кГц. Обмен с ним — всегда пары байтов: первый для P07–P00, второй для P17–P10. Разбираем по даташиту Texas Instruments выводы, адреса, работу портов, токи, требования к питанию и чем он отличается от PCF8574 и TCA9555.

Обновлено Редакция GAW

PCF8575 (Texas Instruments) — расширитель портов на 16 выводов для шины I²C и SMBus. Как и восьмибитный PCF8574, он не имеет регистров: каждый вывод квазидвунаправленный — выход с сильным нулём и слабой единицей, который одновременно служит входом. Если нужны регистры направления и полярности, ту же расстановку выводов и те же адреса имеют TCA9555 и PCA9555; подробнее с регистрами устроен MCP23017.

Коротко

  • Питание — 2,5–5,5 В, предел 6,5 В; входы — не выше VCC + 0,5 В.
  • Шина — I²C до 400 кГц, адрес 0x20–0x27 выводами A0–A2, на general call не отвечает.
  • Порты — 16 квазидвунаправленных выводов: ноль — до 25 мА, единица — источник тока 30–300 мкА и короткий сильный импульс при записи.
  • Обмен — пары байтов: P07–P00, затем P17–P10; регистров нет.
  • Потребление — в покое 2,5 мкА тип., до 10 мкА; в работе на 400 кГц при 5,5 В — 100 мкА тип., до 200 мкА.
  • Корпуса — SSOP-24 (DB), QSOP-24 (DBQ), TVSOP-24, SOIC-24, TSSOP-24, VQFN-24 4 × 4 мм.

Выводы

PCF8575, вид сверху: 1 INT, 2 A1, 3 A2, 4 P00, 5 P01, 6 P02, 7 P03, 8 P04, 9 P05, 10 P06, 11 P07, 12 GND, 13 P10, 14 P11, 15 P12, 16 P13, 17 P14, 18 P15, 19 P16, 20 P17, 21 A0, 22 SCL, 23 SDA, 24 VCCPCF85751INT2A13A24P005P016P027P038P049P0510P0611P0712GND13P1014P1115P1216P1317P1418P1519P1620P1721A022SCL23SDA24VCCвид сверху
PCF8575 в корпусах SSOP-24, TVSOP-24, SOIC-24 и TSSOP-24, вид сверху; в VQFN-24 номера выводов другие — см. таблицу
ВыводDB, DBQ, DGV, DW, PWRGE (VQFN)Назначение
INT122выход прерывания, открытый сток; подтянуть к VCC
A1, A22, 323, 24выводы адреса; прямо к VCC или GND
P00–P074–111–8порт 0
GND129общий провод
P10–P1713–2010–17порт 1
A02118вывод адреса
SCL2219тактовая линия I²C, подтяжка к VCC
SDA2320линия данных I²C, подтяжка к VCC
VCC2421питание

Расстановка совпадает с TCA9555 и PCA9555. Корпуса: SSOP-24 (DB), QSOP-24 (DBQ, 8,65 × 6 мм по таблице на с. 1; даташит PCF8575 называет его SSOP, а TI в даташите PCA9555 — QSOP), TVSOP-24 (DGV), SOIC-24 (DW), TSSOP-24 (PW) и VQFN-24 4 × 4 мм (RGE); у некоторых вариантов поставки (PCF8575DB, PCF8575DW, PCF8575PW без R) в таблице заказа стоит «снят с производства», те же корпуса на катушке (с R на конце) выпускаются.

Как работают выводы

После включения все выводы в единице. В единице к VCC подключён только слабый источник тока IOH: от 30 до 300 мкА при выводе, замкнутом на землю. Его достаточно, чтобы вход читался единицей, и мало, чтобы кнопка или открытый коллектор не смогли опустить вывод в ноль. Когда в вывод записывают единицу, на короткое время включается сильная подтяжка IOHT — от 0,5 мА (1 мА тип.) при 2,5 В: она быстро поднимает фронт на нагруженном выходе и выключается спадом SCL (разд. 8.1). В нуле вывод принимает ток: гарантированно 5 мА при 0,4 В и 10 мА при 1 В, типично 15 и 25 мА; по рабочим условиям — не больше 25 мА на вывод, а по предельным режимам через вывод VCC или GND — не больше ±100 мА на весь корпус.

Наш вывод: чтобы прочитать вывод, в него сначала записывают единицу — это требование TI («The I/Os should be high before being used as inputs»). Если в вывод записан ноль, а снаружи на него подаётся единица, через выход к земле течёт ток IOL — микросхема не «видит» вход и греется. Поэтому при смешанном использовании программа держит в памяти маску входов и всегда пишет в эти биты единицы.

Наш расчёт скорости слабой единицы: источник 30 мкА заряжает вывод с нагрузкой 100 пФ со скоростью 30 · 10⁻⁶ / 100 · 10⁻¹² = 0,3 В/мкс, и до 3,5 В (порог 0,7 · VCC при 5 В) он поднимается примерно за 12 мкс. После записи фронт ускоряет IOHT, но после отпускания кнопки линия поднимается только слабым током — при длинных проводах к входам лучше добавить внешний подтягивающий резистор.

Выход INT — открытый сток: он опускается при любом изменении уровня на входах и действителен через tiv до 4 мкс. Сбрасывается прерывание, когда вход возвращается в прежнее состояние или когда контроллер читает или записывает порт, вызвавший прерывание; изменения, пришедшие во время такта подтверждения, могут потеряться (разд. 8.1).

Обмен по I²C

Адресный байт — 0100 A2 A1 A0 и бит R/W, семибитные адреса 0x20–0x27. В таблице адресов (разд. 8.3.3) TI пишет их восьмибитно: запись 0x40–0x4E, чтение 0x41–0x4F. Адресные выводы подключают прямо к питанию или земле и не меняют между Start и Stop. На адрес general call PCF8575 не отвечает.

Запись: адрес с R/W = 0, затем пары байтов — первый для P07–P00, второй для P17–P10. Новые 16 бит появляются на выводах через tpv (до 4 мкс) после подтверждения второго байта; пар в одной передаче может быть сколько угодно, каждая перезаписывает предыдущую. Чтение: адрес с R/W = 1, затем микросхема выдаёт байт порта 0, потом байт порта 1, и так по кругу. Данные на входе фиксируются по такту подтверждения: время установки tsu — от 0 мкс, удержания th — не меньше 4 мкс; если вход меняется быстрее, чем контроллер читает, изменение теряется.

Параметры

Условия — VCC 2,5–5,5 В, −40…+85 °C, если не указано иное (табл. 5.3–5.7).

ПараметрМин.Тип.Макс.Условия
Питание VCC2,5 В—5,5 Впредел 6,5 В
Единица на входе0,7 · VCC—VCC + 0,5 В—
Ноль на входе−0,5 В—0,3 · VCC—
Порог сброса VPOR—1,2 В1,8 В—
Ток единицы IOH−30 мкА—−300 мкАвывод на земле
Импульс подтяжки IOHT−0,5 мА−1 мА—2,5 В, во время подтверждения
Ток нуля IOL5 мА15 мА—0,4 В на выводе
То же10 мА25 мА—1 В на выводе
Ток нуля SDA3 мА——0,4 В
Ток нуля INT1,6 мА——0,4 В
Потребление в работе—100 мкА200 мкА5,5 В, 400 кГц
То же—30 мкА75 мкА3,6 В
Покой—2,5 мкА10 мкА2,7–5,5 В, без тактов
Добавка тока ΔICC——200 мкАодин вход на VCC − 0,6 В
Частота I²C——400 кГц—
Выход после подтверждения tpv——4 мксCL ≤ 100 пФ
Прерывание tiv и сброс tir——4 мкс—

Предельные режимы (с. 4): VCC — от −0,5 до 6,5 В, входы и выходы — от −0,5 В до VCC + 0,5 В; ток нуля одного выхода — 50 мА, единицы — −4 мА; через вывод VCC или GND — ±100 мА. Тепловое сопротивление кристалл — среда: 87,8 °C/Вт у DB, 61 у DBQ, 86 у DGV, 75,6 у DW, 99,7 у PW и 53,6 °C/Вт у RGE.

Питание, светодиоды и уровни

На примере схемы (рис. 9-1) TI требует подтягивать SDA и SCL к тому же VCC, что питает PCF8575: если подтяжки шины питаются от отдельного источника, который может работать при выключенном VCC, растёт ток потребления. Неиспользуемые выводы в том же примере настроены выходами. Ток покоя растёт и тогда, когда вход стоит ниже VCC: ΔICC — до 200 мкА на вход при VCC − 0,6 В.

Светодиод подключают анодом через резистор к VCC, катодом к выводу: в нуле вывод принимает ток, а единица — всего 30–300 мкА — светодиод не зажжёт. Выключенный светодиод держит вывод на прямое напряжение ниже VCC, и это тот самый случай ΔICC. TI предлагает резистор 100 кОм параллельно светодиоду или питание светодиодов от напряжения, которое выше VCC на прямое напряжение светодиода (разд. 9.2.1.1).

Наш вывод об уровнях: порог единицы — 0,7 · VCC. При VCC = 5 В это 3,5 В, и двухтактный выход 3,3-вольтовой схемы, подключённый к входу PCF8575, единицу не даёт; в такой схеме PCF8575 питают от 3,3 В или ставят преобразователь уровней. Входы допускают не больше VCC + 0,5 В, так что сигналы 5 В на PCF8575 с питанием 3,3 В подавать нельзя.

PCF8575, PCF8574 и TCA9555

ПараметрPCF8575PCF8574TCA9555
Выводов16816
Питание2,5–5,5 В2,5–6 В1,65–5,5 В
Частота I²Cдо 400 кГцдо 100 кГцдо 400 кГц
Направлениеквазидвунаправленныеквазидвунаправленныерегистр
Единица на выходеисточник 30–300 мкАисточник 30–310 мкАдвухтактный, до 10 мА
Ноль на выходедо 25 мАдо 25 мАдо 25 мА
Обменпары байтоводин байткомандный байт и регистры
Адреса0x20–0x270x20–0x270x20–0x27

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

Расхождения в документации

  • Код корпуса VQFN. В таблице корпусов на с. 1 — «VQFN (RGV, 24)», а рисунок выводов, тепловые характеристики, таблица заказа и чертежи — RGE (в приложении два чертежа: RGE0024C и RGE0024R).
  • «Двухтактная структура». В таблице выводов (с. 3) у всех P-выводов написано «Push-pull design structure», а разд. 8.1 и рис. 8-2 описывают квазидвунаправленный вывод с источником тока IOH и кратковременной подтяжкой IOHT.
  • Лишние байты при записи. Разд. 8.3.1 говорит, что байты после первого подтверждённого байта данных микросхема игнорирует; разд. 8.1 — что число байтов не ограничено и каждые два байта перезаписывают предыдущие. Правильно второе: у PCF8575 два порта.
  • Требования к питанию при сбросе. Разд. 9.3.1 обещает требования к нарастанию VCC «ниже», но таблицы в даташите нет — сразу следует разд. 9.3.2.
  • Модель машины ESD. Свойства на с. 1 называют 200 В по модели машины, а таблица ESD (разд. 5.2) приводит только 2000 В по модели тела человека и 1000 В по модели заряженного устройства.
  • Неполная тепловая таблица. Для DBQ и DGV в разд. 5.4 дано только RθJA, остальные строки пустые.

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

Как переключить вывод PCF8575 на вход?

Записать в него единицу. Регистров направления у PCF8575 нет: вывод в единице подтянут к питанию слабым источником тока 30–300 мкА, и внешний сигнал или кнопка легко опускает его в ноль. После включения питания все выводы уже в единице и работают как входы. Если на вывод, в который записан ноль, подать единицу снаружи, через него к земле потечёт большой ток.

Сколько байтов передавать PCF8575?

Всегда чётное число: первый байт относится к P07–P00, второй — к P17–P10, затем снова к порту 0 и так далее. Новые 16 бит появляются на выводах после второго байта пары. Чтение устроено так же: после адреса с битом чтения микросхема выдаёт байт порта 0, затем байт порта 1. Командного байта и регистров нет.

Какой адрес у PCF8575?

Семибитный адрес — 0100 A2 A1 A0, от 0x20 до 0x27. TI в таблице адресов приводит восьмибитную запись: адреса записи 0x40–0x4E и чтения 0x41–0x4F. Выводы A0–A2 подключают прямо к VCC или GND, подтягивающие резисторы им не нужны. Тот же диапазон занимают PCF8574, TCA9555, PCA9555 и MCP23017.

Можно ли поставить PCF8575 вместо PCF8574?

Программно — нет: PCF8574 обменивается одним байтом, PCF8575 — парами байтов, и корпус у него на 24 вывода. Зато PCF8575 работает на 400 кГц против 100 кГц у PCF8574. Верхняя граница питания у PCF8575 — 5,5 В, у PCF8574 — 6 В. Если нужны настоящие регистры направления, удобнее TCA9555 с той же расстановкой выводов.

Источники

  1. Texas Instruments. PCF8575 Remote 16-Bit I2C and SMBus I/O Expander with Interrupt Output (SCPS121I, January 2005, revised August 2024) — с. 1 — свойства (10 мкА, 400 кГц, источник тока к VCC, ESD 2000/200/1000 В), таблица корпусов (DB, DBQ, DGV, DW, PW, «RGV»); с. 3 — выводы; с. 4 — предельные режимы (6,5 В, ±100 мА), ESD, рабочие условия (2,5–5,5 В, IOH −1 мА, IOHT −10 мА, IOL 25 мА), тепловые характеристики; с. 5 — табл. 5.5 (VPOR 1,2/1,8 В, IOH −30…−300 мкА, IOHT −0,5/−1 мА, IOL 5/15 и 10/25 мА, ICC 100/200 и 2,5/10 мкА, ΔICC 200 мкА) и 5.6 (400 кГц); с. 6 — табл. 5.7 (tiv, tir, tpv 4 мкс, tsu 0, th 4 мкс); с. 12–13 — разд. 8.1–8.2 (работа портов, пары байтов, рис. 8-2); с. 14–16 — разд. 8.3 (I²C, general call, адреса); с. 18 — рис. 9-1 и примечания; с. 19–21 — разд. 9.2–9.3; с. 23 — история ревизий; чертежи DGV0024A, DB, RGE0024C, RGE0024R, PW0024A — с. 29–43
  2. Texas Instruments. PCF8574 Remote 8-Bit I/O Expander for I2C Bus (SCPS068K, revised September 2024) — для сравнения: с. 4 — рабочие условия (2,5–6 В, IOL 25 мА); с. 5 — табл. 5.5 (IOH −30…−310 мкА, IOL от 10 мА при 1 В) и 5.6 (I²C до 100 кГц)
  3. Texas Instruments. TCA9555 Low-Voltage 16-Bit I2C and SMBus I/O Expander (SCPS200E, revised April 2019) — для сравнения: с. 3 — тот же фиксированный адрес, что у PCF8575 и PCF8574; с. 4 — та же расстановка выводов; с. 5 — 1,65–5,5 В; с. 17 — подтяжка 100 кОм

Нашли ошибку?