TMP102 — цифровой датчик температуры TI в корпусе SOT-563
TMP102 — маленький датчик температуры Texas Instruments с выходом I²C/SMBus в корпусе SOT-563 1,6 × 1,6 мм. Он измеряет с шагом 0,0625 °C, потребляет единицы микроампер и ставится до четырёх штук на одну шину. Разбираем по даташиту выводы, адреса, регистры и формат температуры, режимы термостата, расчёт тока, ограничения по напряжению и чем он отличается от TMP117 и MCP9808.
Обновлено Редакция GAW
TMP102 измеряет температуру собственного кристалла встроенным диодным датчиком и АЦП (структурная схема на с. 1) и отдаёт результат по шине I²C/SMBus. Корпус SOT-563 по словам TI занимает на 68 % меньше места, чем SOT-23, а основной путь тепла от платы к кристаллу идёт через выводы (разд. 6.1) — датчик измеряет температуру той меди, к которой припаян. Обзор способов измерения температуры — в статье «Датчики температуры».
Коротко
- Точность — ±2 °C макс. при −25…+85 °C, ±3 °C при −40…+125 °C (тип. ±0,5 и ±1 °C); диапазон работы −55…+150 °C.
- Разрешение — 12 бит, 0,0625 °C; в расширенном режиме 13 бит, до +150 °C.
- Питание — 1,4–3,6 В (тип. 3,3 В), предел 4 В на питании и выводах.
- Ток — 4,8 мкА тип. и 7,5 мкА макс. при 4 измерениях в секунду, 3,2 мкА при 1 Гц, 0,15 мкА в Shutdown.
- Интерфейс — I²C/SMBus 1–400 кГц и до 2,85 МГц в режиме HS, адреса 0x48–0x4B, General Call, SMBus Alert, тайм-аут 30 мс.
- Корпус — SOT-563 (DRL) 1,6 × 1,6 мм по выводам, маркировка CBZ.
Выводы
| Вывод | Обозначение | Назначение |
|---|---|---|
| 1 | SCL | тактовый сигнал I²C, вход |
| 2 | GND | общий |
| 3 | ALERT | тревога по температуре, открытый сток, нужна подтяжка |
| 4 | ADD0 | выбор адреса: GND, V+, SDA или SCL |
| 5 | V+ | питание 1,4–3,6 В |
| 6 | SDA | данные I²C, открытый сток, нужна подтяжка |
Корпус — SOT-563 по чертежу TI DRL0006A (4223266/F, 11/2024): шесть выводов с шагом 0,5 мм, высота до 0,6 мм. Таблица Package Information называет размер 1,60 × 1,60 мм вместе с выводами, таблица 6-1 — корпус 1,2 × 1,6 × 0,6 мм.
Параметры
По таблицам на с. 4–6: TA = 25 °C, V+ = 1,4–3,6 В, если не указано иное.
| Параметр | Мин. | Тип. | Макс. | Условия |
|---|---|---|---|---|
| Погрешность | — | ±0,5 °C | ±2 °C | −25…+85 °C |
| То же | — | ±1 °C | ±3 °C | −40…+125 °C |
| Влияние питания | — | 0,2 °C/В | 0,5 °C/В | — |
| Разрешение | — | 0,0625 °C | — | 12 бит |
| Время преобразования | — | 10 мс | 15 мс | — |
| Частота измерений | 0,25 Гц | 4 Гц | 8 Гц | биты CR1, CR0 |
| Средний ток | — | 3,2 мкА | 5 мкА | 1 Гц, шина не активна |
| То же | — | 4,8 мкА | 7,5 мкА | 4 Гц (по умолчанию), шина не активна |
| Средний ток при обмене | — | 10 / 40 мкА | — | SCL 400 кГц / 2,85 МГц |
| Ток в Shutdown | — | 0,15 мкА | 0,35 мкА | шина не активна |
| Ток в Shutdown при обмене | — | 5,5 / 35 мкА | — | SCL 400 кГц / 2,85 МГц |
| Единица на входах | 0,7 · V+ | — | 3,6 В | — |
| Ноль на входах | −0,5 В | — | 0,3 · V+ | — |
| Ноль на SDA и ALERT | 0 | — | 0,4 В | V+ > 2 В, 3 мА |
| То же | 0 | — | 0,2 · V+ | V+ < 2 В, 3 мА |
| Тайм-аут шины | — | 30 мс | 40 мс | SCL в нуле |
Предельные режимы (с. 4): питание до 4 В; SCL, SDA и ADD0 — от −0,5 до 4 В; ALERT — до V+ + 0,3 В и не выше 4 В; рабочая температура −55…+150 °C, кристалл — до 150 °C. Защита от электростатики — ±2000 В по модели тела человека, ±1000 В по модели заряженного прибора. Тепловое сопротивление кристалл — среда в DRL — 240,2 °C/Вт.
Наш вывод: TMP102 — микросхема для шин 1,8–3,3 В. Входы не допускают 5 В, поэтому с 5-вольтовым микроконтроллером нужен преобразователь уровней.
Формат температуры
Регистр температуры — два байта, старший первым; значащие — первые 12 бит (13 в расширенном режиме), младший бит — 0,0625 °C, отрицательные значения — в дополнительном коде. Младший байт можно не читать, если хватает шага 1 °C. Бит D0 второго байта показывает формат: 0 — обычный, 1 — расширенный.
| Температура | 12 бит (EM = 0) | 13 бит (EM = 1) |
|---|---|---|
| +150 °C | — | 0960h |
| +128 °C | 7FFh | 0800h |
| +100 °C | 640h | 0640h |
| +25 °C | 190h | 0190h |
| +0,25 °C | 004h | 0004h |
| 0 °C | 000h | 0000h |
| −0,25 °C | FFCh | 1FFCh |
| −25 °C | E70h | 1E70h |
| −55 °C | C90h | 1C90h |
В обычном режиме код 7FFh соответствует 127,9375 °C, и таблица 6-2 даёт его же для 128 °C: 12-битный формат выше +127,9375 °C не показывает. Для измерений до +150 °C включают расширенный режим (бит EM), он же меняет формат порогов THIGH и TLOW. Обычный режим нужен для совместимости с регистрами TMP75 (разд. 6.4.2).
Регистры и режимы
Регистр-указатель выбирает один из четырёх регистров двумя младшими битами (табл. 6-7); остальные биты при записи — нули.
| Указатель | Регистр | После включения |
|---|---|---|
| 00h | Temperature, только чтение | 0 °C до первого преобразования |
| 01h | Configuration | 60A0h (наш пересчёт табл. 6-10 и 6-11) |
| 02h | TLOW | 75 °C |
| 03h | THIGH | 80 °C |
Биты конфигурации: SD — Shutdown после текущего преобразования; OS — однократное измерение из Shutdown (во время преобразования читается 0); TM — термостат: компаратор (0) или прерывание (1); POL — полярность ALERT (по умолчанию активный ноль); F1, F0 — очередь из 1, 2, 4 или 6 подряд идущих превышений; R1, R0 — только чтение, всегда 11 (12 бит); CR1, CR0 — 0,25, 1, 4 или 8 измерений в секунду; AL — состояние компаратора, только чтение; EM — расширенный режим.
После включения или сброса командой General Call датчик сразу начинает преобразование, первый результат готов через 10 мс (тип.). Во время преобразования он берёт 55 мкА, между ними — 2,6 мкА (тип. при +27 °C, разд. 6.4.1). Наш расчёт среднего тока при 4 Гц: (55 мкА · 10 мс + 2,6 мкА · 240 мс) / 250 мс ≈ 4,7 мкА — близко к табличным 4,8 мкА; при 1 Гц — около 3,1 мкА против 3,2 мкА в таблице. В однократном режиме можно делать 80 и больше измерений в секунду: одно преобразование длится 10 мс, чтение — меньше 20 мкс (разд. 6.4.4).
ALERT: компаратор и прерывание
В режиме компаратора (TM = 0) ALERT активен, когда температура достигла THIGH, и остаётся активным, пока не опустится ниже TLOW, — каждый раз после заданного числа подряд идущих превышений. Это готовый термостат с гистерезисом: с порогами по умолчанию он включается при 80 °C и выключается ниже 75 °C. В режиме прерывания (TM = 1) ALERT срабатывает при достижении THIGH и сбрасывается чтением любого регистра, ответом на адрес SMBus Alert Response или переходом в Shutdown; следующий раз он сработает, когда температура упадёт ниже TLOW (разд. 6.5.4).
На команду SMBus Alert (0001 1001) датчик с активным ALERT отвечает своим адресом, а младший бит ответа говорит, что случилось: при POL = 0 ноль — температура не ниже THIGH, единица — ниже TLOW (разд. 6.3.7). Если откликнулись несколько датчиков, арбитраж выигрывает младший адрес. Команда General Call с байтом 06h сбрасывает регистры к значениям после включения (разд. 6.3.8).
Подключение
Схема из раздела 7.2: подтяжки 5 кОм на SCL, SDA и ALERT (ток через каждый вывод — не больше 3 мА), конденсатор 0,01 мкФ между V+ и GND у выводов. Для дополнительного подавления помех TI предлагает RC-фильтр в цепи питания: резистор не больше 5 кОм и конденсатор не меньше 10 нФ (рис. 7-2). Номиналы подтяжек под ёмкость шины — в калькуляторе подтяжек I²C.
Датчик ставят как можно ближе к источнику тепла и хорошо соединяют с ним медью: на рис. 7-4 под датчиком полигон земли, связанный с нагревателем. На плате 0,375 × 0,437 дюйма при погружении в масло 100 °C постоянная времени — 0,8 с (рис. 7-3). Когда нужно измерять температуру воздуха или поверхности, разд. 7.2.2 советует изолировать корпус и выводы от окружающего воздуха; для точного измерения температуры поверхности помогает теплопроводящий клей.
Наш расчёт самонагрева: при 3,3 В и 10 мкА во время обмена на 400 кГц кристалл рассеивает около 33 мкВт, при 240,2 °C/Вт это 0,008 °C — пренебрежимо мало. Заметнее ток подтяжки: 3 мА при 0,4 В на открытом стоке — 1,2 мВт, или до 0,29 °C, пока на линии держится ноль. Поэтому подтяжки делают не меньше расчётных, а опрос — не чаще нужного.
TMP102, TMP117 и MCP9808
| Параметр | TMP102 | TMP117 | MCP9808 |
|---|---|---|---|
| Точность (макс.) | ±2 °C при −25…85 °C | ±0,1 °C при −20…50 °C | ±0,5 °C при −20…100 °C |
| Шаг | 0,0625 °C | 0,0078125 °C | 0,0625 °C |
| Питание | 1,4–3,6 В | 1,7–5,5 В | 2,7–5,5 В |
| Ток | 3,2 мкА при 1 Гц | 3,5 мкА при 1 Гц | 200 мкА тип. |
| Адреса I²C | 0x48–0x4B | 0x48–0x4B | 0x18–0x1F |
| Корпус | SOT-563 | WSON-6 2 × 2, DSBGA-6 | MSOP-8, DFN-8 2 × 3 |
Наш вывод: TMP102 выбирают за размер, низкое питание и ток, а не за точность — его гарантированные ±2 °C хуже, чем у MCP9808 и тем более TMP117. Адреса TMP102 и TMP117 совпадают, поэтому на одной шине их суммарно не больше четырёх. Если нужна точность при тех же размерах и выводах, TI называет TMP112: ±0,5 °C при 0…65 °C и ±1 °C при −40…125 °C (табл. 6-1).
Расхождения в документации
- Точность ±0,5 °C. Описание на с. 1 говорит о точности ±0,5 °C без калибровки, а особенности и таблица характеристик гарантируют только ±2 °C (−25…85 °C); ±0,5 °C — типичное значение.
- Диапазон точности. Таблица 6-1 даёт для TMP102 ±2 °C «при 25…85 °C», особенности и таблица характеристик — при −25…85 °C.
- Вывод ADD0. Таблица выводов предлагает подключать ADD0 к GND или V+, а таблица адресов 6-4 и раздел 7.2.1 — ещё и к SDA или SCL.
- Ток в Shutdown. Раздел 6.4.3 — «обычно меньше 0,15 мкА», раздел 6.5.3.1 — «обычно меньше 0,5 мкА», таблица — 0,15 мкА тип. и 0,35 мкА макс.
- Подтяжки к напряжению выше V+. Раздел 7.2.1 разрешает подтягивать SCL и SDA к напряжению «равному или выше V+», но предельные режимы ограничивают эти выводы 4 В: подтяжка к 5 В их нарушает.
- Ссылка на очередь превышений. Раздел 6.5.4 для числа превышений в режиме прерывания ссылается на таблицу 6-5 (частота измерений), хотя очередь задаёт таблица 6-12.
Частые вопросы
Какой адрес I²C у TMP102?
Один вывод ADD0 даёт четыре адреса (табл. 6-4): к GND — 0x48, к V+ — 0x49, к SDA — 0x4A, к SCL — 0x4B. Так на шине помещаются четыре датчика. Таблица выводов на с. 3 упоминает только GND и V+, но таблица адресов и раздел 7.2.1 называют все четыре варианта.
Можно ли подключить TMP102 к Arduino на 5 В?
Не напрямую. Питание TMP102 — 1,4–3,6 В, а предел для SCL, SDA и ADD0 — 4 В, для ALERT — V+ + 0,3 В и не больше 4 В. Подтяжки шины к 5 В превысят этот предел, поэтому нужен преобразователь уровней или питание шины от 3,3 В. Раздел 7.2.1 даташита разрешает подтягивать SCL и SDA к напряжению «не ниже V+», но и оно должно оставаться в пределах 4 В.
Как перевести показания TMP102 в градусы?
Прочитать два байта регистра 00h, сложить их в 16-битное число со знаком и сдвинуть вправо на 4 бита (в расширенном режиме EM = 1 — на 3), затем умножить на 0,0625 °C. Например, 0x1900 → 190h = 400 → 25 °C, 0xE700 → E70h → −400 → −25 °C. До окончания первого преобразования после включения регистр читается как 0 °C.
Насколько точен TMP102?
Гарантированно — ±2 °C при −25…+85 °C и ±3 °C при −40…+125 °C; ±0,5 °C и ±1 °C — типичные значения. Ещё до 0,5 °C на вольт даёт изменение питания. Если нужна гарантированная точность выше, TI предлагает совместимый по выводам TMP112 (±0,5 °C при 0…65 °C) или TMP117 (±0,1 °C).
Источники
- Texas Instruments. TMP102 Low-Power Digital Temperature Sensor With SMBus and Two-Wire Serial Interface in SOT563 (SBOS397I, August 2007, revised June 2024) — с. 1 — особенности (±2 °C при −25…85 °C, ±3 °C при −40…125 °C, 7,5 и 0,35 мкА, 1,4–3,6 В, 12 бит), описание (±0,5 °C, до четырёх датчиков на шине), SOT563 1,60 × 1,60 мм; с. 3 — выводы DRL; с. 4 — предельные режимы (4 В), ESD, рекомендуемые условия, RθJA 240,2 °C/Вт; с. 5 — электрические характеристики; с. 6 — тайминги 400 кГц и 2,85 МГц; с. 8 — табл. 6-1 (TMP112 и TMP102), разд. 6.3.1; с. 9–10 — табл. 6-2 и 6-3; с. 10–12 — шина, табл. 6-4 (адреса), SMBus Alert, General Call, режим HS, тайм-аут 30 мс; с. 14–16 — режимы, табл. 6-5, 55 и 2,6 мкА, EM, SD, OS, TM; с. 16–19 — регистры, табл. 6-6–6-16, пороги 80 и 75 °C; с. 20–22 — применение (подтяжки 5 кОм, 0,01 мкФ, RC-фильтр, постоянная времени 0,8 с); с. 23–24 — история ревизий; с. 26 — коды заказа; с. 30–32 — чертёж DRL0006A (4223266/F)
- Texas Instruments. TMP117 High-Accuracy, Low-Power, Digital Temperature Sensor With SMBus- and I2C-Compatible Interface (SNOSD82D, revised September 2022) — для сравнения: ±0,1 °C макс. при −20…50 °C, 16 бит с шагом 7,8125 м°C, 1,7–5,5 В, 3,5 мкА при 1 Гц, адреса 0x48–0x4B, корпус WSON-6 2 × 2 мм
- Microchip. MCP9808 ±0.5°C Maximum Accuracy Digital Temperature Sensor (DS20005095B) — для сравнения: ±0,5 °C макс. при −20…100 °C, 2,7–5,5 В, 200 мкА тип., адреса 0x18–0x1F
Нашли ошибку?
Смотрите также
- Микросхемы датчиковТок, давление, влажность, температура, свет, ИК: карточки и статьи
- Датчики температуры: NTC, Pt100, термопара, DS18B20, TMP117Термистор, Pt100, термопара, микросхемы и датчик МК: точность, подключение, самонагрев
- TMP117Термометр I²C ±0,1 °C: выводы, адреса, регистры, усреднение, ток, самонагрев
- MCP9808Термометр I²C ±0,5 °C: выводы, адреса, регистры, пересчёт, пороги и Alert
- DS18B20Датчик температуры 1-Wire: выводы, точность, 9–12 бит, паразитное питание
- LM3510 мВ/°C: выводы, точность, питание от 4 В, минус, пересчёт АЦП
- Дополнительный кодTwo's complement: запись отрицательных целых
- Адрес I²C7-битный адрес ведомого и байт адреса с битом R/W
- SMBusШина на основе I²C: таймаут, пороги, PEC
- Общий вызов I²CАдрес 0x00 для всех устройств шины: команды, сброс, поддержка
- Самонагрев датчикаДатчик греется током измерения: ΔT = P/δ
- Открытый стокВыход только с транзистором к земле, единицу даёт подтяжка
- SOT-563Корпус 1,5–1,7 × 1,1–1,3 мм, высота до 0,6 мм, шаг 0,5 мм, площадки 0,3 × 0,67 мм
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины