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

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.

Выводы

ВыводОбозначениеНазначение
1SCLтактовый сигнал I²C, вход
2GNDобщий
3ALERTтревога по температуре, открытый сток, нужна подтяжка
4ADD0выбор адреса: GND, V+, SDA или SCL
5V+питание 1,4–3,6 В
6SDAданные 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 и ALERT0—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 °C7FFh0800h
+100 °C640h0640h
+25 °C190h0190h
+0,25 °C004h0004h
0 °C000h0000h
−0,25 °CFFCh1FFCh
−25 °CE70h1E70h
−55 °CC90h1C90h

В обычном режиме код 7FFh соответствует 127,9375 °C, и таблица 6-2 даёт его же для 128 °C: 12-битный формат выше +127,9375 °C не показывает. Для измерений до +150 °C включают расширенный режим (бит EM), он же меняет формат порогов THIGH и TLOW. Обычный режим нужен для совместимости с регистрами TMP75 (разд. 6.4.2).

Регистры и режимы

Регистр-указатель выбирает один из четырёх регистров двумя младшими битами (табл. 6-7); остальные биты при записи — нули.

УказательРегистрПосле включения
00hTemperature, только чтение0 °C до первого преобразования
01hConfiguration60A0h (наш пересчёт табл. 6-10 и 6-11)
02hTLOW75 °C
03hTHIGH80 °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

ПараметрTMP102TMP117MCP9808
Точность (макс.)±2 °C при −25…85 °C±0,1 °C при −20…50 °C±0,5 °C при −20…100 °C
Шаг0,0625 °C0,0078125 °C0,0625 °C
Питание1,4–3,6 В1,7–5,5 В2,7–5,5 В
Ток3,2 мкА при 1 Гц3,5 мкА при 1 Гц200 мкА тип.
Адреса I²C0x48–0x4B0x48–0x4B0x18–0x1F
КорпусSOT-563WSON-6 2 × 2, DSBGA-6MSOP-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).

Источники

  1. 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)
  2. 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 мм
  3. Microchip. MCP9808 ±0.5°C Maximum Accuracy Digital Temperature Sensor (DS20005095B) — для сравнения: ±0,5 °C макс. при −20…100 °C, 2,7–5,5 В, 200 мкА тип., адреса 0x18–0x1F

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