TCA9548A — восьмиканальный коммутатор шины I²C от TI
TCA9548A — коммутатор шины I²C: одна пара SDA и SCL от контроллера разветвляется на восемь пар, и любые из них можно подключить командой по той же шине. Так решают конфликт одинаковых адресов — например, восемь одинаковых датчиков на одной шине. Разбираем по даташиту TI выводы, адресацию и регистр каналов, вывод RESET, согласование уровней через питание VCC и расчёт подтяжек, когда открыто несколько каналов.
Обновлено Редакция GAW
TCA9548A (Texas Instruments) — восемь двунаправленных ключей, которые соединяют пару SDA и SCL контроллера с парами SD0–SD7 и SC0–SC7. Управляет ими единственный восьмибитный регистр, доступный по той же шине I²C. Сам коммутатор сигналы не буферизует и не формирует фронты: открытый канал — это просто участок шины за сопротивлением ключа, поэтому подтяжки, ёмкость и нагрузка складываются по всем открытым каналам. Типичная задача — несколько устройств с одинаковым адресом I²C, у которых адрес нельзя сменить или вариантов адреса не хватает.
Коротко
- Каналы — 8 пар SDn/SCn, открываются в любой комбинации; после включения питания все закрыты.
- Адрес — 0x70–0x77 по выводам A2–A0; до восьми микросхем на шине.
- Питание — 1,65–5,5 В при −40…+85 °C, до 3,6 В при работе до +125 °C; все входы и выходы допускают 5 В.
- Шина — до 400 кГц, ёмкость до 400 пФ; ключ 4–20 Ом при VCC 4,5–5,5 В.
- Сброс — вывод RESET (активный ноль) и сброс при включении питания.
- Корпуса — TSSOP-24 (PW), VSSOP-24 (DGS), VQFN-24 4 × 4 мм (RGE).
Выводы
| Вывод PW, DGS | Вывод RGE | Обозначение | Назначение |
|---|---|---|---|
| 1, 2, 21 | 22, 23, 18 | A0, A1, A2 | адрес; прямо к VCC или земле |
| 3 | 24 | RESET (инверсный) | сброс; если не используется — подтяжка к VCC |
| 4, 6, 8, 10 | 1, 3, 5, 7 | SD0, SD1, SD2, SD3 | данные каналов 0–3 |
| 5, 7, 9, 11 | 2, 4, 6, 8 | SC0, SC1, SC2, SC3 | тактовые линии каналов 0–3 |
| 12 | 9 | GND | общий провод |
| 13, 15, 17, 19 | 10, 12, 14, 16 | SD4, SD5, SD6, SD7 | данные каналов 4–7 |
| 14, 16, 18, 20 | 11, 13, 15, 17 | SC4, SC5, SC6, SC7 | тактовые линии каналов 4–7 |
| 22, 23 | 19, 20 | SCL, SDA | шина контроллера |
| 24 | 21 | VCC | питание 1,65–5,5 В |
Каждая линия SDn и SCn подтягивается своим резистором к своему напряжению канала, а SDA и SCL — к напряжению шины контроллера (примечание к табл. 4-1). У корпуса VQFN-24 есть площадка под корпусом.
Адрес и регистр каналов
Адрес — 1110 A2 A1 A0 (рис. 7-3), то есть 0x70–0x77. Регистр один, поэтому байт данных пишут сразу после адреса, без номера регистра (рис. 7-4): бит B0 открывает канал 0, бит B7 — канал 7 (рис. 7-6). Если в одной посылке передать несколько байт, сохранится последний. Чтение (рис. 7-5) возвращает текущее содержимое регистра.
Важная деталь из разд. 7.5.4: новый набор каналов включается только после условия STOP, чтобы все линии SCn и SDn были в единице в момент подключения. Наш вывод: выбор канала и обращение к датчику на нём нельзя склеить в одну транзакцию через повторный START — сначала «START, 0x70 + запись, байт каналов, STOP», затем обращение к датчику. Разложить транзакцию по битам помогает инструмент «Транзакция I²C».
Параметры
Условия — VCC = 1,65–5,5 В, весь рабочий диапазон температур (разд. 5.3, 5.5–5.8).
| Параметр | Мин. | Тип. | Макс. | Условия |
|---|---|---|---|---|
| Питание VCC | 1,65 В | — | 5,5 / 3,6 В | −40…+85 °C / до +125 °C |
| Единица на SCL, SDA | 0,7 · VCC | — | 6 В | — |
| Единица на A0–A2, RESET | 0,7 · VCC | — | VCC + 0,5 В | — |
| Ноль на входах | −0,5 В | — | 0,3 · VCC | — |
| Порог сброса при росте / спаде VCC | — / 0,8 В | 1,2 / 1 В | 1,5 / — В | без нагрузки |
| Ток нуля SDA | 3 / 6 мА | 6 / 9 мА | — | при 0,4 / 0,6 В на выходе |
| Сопротивление ключа RON | 4 Ом | 10 Ом | 20 Ом | VCC 4,5–5,5 В, 0,4 В, 15 мА |
| То же | 5 / 7 / 10 Ом | 12 / 15 / 25 Ом | 30 / 45 / 70 Ом | VCC 3–3,6 В (0,4 В, 15 мА) / 2,3–2,7 и 1,65–1,95 В (0,4 В, 10 мА) |
| Ток при 400 кГц | — | 50 / 20 мкА | 80 / 35 мкА | VCC = 5,5 / 3,6 В |
| Ток покоя | — | 0,2 / 0,1 мкА | 2 мкА | VCC = 5,5 / 3,6 В, −40…+85 °C |
| Ёмкость SDA / SDn при закрытом ключе | — | 20 / 5,5 пФ | 28 / 7,5 пФ | — |
| Частота SCL | 0 | — | 400 кГц | быстрый режим |
| Ёмкость шины Cb | — | — | 400 пФ | — |
| Импульс RESET | 6 нс | — | — | — |
| Задержка через ключ | — | — | 0,3 / 1 нс | расчёт RC при RON = 20 Ом и 15 / 50 пФ |
Предельные режимы: VCC и входы от −0,5 до 7 В, ток входа ±20 мА, ток выхода −25 мА, ток по VCC ±100 мА. Защита от электростатики — ±2000 В по модели тела человека и ±1000 В по модели заряженного устройства. Тепловое сопротивление кристалл — среда — 108,8 °C/Вт у TSSOP-24, 86,1 °C/Вт у VSSOP-24 и 57,2 °C/Вт у VQFN-24.
Согласование уровней
Ключи устроены так, что напряжение VCC ограничивает наибольший уровень, который они пропускают, — Vpass; выше линию поднимает подтяжка канала (разд. 3 и 8.2.1). Табл. 5.5 даёт напряжение на выходе ключа Vo(sw) при токе 100 мкА:
| VCC | Vo(sw) тип. | Vo(sw) в диапазоне |
|---|---|---|
| 5 В | 3,6 В | 2,6–4,5 В при 4,5–5,5 В |
| 3,3 В | 1,9 В | 1,6–2,8 В при 3–3,6 В |
| 2,5 В | 1,5 В | 1,1–2 В при 2,3–2,7 В |
| 1,8 В | 1,1 В | 0,6–1,25 В при 1,65–1,95 В |
Правило из разд. 8.2.1: Vpass должно быть не выше самого низкого напряжения среди всех шин. Пример TI: контроллер на 5 В, каналы на 3,3 и 2,7 В — VCC выбирают 3,3 В. Наш вывод: при VCC = 3,3 В порог единицы на SCL и SDA — 0,7 · 3,3 ≈ 2,31 В, так что 5-вольтовый контроллер управляет коммутатором уверенно, а датчики на 3,3 В не получат больше 3,3 В, потому что их линии подтянуты к 3,3 В. Если все шины одного напряжения, VCC берут равным ему. Отдельный преобразователь вроде TXS0108E в такой схеме не нужен.
Подтяжки, когда открыто несколько каналов
TI выводит границы подтяжки из двух условий (разд. 8.2.2 и SLVA689A): снизу — ток нуля, Rp(min) = (VDPUX − VOL(max)) / IOL, сверху — время нарастания, Rp(max) = tr / (0,8473 · Cb), где tr = 300 нс для 400 кГц и 1000 нс для 100 кГц. Ёмкость Cb складывается из ёмкости коммутатора (20–28 пФ на SDA и 5,5–7,5 пФ на закрытом SDn), дорожек и всех устройств на открытых каналах. Подбор — в калькуляторе «Подтяжка I²C».
Наш расчёт для канала на 5 В с ёмкостью 100 пФ в быстром режиме: Rp(max) = 300 нс / (0,8473 · 100 пФ) ≈ 3,5 кОм, Rp(min) = (5 − 0,4) / 3 мА ≈ 1,5 кОм.
Ловушка — готовые модули датчиков, на каждом из которых уже стоят свои подтяжки. Когда открыто несколько каналов, их резисторы оказываются параллельно подтяжке контроллера, и тянуть линию в ноль приходится через всех сразу (разд. 8.2.1: суммарный IOL — сумма токов всех подтяжек). Наш расчёт для шины 3,3 В: подтяжка контроллера 4,7 кОм и четыре открытых канала с модулями по 4,7 кОм дают пять резисторов параллельно, 940 Ом, и ток (3,3 − 0,4) / 940 ≈ 3,1 мА — больше 3 мА, при которых нормирован ноль 0,4 В. Наш вывод: на модулях лишние подтяжки снимают или открывают каналы по одному; это заодно решает и задачу ёмкости.
Сброс по питанию и RESET
При включении внутренний сброс держит микросхему до порога VPORR (1,2 В тип., не больше 1,5 В), после чего регистр обнуляется и все каналы закрыты. Чтобы сброс повторился, VCC нужно опустить ниже VPORF − 50 мВ и держать так не меньше 40 мкс, со спадом 1–100 мс и нарастанием 0,1–100 мс (табл. 8-1, при 25 °C). Провал VCC до 1,2 В длительностью 1 мкс или до 0,5 · VCC длительностью до 10 мкс функционального сбоя не вызывает. Общие сведения — в статье «Сброс при включении питания».
Вывод RESET решает другую задачу: если датчик на одном из каналов завис и держит SDA в нуле, контроллер импульсом RESET от 6 нс закрывает все каналы и освобождает свою шину, не снимая питания (разд. 7.4.1). Наш вывод: RESET полезно подключить к свободному выводу микроконтроллера, а не только к подтяжке; как найти зависшее устройство — в ответе «Как проверить шину I²C».
Расхождения в документации
- Упрощённая схема на с. 1 показывает у TCA9548A вывод INT и только два адресных вывода A0 и A1. Вывода прерывания у микросхемы нет, а адресных выводов три — A0, A1 и A2 (рис. 4-1, табл. 4-1).
- Защита от ESD. В свойствах на с. 1 указано ещё 200 В по модели машины (A115-A), но в таблице ESD (разд. 5.2) этого значения нет — только ±2000 В HBM и ±1000 В CDM.
- Чужое имя. Разд. 8.3.1 и подпись к табл. 8-1 говорят о PCA9548A — это другая микросхема TI, текст перенесён из её документации.
- Подтяжка RESET. Разд. 7.4.1 требует подключать RESET к VCC через резистор, а табл. 4-1 допускает подтяжку к VCC или к напряжению шины контроллера VDPUM.
Частые вопросы
Какой адрес у TCA9548A?
Семибитный адрес — 1110 A2 A1 A0, то есть от 0x70 при A2 = A1 = A0 = 0 до 0x77 при всех единицах (табл. 7-1). Выводы A0–A2 подключают прямо к VCC или земле, оставлять их свободными нельзя. На одной шине можно поставить до восьми TCA9548A и получить 8 · 8 = 64 подканала (наш расчёт).
Как включить канал TCA9548A?
Записать один байт сразу после адреса микросхемы: каждый бит B0–B7 включает свой канал 0–7, регистрового адреса нет. Например, байт 0x05 открывает каналы 0 и 2, байт 0x00 закрывает все. Новый набор каналов вступает в силу только после условия STOP. После включения питания все каналы закрыты.
Можно ли через TCA9548A соединить 5-вольтовый контроллер с датчиками на 3,3 В?
Да, для этого TI предлагает выбрать VCC так, чтобы напряжение, которое пропускает ключ, не превышало самого низкого напряжения на шинах. При VCC = 3,3 В ключ пропускает 1,9 В тип. и не больше 2,8 В во всём диапазоне 3–3,6 В, а каждую шину до своего уровня поднимают её собственные подтяжки. Все выводы допускают 5 В.
Зачем вывод RESET и куда его подключать?
Ноль на RESET длительностью от 6 нс сбрасывает регистр, закрывает все каналы и перезапускает автомат I²C — так восстанавливают шину, если ведомое устройство на одном из каналов зависло и держит SDA в нуле. Если RESET не используется, его подтягивают резистором к VCC; TI в таблице выводов допускает и подтяжку к уровню шины контроллера.
Источники
- Texas Instruments. TCA9548A Low-Voltage 8-Channel I2C Switch with Reset (SCPS207H, May 2012, revised September 2024) — с. 1 — свойства, корпуса, упрощённая схема; разд. 4 — рис. 4-1, 4-2 и табл. 4-1 (выводы PW, DGS, RGE); разд. 5.1–5.3 — предельные режимы, ESD, рабочие условия (1,65–5,5 В, пороги 0,7 и 0,3 · VCC); разд. 5.4 — тепловые сопротивления; разд. 5.5 — VPOR, Vo(sw), IOL, токи, ёмкости, RON; разд. 5.6–5.8 — тайминги I²C до 400 кГц, RESET, задержка; разд. 7.4 — RESET и сброс при включении; разд. 7.5 — адрес (табл. 7-1), запись и чтение регистра, регистр каналов (рис. 7-6); разд. 8.2 — требования к подтяжкам, Vpass (рис. 8-2), формулы Rp(min) и Rp(max); разд. 8.3 — табл. 8-1 (сброс по питанию)
- Texas Instruments. I2C Bus Pullup Resistor Calculation (SLVA689A, February 2015, revised October 2026) — разд. 2 — вывод формул Rp(min) = (VCC − VOL) / IOL и Rp(max) = tr / (0,8473 · Cb), табл. 2-1 — tr 1000 и 300 нс, Cb до 400 пФ, VOL 0,4 В при 3 мА
- Texas Instruments. TCA9548A — страница изделия: описание и состав документации — текущая ревизия даташита — SCPS207H; используется для проверки актуальности документа
Нашли ошибку?
Смотрите также
- Интерфейсные микросхемыРасширители портов, трансиверы, Ethernet, 4–20 мА: параметры, карточки
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- Адрес I²C7-битный адрес ведомого и байт адреса с битом R/W
- Подтягивающий резисторPull-up и pull-down: определённый уровень на свободной линии
- Ёмкость шины I²C (Cb)Ёмкость линии I²C: 400 пФ, подтяжка и скорость
- Открытый стокВыход только с транзистором к земле, единицу даёт подтяжка
- SMBusШина на основе I²C: таймаут, пороги, PEC
- Сброс при включении питанияВнутренний сброс до роста питания: пороги, скорость нарастания, примеры
- Преобразователь уровнейМикросхема, согласующая логические сигналы разных напряжений
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины
- Транзакция I²C по байтамБайт адреса, ACK и NACK, повторный START, диаграмма и код
- Как проверить шину I2C?Уровни SDA и SCL в покое, сканер адресов и девять тактов
- PCF85748 выводов по I²C: адреса, квазидвунаправленные порты, токи, INT
- TXS0108EПреобразователь уровней на 8 каналов: выводы, OE, подтяжки, пороги, скорость
- TSSOP-24Шаг 0,65 мм, корпус 7,7–7,9 × 4,3–4,5 мм, по выводам 6,2–6,6 мм, высота до 1,2 мм