Научная статья на тему 'Тепло или холодно? Цифровые термометры Dallas Semiconductor'

Тепло или холодно? Цифровые термометры Dallas Semiconductor Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
198
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Ракович Николай

Из всех видов измерений в повседневной жизни мы чаще всего сталкиваемся с измерением температуры: при плохом самочувствии хватаемся за градусник, перед выходом на улицу смотрим на термометр заокном и т.д.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Тепло или холодно? Цифровые термометры Dallas Semiconductor»

Компоненты и технологии, № 8'2002

Тепло или холодно?

(Цифровые термометры Dallas Semiconductor)

Из всех видов измерений в повседневной жизни мы чаще всего сталкиваемся с измерением температуры: при плохом самочувствии хватаемся за градусник, перед выходом на улицу смотрим на термометр за окном и т. д. Но это лишь верхушка айсберга: в медицине, промышленности, транспорте, сельском хозяйстве не обойтись без измерения температуры. Эта задача решается при помощи электронных приборов, среди которых важное место занимают цифровые термометры.

Николай Ракович

[email protected]

INTERNAL VDD

Специалистам давно и хорошо известны цифровые термометры Dallas Semiconductor в корпусах ТО92, DIP и SOIC (такие, как DS1620, DS1820, DS1821 и другие). В последнее время компания расширила линейку приборов в стальном корпусе MicroCAN, которые относятся к семейству DS192x и которые мы рассмотрим в этой статье. Причин тому несколько: это и уникальный регистрационный номер каждого устройства, и стальной корпус, и возможность работать в однопроводной сети MicroLAN (подробное описание см. http://www.rtcs.ru/ или Chip News, № 5-10'2000).

Контактный термометр DS1920. DS1920 представляет собой цифровой термометр (блок-схема представлена на рис. 1) в корпусе MkroCAN, который обеспечивает измерение температуры в диапазоне от -55 до +100 °С с шагом 0,5 °С и временем преобразования 0,2 с. Разрешающая способность 0,5 °С и разрядность 9 бит обеспечивают высокую точность измерения, а доступ к внутренним счетчикам дает возможность увеличить разрешение с использованием интерполяции. Особо следует выделить наличие специального набора команд, который позволяет проводить одновременный опрос нескольких приборов DS1920, подключенных к одной шине. Встроенный контроллер MicroLAN обеспечивает передачу команд управления и данных по однопроводной линии. Так как DS1920 не имеет встроенного источника питания и использует только режим «паразитного» питания, то во время преобразования

64-BIT ROM AND 1-WIRE PORT

MEMORYAND CONTROL LOGIC

< ►

SCRATCHPAD

L

і У k г

8-BITCRC

GENERATOR

TEMPERATURE SENSOR

HIGH TEMPERATURE TRIGGER, TH

LOW TEMPERATURE TRIGGER, TL

Рис. 1. Блок-схема термометра DS1920

температуры или при записи данных во внутреннее ЭППЗУ требуется внешний источник питания.

В состав 081920 входят 64-разрядное ПЗУ с уникальным идентификационным номером, датчик температуры и два энергонезависимых регистра для хранения верхнего и нижнего порогов температуры. Считывание и запись данных осуществляются через блокнотную память объемом 8 байт с последовательным доступом.

081920 не имеет внутреннего источника питания, а использует «паразитное» питание от однопроводной шины. Однако при измерении температуры и записи данных в ЭППЗУ ток потребления микросхемы превышает 1 мА, в то время как максимальный ток, который может обеспечить нагрузочный резистор, составляет 3,3...1 мА, что достаточно для питания только одного прибора. Проблема включения нескольких термометров решается или подключением внешнего источника питания, или питанием по сети, но с заменой нагрузочного резистора на низкоомный открытый ключ, который на время преобразования температуры и записи данных в ЭППЗУ подает на однопроводную шину напряжение питания +5 В. ИС имеет встроенный детектор используемого режима питания. Схема подключения приведена на рис. 2.

Применение внешнего источника питания ускоряет процесс преобразования температуры, так как от ведущего устройства не требуется ожидание в течение максимально возможного времени преобра-

Компоненты и технологии, № 8'2002

зования. В этом случае все 081920, находящиеся на шине МкгоЬАЫ, могут одновременно выполнять преобразование температуры.

После завершения преобразования полученное значение сравнивается с величинами, хранящимися в регистрах ТН и ТЬ. Если измеренная температура выходит за установленные пределы, устанавливается сигнальный флаг (установка производится после каждого измерения). При установленном флаге 081920 отвечает на команду «Поиск сигнала». Это позволяет в случае объединения множества приборов в сеть быстро идентифицировать точку с отклонениями температуры от допустимых пределов и сразу считать показания соответствующего термометра. Если команда «Поиск сигнала» не применяется, то регистры ТН и ТЬ могут использоваться как регистры общего назначения.

Измерение температуры 081920 выполняется с помощью встроенной схемы измерения (рис. 3). Суть метода измерения в следующем: подсчитывается число тактовых импульсов генератора с низким температурным коэффициентом (ГНТК), выдаваемых за период измерения, который определяется генератором с высоким температурным коэффициентом (ГВТК). Предварительная запись в счетчик соответствует -55 °С. Если содержимое счетчика достигает нуля до того, как закончится период измерения, то регистр температуры, в который также предварительно записано значение, соответствующее -55 °С, инкрементируется, то есть измеренная температура выше -55°С. Затем в счетчик заносится новое значение из сумматора-корректора и начинается новый отсчет. Если счетчик обнуляется до того, как закончится период измерения, то процесс повторяется.

Сумматор-корректор компенсирует нелинейность генераторов от температуры, позволяя, таким образом, проводить измерения с высоким разрешением (0,5 °С). Отметим, что все вычисления выполняются непосред-

Таблица 1

Температура, °С Выход (двоичный код) Выход (шестнадцатеричный код)

100 GGGGGGGG11GG1GGG GGCBH

25 GGGGGGGGGG11GG1G GG32H

G.5 GGGGGGGG GGGGGGG1 GGG1H

G GGGGGGGG GGGGGGGG GGGGH

-0.5 1,111,111,111,111,110 FFFFH

-25 1,111,111,111,001,110 FFCEH

-1GG 1,111,111,110,010,010 FF92H

Таблица 2. Карта памяти термометра DS1920

Блокнотная память Байт ЭППЗУ

Измеренная температура (старший байт) G

Измеренная температура (младший байт) 1

Копия TH 2 Верхний TH температурный порог

Копия TL 3 Нижний TL температурный порог

Резерв 4

Резерв 5

Счетчик COUNT REMAIN б

Счетчик COUNT PER °С 7

Байт контрольной суммы B

SLOPE ACCUMULATOR

LOW TEMPERATURE COEFFICIENT OSCILLATOR

ІЛЛ

_гш_

SET/CLEAR

LSB

TEMPERATURE REGISTER

HIGH TEMPERATURE COEFFICIENT OSCILLATOR

Рис. 3. Схема измерения температуры DS1920

ственно 081920. В таблице 1 приведены точные соотношения между измеренной температурой и выходными данными.

Как уже отмечалось, в 081920 реализована возможность измерения температуры с более высоким разрешением. Для этого считывается значение температуры из регистра температуры и из него отбрасывается младший бит 0,5 °С. Полученное значение обозначается ТЕМР_ИЕА0. Затем считывается оставшееся в счетчике значение, которое остается после окончания периода измерения и обозначается (СОиЫТ_ИЕМА1Ы). Последней величиной, необходимой для расчета, является число отсчетов на градус при данной температуре (СОИЫТ_РЕИ_С). Реальное значение температуры определяется по формуле:

Т = ТЕМР_ИЕА0 - 0,25 + + (СОШТ_РЕК_С -- СОШТ_КЕМАШ)/СОШТ_РЕК_С

Память 081920 является важнейшей составляющей, поэтому расскажем о ней в двух словах. Сюда входит блокнотная память и два байта ЭППЗУ (регистры верхнего ТН и нижнего ТЬ температурных порогов, таблица 2). Блокнотная память организована как 8 байт памяти с последовательным доступом. Два первых байта — измеренная температура, третий и четвертый — временные копии ТН и ТЬ, обновляемые при каждом включении. Два следующих байта не используются. Седьмой и восьмой байты являются регистрами счетчика и используются для получения значения температуры с более высоким разрешением. Последний

байт — байт контрольной суммы (проверка предыдущих восьми байтов). Через блокнотную память выполняется чтение и запись данных в микросхему. Поскольку режим произвольного доступа к блокнотной памяти отсутствует, то чтение этой памяти начинается с данных последнего измерения температуры, затем читаются регистры верхнего и нижнего температурных порогов и последними читаются два регистра, которые используются для интерполяции температурных отсчетов. Для проверки полученных данных после чтения последнего байта блокнотной памяти передается 8-разрядная контрольная сумма.

Мы уже говорили, что одной из особенностей термометров семейства DS192x является возможность работы в однопроводной сети Micro LAN на шине 1-Wire. Напомню, что однопроводная шина 1-Wire представляет собой систему с одним ведущим и многочисленными ведомыми. В качестве ведущего может использоваться любой промышленный микроконтроллер, например, 8051 с тактовой частотой 1,8 МГц, или персональный компьютер с универсальным асинхронным портом UART и скоростью 115,2 кбит/с. Micro LAN имеет стандартные КМОП/ТТЛ логические уровни. Напряжение ниже 0,8 В соответствует логическому нулю («0»), а напряжение выше 2,2 В является логической единицей («1»). Диапазон рабочих напряжений составляет 2,8-6 В. Ведущий и ведомые сконфигурированы как передатчики, что позволяет передавать данные в любом направлении, но в любой конкретный момент — только в одном. Иными словами, передача данных является полудуплексной и асинхронной.

Компоненты и технологии, № 8'2002

Рис. 5. Блок-схема DS1921L-F5X

Подключение к шине 1-Wire допустимо для приборов с тремя состояниями или с открытым стоком. В DS1920 реализован выход с открытым стоком (эквивалентная схема на рис. 4). Протокол обмена между термометром и шиной состоит из четырех шагов:

• инициализация;

• команды работы с ПЗУ;

• команды управления и работы с памятью;

• передача данных.

Любая передача на однопроводной шине начинается с инициализации, которая состоит из импульса сброса (формируется ведущим), после которого все ведомые генерируют импульс присутствия.

После определения импульса присутствия ведущий шины выполняет одну из команд работы с ПЗУ (каждая по 8 бит).

Чтение ПЗУ (33h) позволяет ведущему считать 8-разрядный групповой код, 48-разрядный уникальный серийный номер и байт контрольной суммы. Эта команда может использоваться, если к шине подключен только один термометр DS1920.

Совпадение ПЗУ (55h) применяется для адресации определенного прибора среди нескольких, подключенных на шину.

Пропуск ПЗУ (CCh) предназначен для одновременной связи со всеми приборами на шине. В нашем случае эта команда используется для преобразования температуры всеми термометрами DS1920 одновременно.

Поиск ПЗУ (F0h) обеспечивает работу в условиях постоянно изменяющейся структуры сети. По этой команде можно получить серийный номер одного прибора на шине с одновременной его адресацией.

Условный поиск ПЗУ (ECh). Термометр отвечает на эту команду только в том случае, если в регистры TH и TL занесены значения верхнего и нижнего температурных порогов, а последнее измерение выходит за эти пределы.

Команды управления и работы с памятью также имеют разрядность 8 бит.

Запись в блокнотную память термометра 081920 выполняется начиная с адреса 2, то есть два записанных байта будут храниться в памяти по адресу 2 и 3. Запись может быть прервана в любой момент импульсом сброса. Однако, если импульс сброса появился до того, как оба байта были полностью переданы, то их содержимое будет не определено.

Чтение блокнотной памяти (ВЕ^ позволяет прочитать все содержимое этой памяти.

Копирование блокнотной памяти (48^. По данной команде содержимое блокнотной памяти копируется в ЭППЗУ 081920, что сохраняет значение измеренной температуры в энергонезависимой памяти.

Преобразование температуры (44^. Эта команда запускает процесс преобразования температуры, при этом никакие данные не передаются.

Повтор (В8^ переписывает значение измеренной температуры из ЭППЗУ в блокнотную память. Эта команда выполняется автоматически при подключении к 081920 источника питания.

На передаче данных мы останавливаться не будем, поскольку это уже достаточно хорошо описано.

Термометр 081920 зарегистрирован в Государственном реестре средств измерения под номером 23169-02 и допущен к применению в России. Это должно повысить интерес к прибору со стороны разработчиков ответственных приложений. Из наиболее перспективных на сегодняшний день идей стоит упомянуть применение 081920 в системах температурного мониторинга зданий (работа выполняется в Донецком отделении Академии наук Украины), а также для построения теплосчетчиков (работа выполняется омскими специалистами).

Термометр-часы DS1921L-F5Х представляет практически идеальное устройство для контроля температуры объектов, например, скоропортящихся продуктов или химикатов, критичных к температуре, с возможностью записи измеренных значений в защищенную область памяти. Измерение температуры и запись ее в память производится с интервалом времени, задаваемым пользователем. Запись в память осуществляется как в виде непосредственного значения с инкрементом адреса памяти, так и в виде гистограммы. Термометр-часы 081921Ь-Б5Х допускает хранение до 2048 значений температуры, записанных через равные интервалы от 1 до 255 минут. Гистограмма создает 63 приемника данных для получения разрешения 2 °С. Каждый приемник реализован в виде 16-разрядного счетчика, содержимое которого наращивается в случае, когда значение температуры попадает в диапазон данного приемника. Приемник 1 соответствует диапазону от -40 до -38,5 °С, приемник 2 охватывает диапазон от -38 до -36,5 °С и так далее. Последний 63-й приемник фиксирует температуры свыше 84 °С. Поскольку каждый приемник — счетчик на 2 байта, то он может наращиваться 65535 раз. Если число значений температуры, попадающей в данный диапазон, превышает это число, содержимое приемника не изменяется. Следует помнить, что даже при измерении температуры каждую минуту и попадании всех значений в один приемник его переполнение произойдет только через 45 дней.

Если температура выходит за пределы диапазона, установленного пользователем, то прибор фиксирует время, когда это произошло, продолжительность этого события, а также позволяет различить, какой порог был преодолен. В общей сложности, могут фиксироваться до 24 таких событий, по 12 для каждого из температурных порогов. Дополнительное ОЗУ, независимое от памяти для записи температуры, позволяет хранить информацию, относящуюся к контролируемому объекту. В ОЗУ прибора может также храниться информация о дате изготовления, фирме-изготовителе и т. п. Уникальный регистрационный номер и несбрасываемый счетчик позволяют определить попытки несанкционированного доступа к микросхеме.

Блок-схема 081921Ь-Б5Х представлена на рис. 5. Регистры часов и управления защищены от записи при программировании.

Помимо температурного датчика и памяти различного назначения (карта памяти на рис. 6), микросхема имеет встроенные часы-календарь реального времени. Часы могут работать в 12- или 24-часовом режимах, которые определяются битом 6 регистра часов по адресу 202Ь («1» — 12-часовой режим). Бит 5 устанавливает индикацию АМ/РМ при 12-часовом режиме («1» соответствует РМ). Для учета дня недели в состав 081921Ь-Б5Х входит счетчик, содержимое которого изменяется от 1 до 7, причем «1» соответствует воскресенью (стандарт США) или понедельнику (европейский стандарт). В календаре предусмотрена коррекция високосных лет вплоть до 2100 года (для оптимистов и жизнелюбов).

Компоненты и технологии, № 8'2002

32-байтный блокнот для промежуточного хранения данных

АДРЕС

OOOOh... 01 FFh ОЗУ общего назначения (16 страниц) Страницы 0...15

О о го го -*■ О 5Э 32-байтная страница регистров Страница 16

0220h... 027Fh Временные метки и длительность тревоги Страницы 17...19

0280h... 07FFh (Зарезервировано для будущего использования) Страницы 20...63

0800h... 087Fh Память записи гистограммы Страницы 64...67

О о "Л 00 ~п 2 (Зарезервировано для будущего использования) Страницы 68...127

1000h... 17FFh Память записи показаний (64 страницы) Страницы 128...191

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1800h... 1FFFh (Зарезервировано для будущего использования) Страницы 192...255

Рис. 6. Карта памяти DS1921L-F5X

Преобразование температуры. Измерение температуры с помощью DS1921L выполняется с точностью 0,5 °С, причем значение температуры представляется как 8-разрядное (байт) беззнаковое двоичное число, которое охватывает весь диапазон 128 °С (в теории). Реально диапазон ограничен 00000000b (00h)+ +11111010b (FAh), а действительные значения температур лежат от 01h до F9h. Если при преобразовании температуры обнаруживается, что она выходит за пределы допустимого диапазона, это записывается как 00h (если температура слишком низкая) или FFh (если температура слишком высокая). Так как результаты, выходящие за допустимый диапазон, накапливаются в буферах гистограммы 0 и 62, то значения в этих буферах ограничены. Как следствие, номинальный температурный диапазон DS1921H и DS1921Z начинается с кода 04h и заканчивается кодом F7h, что соответствует буферам гистограммы 1___61.

Значение температуры вычисляется на основе значения T[7_0] следующим образом:

Э(°С) = T[7..0] / 2 - 40,0

Это выражение справедливо как для отсчетов температуры, сохраненных в памяти, так и для регистра прямого считывания температуры (адрес 211h).

Пределы верхнего и нижнего температурных порогов рассчитываются по формуле:

T[7..0] = 2x-9(°C) + 80,0

Например, температура 23 °С преобразуется в десятичное число 126 или шестнадцатеричное 7Eh. Это соответствует двоичному значению 01111110b, которое должно быть записано в регистр температурной тревоги (адрес 020Bh или 020Ch соответственно).

К сетевым командам для DS1920 в DS1921L добавлены две новые для работы в режиме высокого быстродействия (Overdrive mode):

• пропуск ПЗУ в режиме высокого быстродействия (3Ch);

• совпадение ПЗУ в режиме высокого быстродействия (69h).

Эти команды аналогичны командам для 081920, только выполняются быстрее и до появления импульса сброса длительностью не менее 480 мкс. Временные параметры для обычного режима и режима высокого быстродействия приведены в таблице 3.

Блок команд для работы с памятью тоже пополнен новыми командами.

Чтение памяти с байтом контрольной суммы применяется в тех случаях, когда данные не могут быть объединены в пакеты.

Очистка памяти — для очистки некоторых сегментов памяти.

Наконец, рассмотрим термометры-часы высокого разрешения DS1921H и DS1921Z. Оба термометра имеют разрешение 0,125 °С и могут записать температурную гистограмму с разрешением 0,5 °С. Еще одно отличие — температурный диапазон, который для Б81921Н составляет +15 ... +46 °С, адляБ8192^ — -5 ... +26 °С.

Использование формата ТМЕХ позволяет хранить в энергонезависимой памяти различную информацию (торговая декларация, дата выпуска, другие данные в виде текста или кодированных файлов).

Измерение и преобразование температуры Э81921Н и Б8192^ аналогично Б81921Ь, но с разрешением 1/8 градуса Цельсия, перекрытием диапазона 32 °С (возможны значе-

Таблица 3

ния от 00Ь до РБЬ) и действительными отсчетами температуры от 01Ь до БЕИ.

Поскольку Б81921Н и Б8192^ имеют разные начальные значения измерения температуры, то интерпретация кода температуры зависит от типа устройства. Номинальный температурный диапазон обоих приборов начинается с 04И и заканчивается БВЬ, что соответствует буферам гистограммы 1.62.

Температура вычисляется на основе значения Т[7...0] по формуле:

Э(°С) = Т[7..0] / 8 + 14,500 (для 081921Н)

Э(°С) = Т[7..0] / 8 - 5,500 (для Б819212)

Для установки верхнего и нижнего температурных порогов необходимо воспользоваться формулой:

Т[7..0] = 8х-Э(°С) - 116 (для Б81921Н) Т[7..0] = 8х-Э(°С) + 44 (для Б819212)

Значение 23 °С (пример для Б81921Ь) преобразуется в 68 (десятичное) или 44Ь дляБ81921Н, и 228 (десятичное) или Е4Ь для Б8192^. Это соответствует двоичным значениям 01000100Б и 11100100Б, которые тоже должны быть записаны в регистры температурной тревоги (адрес 020ВИ или 020СЬ соответственно).

Таким образом, 081921НМ являются практически идеальными устройствами для контроля температуры транспортируемых объектов, будь то продукты питания, медицинские препараты или биологические органы. Это своеобразный электронный самописец в одном корпусе, не требующий ничего для своей работы. Такие приборы позволяют создать эффективную систему контроля качества перевозки скоропортящихся продуктов, чем уже не преминули воспользоваться в некоторых европейских странах. Диапазон измерений прибора Б81921Н делает его привлекательным в первую очередь для контроля температуры тела человека или животных, а также для контроля процессов, критичных к температуре: консервирование, покраска, нанесение порошковых покрытий и т. п. Следует отме-

Стандартные значения, мкс Значения для DS1921L, мкс

Параметр Стандартная Повышенное Стандартная Повышенное

скорость быстродействие скорость быстродействие

мин. макс. мин. макс. мин. макс. мин. макс.

Длительность временного интервала б1 - 7 - б5 - 8 -

Длительность низкого уровня сброса 48о - 48 8о 54о б4о 48 8о

Длительность высокого импульса присутствия 15 бо 2 б 15 бо 1.1 б

Длительность низкого импульса присутствия бо 24о 8 24 бо 27о 7.5 24

Длительность низкого уровня при записи 0 бо 12о б 1б бо 12о б 15

Длительность низкого уровня при чтении 0 15 бо 2 б 15 бо 2 б

Выделенные цветом значения не соответствуют опубликованному стандарту на iButton

Компоненты и технологии, № 8'2002

Таблица 4

Стандартные значения, мкс Значения для DS1921H/Z, мкс

Параметр Стандартная скорость Повышенное быстродействие Стандартная скорость Повышенное быстродействие

мин. макс. мин. макс. мин. макс. мин. макс.

Длительность временного интервала 61 - 7 - 76 - 10 -

Длительность низкого уровня сброса 480 - 48 80 480 640 62 80

Длительность высокого импульса присутствия 15 60 2 6 15 60 1.4 7.4

Длительность низкого импульса присутствия 60 240 8 24 60 240 7.5 34

Длительность низкого уровня при записи 0 60 120 6 16 71 120 8 15.2

Длительность низкого уровня при чтении 0 15 60 2 6 15 71 2 8

Выделенные цветом значения не соответствуют опубликованному стандарту на 1ВиНоп.

тить, что возможность применения описанных приборов в медицинских и пищевых приложениях подтверждена заключением государственной санитарно-эпидемиологической службы РФ. Кроме того, Э81921Н может использоваться для контроля температуры в любых помещениях, например, в помещениях с компьютерами или другим оборудованием. Высокая разрешающая способность и режим высокого быстродействия (временные параметры для обычного режима и режима высокого быстродействия приведены в таблице 4) позволяет широко применять Б81921Н и 0819212 для научных исследований.

i Надоели баннеры? Вы всегда можете отключить рекламу.