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 мм.
Выводы
| Вывод | DB, DBQ, DGV, DW, PW | RGE (VQFN) | Назначение |
|---|---|---|---|
| INT | 1 | 22 | выход прерывания, открытый сток; подтянуть к VCC |
| A1, A2 | 2, 3 | 23, 24 | выводы адреса; прямо к VCC или GND |
| P00–P07 | 4–11 | 1–8 | порт 0 |
| GND | 12 | 9 | общий провод |
| P10–P17 | 13–20 | 10–17 | порт 1 |
| A0 | 21 | 18 | вывод адреса |
| SCL | 22 | 19 | тактовая линия I²C, подтяжка к VCC |
| SDA | 23 | 20 | линия данных I²C, подтяжка к VCC |
| VCC | 24 | 21 | питание |
Расстановка совпадает с 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).
| Параметр | Мин. | Тип. | Макс. | Условия |
|---|---|---|---|---|
| Питание VCC | 2,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 В, во время подтверждения |
| Ток нуля IOL | 5 мА | 15 мА | — | 0,4 В на выводе |
| То же | 10 мА | 25 мА | — | 1 В на выводе |
| Ток нуля SDA | 3 мА | — | — | 0,4 В |
| Ток нуля INT | 1,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
| Параметр | PCF8575 | PCF8574 | TCA9555 |
|---|---|---|---|
| Выводов | 16 | 8 | 16 |
| Питание | 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–0x27 | 0x20–0x27 | 0x20–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 с той же расстановкой выводов.
Источники
- 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
- 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 кГц)
- 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 кОм
Нашли ошибку?
Смотрите также
- Интерфейсные микросхемыРасширители портов, трансиверы, Ethernet, 4–20 мА: параметры, карточки
- PCF85748 выводов по I²C: адреса, квазидвунаправленные порты, токи, INT
- TCA9555 и PCA955516 выводов по I²C: адреса, регистры, подтяжки 100 кОм, токи, INT, отличия
- MCP2301716 выводов по I²C: адреса, регистры, подтяжки, прерывания, токи
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- Квазидвунаправленный выводСильный ноль, слабая единица, вход без регистра направления
- Расширитель портовДополнительные выводы по I²C и SPI: типы, адреса, прерывания
- Адрес I²C7-битный адрес ведомого и байт адреса с битом R/W
- Открытый стокВыход только с транзистором к земле, единицу даёт подтяжка
- Втекающий и вытекающий токТок, который выход принимает и отдаёт: пределы на вывод и группу
- Сброс при включении питанияВнутренний сброс до роста питания: пороги, скорость нарастания, примеры
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины
- TSSOP-24Шаг 0,65 мм, корпус 7,7–7,9 × 4,3–4,5 мм, по выводам 6,2–6,6 мм, высота до 1,2 мм
- SSOP-24Шаг 0,65 мм, корпус 7,9–8,5 × 5,0–5,6 мм, по выводам 7,4–8,2 мм, высота до 2,0 мм
- VQFN-24 4×4Шаг 0,5 мм, корпус 4 × 4 мм, площадка 2,6 мм, θJA 60,6 °C/Вт
- TVSOP-24Шаг 0,4 мм, корпус 4,9–5,1 × 4,3–4,5 мм, по выводам 6,2–6,6 мм, высота до 1,2 мм