Н. Ракович
Измерение и контроль температуры в сети MicroLAN
Измерение температуры распределённых объектов является типичной задачей, оптимальное решение которой может быть достигнуто путём применения низкоскоростных сетей с соответствующими датчиками. В Chip News №6, 2000, уже обосновывалась целесообразность проектирования соответствующих систем на базе однопроводной сети MicroLAN компании Dallas Semiconductor. Выпускаемая этой же компанией серия цифровых термометров и термостатов, изначально подготовленных к работе в однопроводной сети, позволяет с успехом решать разнообразные задачи измерения и управления температурой в удалённых друг от друга точках.
Базовая микросхема DS1820 является совместимым с сетью 9-разрядным цифровым термометром. Диапазон измеряемых температур составляет -55 ё +125°С с шагом 0,5°С. DS1820 состоит из ПЗУ с уникальным идентификационным номером, контроллера MicroLAN, температурного датчика и двух регистров для хранения верхнего и нижнего порогов температуры (рис. 1).
Рис. 1. Блок-схема цифрового термометра DS1820
Термометр не содержит внутреннего источника, а использует “паразитное” питание от однопроводной шины. Однако при измерении температуры и записи данных в ЭППЗУ ток потребления микросхемы превышает 1 мА, в то время как максимальный ток, который может обеспечить ведущий шины с помощью нагрузочного резистора 1,5…5 кОм, составляет 3,3…1 мА. Противоречие разрешается или подключением внешнего источника питания или питанием по сети, но с заменой нагрузочного резистора на низкоомный открытый ключ, который на время преобразования температуры и записи данных в ЭППЗУ подаёт на однопроводную шину напряжение питания +5 В. Микросхема имеет встроенный детектор используемого режима питания. Схема подключения DS1820 приведена на рис. 2.
Рис. 2. Питание DS1820 с использованием ключа на основе полевого транзистора
Применение внешнего источника питания ускоряет преобразование температуры, поскольку от ведущего шины не требуется ожидания в течение максимально возможного времени преобразования. В этом случае все приборы DS1820, расположенные на шине, могут выполнять преобразование температуры одновременно и во время обмена данными шины MicroLAN.
После завершения преобразования полученное значение сравнивается с величинами, хранящимися в регистрах TH и TL. Если измеренная температура выходит за установленные пределы, устанавливается сигнальный “флаг” (впрочем, его установка производится после каждого измерения). При установленном “флаге” DS1840 отвечает на команду “Поиск сигнала”. Это позволяет быстро идентифицировать точку с отклонениями температуры свыше допустимых пределов и сразу считать показания соответствующего термометра. Если команда “Поиск сигнала” не применяется, регистры TH и TL могут быть использованы как регистры общего назначения.
Цифровой термометр повышенной точности DS18S20 имеет параметры, аналогичные DS1820, и полностью программно совместим с ним. Основное отличие DS18S20 заключается в том, что в диапазоне измеряемых температур от -10 до +85°С точность измерения составляет ±0,5°С. Кроме этого, старший байт регистра температуры содержит бит знака (S), указывающий на положительную или отрицательную температуру.
Цифровой термометр с программируемым разрешением DS18B20 предназначен для измерения температуры с заданной пользователем точностью. Для этого в его состав введён регистр конфигурации, устанавливающий одно из разрешений: 0,5; 0,25; 0,125 или 0,0625°С (рис. 3).
Рис. 3. Блок-схема цифрового термометра с программируемым разрешением DS18B20
Регистр конфигурации входит в состав блокнотной памяти. В этом регистре содержится информация, по которой определяется разрешение температурного датчика. Организация регистра конфигурации представлена на рис. 4.
Рис. 4. Регистр конфигурации
Младшие биты (0-4) не используются при записи, а при чтении их содержимое всегда равно 1.
Бит ТМ является битом тестового режима и используется для установки микросхемы в рабочий или тестовый режим. Он устанавливается в “0” (рабочий режим) на заводе-изготовителе и не должен изменяться.
R0, R1 — биты разрешения термометра. Соотношение установок этих битов и разрешения термометра, а также зависимость времени преобразования от разрешения приведены в табл. 1.
Таблица 1
R1 |
R0 |
Разрешение термометра, бит |
Время преобразования, мс |
0 |
0 |
9 |
93,75 |
0 |
1 |
10 |
187,5 |
1 |
0 |
11 |
375 |
1 |
1 |
12 |
750 |
Экономичный цифровой термометр DS1822 является полным аналогом DS18B20, за исключением точности измерения температуры, которая составляет +2°С (±0,5°С для DS18B20). Некоторое снижение точности измерения значительно (почти в 4 раза) уменьшает стоимость этой микросхемы.
Программируемый цифровой термостат DS1821 предназначен для работы в системах терморегулирования на производстве, в бытовых при-борах, термометрах и т. п. Термостат формирует сигнал высокого уровня (“1”), если температура в зоне измерения превысит установленную пользователем. Сигнал остаётся в состоянии “1” до тех пор, пока температура не снизится до уровня нижнего порога, также устанавливаемого пользователем. Заданные значения верхнего и нижнего температурных порогов хранятся в энергонезависимой памяти.
Важной особенностью DS1821 является использование одного вывода как для работы в режиме термостата, так и для осуществления связи по однопроводной линии MicroLAN. С завода прибор поставляется в режиме работы в сети MicroLAN. В этом случае вывод DQ (рис. 5) сконфигурирован как порт однопроводной связи. Ведущий шины (микроконтроллер или персональный компьютер) записывает данные в регистры верхнего TH и нижнего TL температурных порогов, устанавливая этим температурный диапазон измерений прибора. В этом же режиме микроконтроллер может напрямую считать результат последнего измерения температуры.
Рис. 5. Программируемый термостат DS1821
После установки температурных порогов и проверки режима измерения температуры перевод DS1821 в состояние термостата выполняется записью соответствующего бита в регистр состояния. В режиме термостата DQ работает как управляющий вывод с открытым стоком и программируемым гистерезисом. Преобразование температуры начинается сразу после подачи питания на вывод Vdd и выполняется непрерывно. Как следствие, коррекция сигнала на выходе микросхемы выполняется сразу же по окончании преобразования температуры (примерно каждую секунду). Значение гистерезиса определяется как разность между температурными порогами TH и TL и может быть практически любым.
Установить связь между микросхемой и ведущим шины, когда DS1821 находится в режиме термостата (например, для изменения температурных порогов), можно следующим образом: отключив питание Vdd и удерживая высокий уровень на выводе DQ, необходимо подать 16 тактовых импульсов на DQ. В результате прибор будет установлен в режим связи по однопроводной линии. При этом станут доступны регистры TH и TL, регистр измеренной температуры и регистр состояния.
С помощью регистра состояния можно определять состояние преобразования температуры, устанавливать полярность выходного сигнала и состояние питания прибора. Организация регистра состояния приведена на рис. 6.
Рис. 6. Регистр состояния DS1821
DONE — бит состояния преобразования, 1 — преобразование завершено, 0 — преобразование выполняется.
NVB — флаг занятости энергонезависимой памяти, 1 — выполняется запись в ячейку памяти, 0 — память не занята.
THF — флаг верхнего температурного порога. Бит устанавливается в “1” при превышении измеряемой температурой верхнего температурного порога TH. Установка бита в “0” осуществляется программным путём, что позволяет определять факт превышения температурой верхнего порога.
TLF — флаг нижнего температурного порога. Бит устанавливается в “1” при превышении измеряемой температурой нижнего температурного порога TL. Установка бита в “0” осуществляется программным путём (определение снижения температуры ниже TL).
T/R — бит режима питания. Установка “1” соответствует питанию в режиме термостата, “0” — режим связи по однопроводной линии.
POL — бит полярности выходного сигнала. “1” соответствует высокому уровню активного сигнала, “0” — низкому.
1SHOT — бит режима однократного измерения температуры. Если он установлен в “1”, прибор выполняет одно преобразование температуры, ес-ли равен “0”, преобразование выполняется постоянно. Необходимо отметить, что этот режим возможен только при работе прибора в режиме связи по однопроводной линии.
Контактный термометр DS1920 представляет собой термометр в корпусе MicroСAN. Микросхема обеспечивает измерение температуры с разрешающей способностью 0,5°С и разрядностью 9 бит. Диапазон измеряемых температур составляет -5…+100°С с шагом 0,5°С и временем преобразования 0,2 с. DS1920 не имеет встроенного источника питания и использует только режим “паразитного” питания, вследствие чего во время преобразования температуры или при записи данных во внутреннее ЭППЗУ требуется сравнительно мощный внешний источник питания. Для этого на время выполнения этих операций необходимо подключение активной нагрузки на шину MicroLAN (рис. 2).
Чтение и запись данных в микросхему осуществляется через блокнотную память объёмом 8 байт с последовательным доступом. Поскольку режим произвольного доступа к блокнотной памяти отсутствует, то чтение этой памяти начинается с данных последнего измерения температуры, затем читаются регистры верхнего и нижнего температурных порогов и последними читаются два регистра, которые используются для интерполяции температурных отсчётов. Для проверки полученных данных после чтения последнего байта блокнотной памяти передаётся 8-бит контрольная сумма. Блок-схема DS1920 полностью соответствует блок-схеме прибора 1820 (рис. 1), за исключением вывода питания и детектора режима питания.
Термометр/часы DS1921L-F5Х представляет собой идеальное устройство для контроля температуры объектов, например, скоропортящихся продуктов или химикатов, критичных к температуре, с возможностью записи измеренных значений в защищённую область памяти. Измерение температуры и запись её в память производится с частотой, заданной пользователем. Запись в память осуществляется как в виде непосредственного значения с инкрементом адреса памяти, так и в виде гистограммы. Микросхема допускает хранение до 2048 значений температуры, записанных через равные интервалы от 1 до 255 минут. Гистограмма создаёт 63 приёмника данных для получения разрешения 2°С. Каждый приёмник реализован в виде 16-разрядного счётчика, содержимое которого наращивается в случае, когда значение температуры попадает в диапазон данного приёмника. Приёмник 1 соответствует диапазону от -40 до -38,5°С, приёмник 2 охватывает диапазон от -38 до -36,5°С и так далее. Последний 63-й приёмник фиксирует температуры свыше 84°С. Поскольку каждый приёмник — счётчик на 2 байта, то он может наращиваться 65535 раз. Если число значений температуры, попадающей в данный диапазон, превышает это число, содержимое приёмника не изменяется. Следует помнить, что даже при измерении температуры каждую минуту и попадании всех значений в один приёмник, его переполнение произойдёт через 45 дней.
Если температура выходит за пределы диапазона, установленного пользователем, то прибор фиксирует время, когда это произошло, продолжительность этого события, а также позволяет различить, какой порог был преодолён. В общей сложности, могут фиксироваться до 24 таких событий, по 12 для каждого из температурных порогов. Дополнительное ОЗУ, независимое от памяти для записи температуры, позволяет хранить информацию, относящуюся к контролируемому объекту. В ОЗУ прибора может также храниться информация о дате изготовления, фирме-изготовителе и т. п. Уникальный регистрационный номер и несбрасываемый счётчик позволяют определить попытки несанкционированного доступа к микросхеме.
Структура DS1921 представлена на рис. 7. Регистры хронометрирования и управления защищены от записи при программировании.
Рис. 7. Блок-схема DS1921
Помимо температурного датчика и памяти различного назначения, микросхема имеет встроенные часы/календарь реального времени. Часы могут работать в 12- или 24-часовом режимах, которые определяются битом 6 регистра часов (адрес 202h) (“1” — 12-часовой режим). Бит 5 устанавливает индикацию АМ/РМ при 12-часовом режиме (“1” соответствует РМ). Для учёта дня недели в состав DS1921 входит счётчик, содержимое которого изменяется от 1 до 7, причём “1” соответствует воскресенью (стандарт США) или понедельнику (европейский стандарт). В календаре предусмотрена коррекция високосных лет вплоть до 2100 года.
В заключение следует отметить, что специализированные микросхемы измерения температуры в сети MicroLAN значительно расширяют спектр её применений, давая разработчикам всё необходимое для построения современных приложений. Сети измерения температуры на основе продукции Dallas Semiconductor практически реализованы в автомобильной промышленности, производстве и хранении продуктов питания, в системах отопления и управления микроклиматом.
Литература
- Ракович Н.Н. Основы построения сетей MicroLAN // Chip News. — 2000. — № 6. — С. 14–17.
Тел.: (10 37517) 249 8273
факс: 248 8812
E-mail: chip@by.rainbow.com
|