Научная статья на тему 'Цифровые датчики температуры от Dallas semicoductor'

Цифровые датчики температуры от Dallas semicoductor Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шитиков Анатолий

До последнего времени неоспоримое преимущество по применению, конечно, принадлежало цифровому термометру DS 1820. Работая с простейшим интерфейсом — однопроводной шиной — в широком диапазоне температур от –55 °С до +125 °С, с хорошей помехоустойчивостью, эта микросхема позволяла создавать многоточечную систему температурного контроля.

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

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

Окончание. Начало см. в № 2’2001

Цифровые датчики температуры от Dallas Semiconductor

Анатолий Шитиков

[email protected]

БЛОК-СХЕМА

DS18B20

Микросхема DS 18B20

До последнего времени неоспоримое преимущество по применению, конечно, принадлежало цифровому термометру DS 1820. Работая с простейшим интерфейсом — однопроводной шиной — в широком диапазоне температур от -55 °С до +125 °С, с хорошей помехоустойчивостью, эта микросхема позволяла создавать многоточечную систему температурного контроля. Однако этому прибору был присущ один существенный недостаток — при обработке информации внутри микросхемы мог произойти сбой и выдача ложной информации. Поэтому фирма Dallas Semiconductor прекратила выпуск этой микросхемы с декабря 2000 года и выпустила на замену с устраненной ошибкой преобразования: DS 18S20 — прямая замена (в корпусе SOIC) и более совершенные — DS 18B20.

Цифровой термометр DS 18B20 позволяет считывать температуру (прибора) с разрешением от 9 до 12 разрядов (перестраиваемый).

Информация передается из/в DS 18B20 по однопроводному интерфейсу. Питание для чтения, записи и выполнения преобразования может быть получено или по шине данных, или от отдельного внешнего 3.. .5, 5 В источника питания.

Поскольку каждый DS 18B20 содержит уникальный серийный номер, записанный лазером при производстве, многочисленные DS 18B20 могут быть подключены на одну шину. Это позволяет разместить датчики в различных местах и собирать ведущему шины информацию по простому 2-проводно-му кабелю (прямой и обратный провод).

На блок-схеме (рис. 1) показаны основные узлы DS 18B20.

DQ

г"

Внутреннее Vdd

V

Датчик источника питания

64-

разрядный

ПЗУ

1-

проводной

порт

Память и логика управления

Блокнотная память {сверхоперативная память)

Температурный датчик

Триггер высокой температуры ТН

Триггер низкой температуры ТН

8-разрядный Регистр

CRC- конфигурации

генератор

Рис. 1

Это:

1. 64-разрядное, записанное лазером ПЗУ.

2. Температурный датчик.

3. Энергозависимые температурные сигнальные триггеры «Твыс.» (ТЬ) и «Тниз.» (Т1).

4. Регистр конфигурации.

Связь с Б8 18В20 осуществляется через однопро-водный порт. Пока протокол функции ПЗУ не будет установлен, память и функции управления прибором будут недоступны. Ведущий шины сначала должен обеспечить одну из пяти команд функции ПЗУ:

1. Чтение ПЗУ.

2. Совпадение ПЗУ.

3. Поиск ПЗУ.

4. Пропуск ПЗУ.

5. Сигнальный (аварийный) поиск.

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

На рис. 1 показана схема, которая может использовать «паразитное» питание, то есть всякий раз, когда на выводе DQ высокий уровень, схема «похищает» энергию для подзарядки внутреннего источника (конденсатора) питания. Преимущество «паразитного» питания заключается в том, что:

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

2. ПЗУ может быть считано при отсутствии нормального питания.

В момент температурного преобразования рабочий ток DS 18В20 достигает 1,5 мА, и по шине DQ ток может быть недостаточным. Эта проблема обостряется, если несколько приборов делают преобразование одновременно. В этом случае в течение активного цикла необходимо обеспечить прочное подтягивание шины DQ к источнику питания с помощью активного ключа, например MOSFET-транзистора, управляемого ведущим шины, как показано на рис. 2, а. Другой метод подачи тока — с помощью внешнего источника питания, подключенного к выводу со всеми плюсами и минусами такого включения (рис. 2, б).

Использование «паразитного» питания не рекомендуется при температуре свыше +100 °С. В этом случае внешний источник должен подключаться непосредственно к ножке У(Ы микросхемы.

Рис. 2, а

Если ведущий шины не знает, какой прибор получает «паразитное» питание, а какой снабжается от внешнего, он может определить это следующим образом. Сначала ведущий посылает команду «Пропуск ПЗУ», а затем, выдает команду «Чтение источника питания». DS 18В20 пошлет назад по однопроводной шине «0», если у него «паразитное» питание, или «1», если запитка прибора происходит через ножку У(Ы.

Измерение температуры

Функциональным ядром DS 18В20 является температурный датчик прямого преобразования в цифровой код. Это патентованная схема использует 2 генератора частоты с разными температурными коэффициентами, настроенными на одну температурную точку (обычно -55 °С). Разность между количеством выработанных одним и другим генераторами импульсов за единицу времени является исходным значением для определения соответствия цифрового кода и измеряемой температуры. Накопительный сумматор, входящий в функциональное ядро, позволяет скорректировать все нелинейности во всем диапазоне температур. Поэтому дополнительной подстройки или использования АЦП не требуется. Точность измерения прибора указана в их технических условиях. Разрешающая способность DS 18В20 с 12-разрядным считыванием выпускается заводом — по умолчанию. Пользователь может сконфигурировать разрешение в 9, 10, 11 или 12 разрядов. После выдачи команды «Преобразование Т» (44Ь) прибор выполняет температурное преобразование. Цифровые данные сохраняются в сверхоперативной (блокнотной) памяти на 16 разрядов. Старшие значащие разряды температурного регистра содержат знаковый ® бит. При S =1 — температура отрицательная и записывается в формате с дополнением до 2-х. Если DS18B20 сконфигурирован для более низкой разрешающей способности (ниже 12 разрядов), незначащие разряды будут содержать нули.

Аварийная сигнализация

После того как DS 18В20 выполнил температурное преобразование, значение температуры сравнивается со значением, хранящимся в триггерах Твыс. (ТЬ) и Тниз. (Т1). Эти регистры только 8-разрядные, и разряды с 9 по 12 для сравнения не используются. Если результат температурного измерения выше, чем Твыс, или ниже Тниз, внутри прибора устанавливается сигнальный флажок, который корректируется с каждым температурным измерением. Пока сигнальный флажок установлен, DS 18В20 ответит на аварийную команду поиска. Это позволяет соединять множество приборов, делающих одновременно температурные измерения, в параллель. Если температура выходит за установленные пределы, прибор(ы) будет идентифицирован и немедленно считан. При этом нет необходимости считывать не аварийные приборы.

64-разрядное, записываемое с помощью лазера ПЗУ

Каждый прибор DS 18В20 содержит ПЗУ с уникальным 64-разрядным кодом. Первые 8 разрядов — однопроводный групповой код (для DS 18В20 — 28 Ь). Далее следует 48-разрядный уникальный серийный номер. Последние 8 разрядов — контрольный избыточный циклический код (СЯС) первых 56 разрядов. Ведущий шины может вычислить значение СЯС по первым 56 разрядам ПЗУ и сравнить это со значением, хранящимся в DS 18В20. Совпадение вычисленного и имеющегося в ПЗУ СЯС безошибочно определяет правильность получения данных ПЗУ ведущим шины. Эквивалентная полиноминаль-ная функция контрольного избыточного циклического кода: СЯС = Х8+Х5+Х4+1.

По этой же функции DS 18В20 генерирует 8разрядное значение СЯС и выдает ее ведущему для подтверждения правильности переданных данных. Ведущий по значению, полученному от прибора, также вычисляет СЯС и сравнивает его с СЯС прибора (9 байт блокнотной памяти). Сравнение значений СЯС и решение о продолжении операции полностью

определяет ведущий шины. Более подробную информацию о далласовском однопроводном циклическом избыточном коде контроля можно найти в AN 27, названном Understanding and Using Cyclic Redun Checks with Dallas Semiconductor Touch Memory Products.

Память DS 18B20 организована, как показано в таб. 6.

Память состоит из сверхоперативного ОЗУ (блокнотная память) и энергонезависимого, электрически стираемого (Е2) ОЗУ. В последнем хранятся значения Th и Tl, а также регистр конфигурации. Блокнотная память помогает страховать целостность данных, которые передаются по однопроводной шине. Блокнот организован как восьмибайтовая память. Первые 2 байта содержат соответственно младшие и старшие значащие разряды измеренной температуры. 3 и 4 байты — энергонезависимые копии Твыс. и Тниз. и обновляются после каждого выключения питания. 5 байт — энергонезависимая копия регистра конфигурации, он обновляется с каждым сбросом питания. 6, 7 и 8 байты используются для внутренних вычислений и, таким образом, не могут быть считаны.

Требуется, чтобы при каждом обращении были последовательно записаны Твыс. и Тниз. и байт конфигурации. Иными словами, если должен быть записан любой из этих байтов, то должны быть записаны сначала все три байта, а потом выдаваться «Сброс». Девятый байт содержит CRC по всем восьми предыдущим байтам и считывается по команде «Чтение блокнота» (BE h).

Регистр конфигурации DS 18B20 содержит информацию, которая определяет разрешающую способность при преобразовании температуры в цифру. 5 младших разрядов не несут никакой информации и всегда считываются как «1». Последний, старший значащий разряд, также не несет информации, но считывается «0». Шестой — Ro и седьмой — R1, биты определяют разрешающую способность цифрового термометра и представлены в табл. 7.

Между разрешающей способностью и временем преобразования — прямая зависимость. По умолчанию установлено разрешение в 12 разрядов, то есть R0=1 и R1=1.

Таблица 6

Блокнот Байт EERAM

Младшие значащие разряды температуры 0

Старшие значащие разряды температуры 1

Байт одного пользователя / ТН 2 Байт одного пользователя / ТН

Байт второго пользователя / ^ 3 Байт второго пользователя / ^

Байт конфигурации 4 Байт конфигурации DS 18B20

Резервный 5

Резервный 6

Резервный 7

CRC 8

Таблица 7. Таблица конфигурации разрешающей способности

R1 R0 Разрешающая способность термометра Максимальное время преобразования

0 0 9 разрядов 93, 75 м/с (t преобр / 8)

0 1 10 разрядов 187, 5 м/с (t преобр / 4)

1 0 11 разрядов 375 м/с (t преобр / 2)

1 1 12 разрядов 750 м/с (t преобр / 4)

ВЕДУЩИМ: ИСПУЛЬС СБРОСА

DS18B20:

ИСПУЛЬС

ПРИСУТСТВИЯ

DS1ВВ20 'Г-йБАЙТ ГРУППОВОГО КОДА

DS18B20 СЕРИЙНЫЙ НОМЕР 6 БАЙТ

DS18B20CRC БАЙТ

Рис. 3

ВЕДУЩИИ: КОМАНДА ФУНКЦИИ ПЗУ

■О'-й РАЗРЯД

DS18B20 'О'-й РАЗРЯД

DS18B20 'О'-й РАЗРЯД

DSI8B20 'О'-й РАЗРЯД

Y

1-й РАЗРЯД

63-й РАЗРЯД

DS18B 20 'Г-й РАЗРЯД

DS18B20 *Г-Й РАЗРЯД

DS18B 20 'Г-й РАЗРЯД

DS18B20 *63'-й РАЗРЯД

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

DS18B20 '6Э'-й РАЗРЯД

DS18B20 "6Э'-й РАЗРЯД

ПАМЯТЬ ИЛИ КОМАНДА ФУНКЦИИ УПРАВЛЕНИЯ

Каждый прибор на однопроводной шине может управлять ею в соответствующее время. Поэтому каждый прибор должен иметь открытый сток или выход с 3-мя состояниями. Однопроводный порт DS 18В20 (вывод DQ) — схема с внутренним эквивалентом стока.

В состоянии ожидания однопроводная шина находится на высоком уровне. Если по любой причине сообщение должно быть приостановлено, то шина останавливается в состоянии ОЖИДАНИЯ. Восстановление приборов (паразитное питание) может быть только между передаваемой информацией, когда од-

нопроводная шина находится в неактивном (высоком) состоянии. Если шина находится на низком уровне более чем 480 мкс, все компоненты шины будут установлены в состояние «0» (сброс).

Операционная последовательность

Протокол доступа Б8 18В20 через однопроводный порт — следующий:

• Инициализация.

• Команда функции ПЗУ.

• Команда функции памяти.

• Сообщение/данные.

Инициализация

Все состояния на однопроводной шине начинаются с инициализации, то есть с установки в исходное состояние. Последовательность следующая: сначала ведущим шины подается (ТХ) импульс сброса, сигнал низкого уровня длительностью не менее 480 цс. После этого ведущий освобождает линию и входит в режим приема (RX). Однопроводная шина подтягивается к высокому уровню через нагрузочный регистр сопротивлением порядка 5 кОм. После того, как фронт на выводе DQ начнет подниматься, DS 18B20 ждет 15-60 мкс и затем передает импульс присутствия (сигнал низкого уровня длительностью 60-240 мкс).

Более подробно см. AN 74 «Reading and Writing Touch Memory via Serial Interfaces».

Команды функции ПЗУ

Если ведущий шины обнаружил присутствие, то он может выдать одну из пяти команд функции ПЗУ. Все команды имеют длину 8 разрядов. Блок-схема команд показана на рис. 3.

Чтение ПЗУ [33 h]

Эта команда позволяет ведущему шины считать 8-разрядный групповой код DS 18B20, уникальный 48-разрядный серийный номер и

8-разрядный CRC. Эта команда используется, если на шине только один прибор DS 18B20. Если на шине ведомых больше одного, произойдет столкновение данных, когда все ведомые попытаются сделать передачу одновременно (открытые стоки в результате дают «монтажное И»).

Соответствие ПЗУ [55 h]

Команда «Соответствие ПЗУ», сопровождаемая 64-разрядной последовательностью, позволяет ведущему шины адресовать передачу конкретному DS 18B20 из нескольких, находящихся на шине. Только тот прибор, коду которого точно соответствует переданная 64разрядная последовательность, ответит на следующую команду функции памяти. Все остальные ведомые ждут импульс сброса. Эта команда может использоваться с любым количеством приборов на шине.

Пропуск ПЗУ [CC h]

Эта команда может экономить время при работе с одним ведомым, позволяя ведущему шины получить доступ к функциям памяти без обмена 64-разрядным кодом. Если на шине больше, чем один ведомый, нельзя выдавать команду «Чтение» после команды «Пропуск ПЗУ», поскольку возникает ситуация «монтажное И»

Поиск ПЗУ [FO h]

Когда формируется система, ведущий не знает, ни какое количество приборов находится на однопроводной шине, ни их 64-разрядные коды. Команда «Поиск ПЗУ» позволяет ведущему шины использовать метод исключения, чтобы идентифицировать коды ПЗУ всех ведомых приборов на шине. Уникальный идентификационный номер одного прибора однопроводной шины требует время 13,16 мс. Следовательно, ведущий шины может идентифицировать за одну секунду 75 различных приборов. Детально это можно посмотреть в «Book of DS 13 XX iButton Standards» или «Data Sheet» на DS 18B20.

Сигнальный (аварийный) поиск [EC h]

Алгоритм этой команды идентичен команде «Поиск ПЗУ». Сигнальное (аварийное) условие определено как выход температуры за установленные пределы Твыс. и Тниз. Сигнальное условие остается до тех пор, пока DS 18B20 включен или другое температурное измерение покажет, что температура вошла в пределы установки. Если сигнальное условие существует, а установки Твыс. и Тниз. изменены, должно быть сделано новое температурное преобразование, чтобы подтвердить правильность любых сигнальных условий,

Передача сигналов ввода и вывода

Чтобы обеспечить сохранность данных, DS 18B20 требуется достаточно строгий протокол передачи. В соответствии с ним ведущий выдает следующие типы сигналов на одну линию:

1. Импульс сброса,

2. Запись О,

3. Запись 1.

4. Чтение О.

З. Чтение 1.

Ведомый выдает импульс присутствия.

Для начала любой связи с DS 18B20 необходимо, чтобы сразу после импульса сброса поступил импульс присутствия. После этого прибор готов принимать или посылать данные ведущему шины: команды функций ПЗУ, команды функций памяти, передача данных.

Алгоритм функций памяти можно посмотреть в «Data Sheet» на DS 18B20. В итоге имеем следующие командные протоколы.

Запись в блокнотную память [4E h]

По этой команде происходит запись З байт в блокнотную память DS 18B20, начиная с регистра Твыс. Следующие З байта будут сохранены в сверхоперативной памяти по адресу позиций со 2 по 4. Все три байта должны быть записаны перед сбросом.

Чтение блокнотной памяти [BE h]

По этой команде считывается содержание блокнотной памяти. Чтение начинается с байта 0 и продолжается через весь блокнот до

9-го (байт 8, CRC) байта. Если не все позиции должны быть прочитаны, ведущий может выдать команду «Сброс», чтобы завершить чтение в любое время.

Копирование блокнотной памяти [48 h]

По этой команде копируется блокнотная память в энергонезависимое ОЗУ (E2) память DS 18B20 для сохранения байтов триггеров температуры. Если ведущий шины выдает в это время слоты времени для чтения следующих за этой командой данных, то DS 18B20 будет выдавать на шину «О» до тех пор, пока не закончится копирование блокнотной памяти в E2 и не вернется в единичное состояние после окончания процесса копирования. При «паразитном» питании ведущий шины должен надежно поднять линию до уровня напряжения питания, по крайней мере, на 10 me сразу же после выдачи этой команды, EEPROM. DS 18B20 рассчитана минимум на ЗО ООО записей и на 10 лет хранения данных при температуре T = +ЗЗ “С.

Преобразование Т [44 h]

По этой команде начинается температурное преобразование. Никаких данных далее не требуется. По окончании температурного преобразования Б8 18В20 останется в режиме ожидания. Если в момент преобразования ведущий шины выдаст слот времени чтения после этой команды, то Б8 18В20 выдаст на шину «0» до конца преобразования, после чего вернется в единичное состояние. В случае «паразитного» питания ведущий шины должен на время, большее чем Шреобр., немедленно подтянуть линию к питающему напряжению. Выборка (повторный вызов) Б2 [В8 Ц По этой команде выбираются значения температурных триггеров и регистра конфигурации, хранящихся в Е2, и записываются в блокнотную память. Эта операция происходит автоматически после включения питания. Поэтому достоверные данные в блокнотной памяти становятся доступны сразу, как только

Таблица 9

подали питание на прибор. С каждым слотом времени чтения данных, выданных после этой команды, на выходе прибора будет флажок:

«0» — сигнал занятости, «1» — чтение.

Чтение источника питания [В4 к]

После того, как эта команда послана, DS 18В20 сообщает о его режиме питания: «0» — «паразитное» питание, «1» — прибор подключен к источнику питания.

Пример 1 функции памяти

Ведущий шины начинает преобразование температуры, затем считывает данные (используется «паразитное» питание (табл. 8)).

Пример 2 функции памяти

Ведущий шины записывает в память («паразитное» питание и только один DS 18В20 принимает (табл. 9)).

Таблица 8

Режим ведущего Данные (первым младший значащий разряд) Комментарий

Передача Сброс Импульс сброса (480 + 960 цс)

Прием Присутствие Импульс присутствия

Передача 55 h Выдача команды «Совпадение ПЗУ»

Передача < 64-разрядный код ПЗУ Выдача адреса для DS 18В20

Передача 44 (1 Выдача команды «Преобразование Т»

Передача < линия вход/выход на высокий уровень Линия входа/выхода устанавливается ведущим шины на высокий уровень на период времени больший, чем №реобр., чтобы позволить завершить преобразование

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия

Передача 55 1 Выдача команды «Совпадение ПЗУ»

Передача < 64-разрядный код ПЗУ Выдача адреса для DS 18В20

Передача ВЕ 1 Выдача команды «Чтение блокнотной памяти»

Прием 9 байтов данных Чтение всего блокнота плюс CRC; ведущий повторно вычисляет СRC восьми байтов данных, полученных из блокнота; сравнивает расчитанный и прочитанный CRC. Если они совпадают, ведущий продолжает работу; если нет, то эта операция чтения повторяется

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия, окончание

Режим ведущего Данные (первым младший значащий разряд) Комментарий

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия

Передача Команда «Пропуск ПЗУ»

Передача 4 Е 1 Команда «Запись в блокнотную память»

Передача < 3 байта данных Запись 3 байтов в блокнотную память (Твыс., Тниз. и конфигурации)

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия

Передача Команда «Пропуск ПЗУ»

Передача В Е 1 Команда «Считывание из блокнотной памяти»

Прием 9 байтов данных Чтение всего блокнота плюс CRC; ведущий повторно вычисляет СRC восьми байтов данных, полученных из блокнота; сравнивает CRC и 2 других, прочитанных из блокнотной памяти. Если они совпадают, ведущий продолжает работу; если нет, то последовательность повторяется

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия

Передача Команда «Пропуск ПЗУ»

Передача 48 1 Команда «Копировать блокнотную память». После выдачи этой команды ведущий должен ждать 10 мс до завершения операции копирования

Передача Сброс Импульс сброса

Прием Присутствие Импульс присутствия, окончание

Смотрите также по теме:

AN 106 «Complex MicroLANs»

AN 108 «MicroLAN-in the Long Run» Внимательный читатель обратил внимание на то, что для обмена информации постоянно используются 3 операции:

• Ведущий шины выдает импульс «Сброс».

• Ведомый выдает импульс «Присутствие».

• Ведущий после получения данных вычисляет избыточный циклический контрольный код (CRC) и сравнивает его с CRC ведомого. Совпадение означает, что контакт между ведущим и ведомым установлен жестко и приходящие данные действительны. Следующая группа цифровых термометров

для передачи данных использует двухпровод-ный последовательный интерфейс.

Одним из представителей этой группы является цифровой термометр DS 1775.

DS 1775

Этот прибор при измерении температуры от -55 °С до +125 °С имеет точность ±2 °С. Разрешающая способность перестраивается пользователем в пределах от 9 до 12 разрядов. В режиме термостата программно совместим с двухпроводной термической сторожевой схемой (thermal watchdog). Чувствительный элемент упакован в компактный корпус SOT23-5 с низкой температурной постоянной времени. Прибор является законченным конвертером класса «температура — цифра» и не

требует при использовании никаких дополнительных компонентов.

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

DS 1775 может использоваться в персональных компьютерах (обслуживание), рабочих станциях, мобильных телефонах, офисном оборудовании и других термически чувствительных схемах.

Прибор DS 1775 состоит из пяти основных компонентов:

1. Прецизионный датчик температуры.

2. Аналого-цифровой преобразователь.

3. Электроника двухпроводного интерфейса.

4. Регистр данных.

5. Компаратор термостата.

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

В применениях, чувствительных к питанию, пользователь может перевести DS 1775 в закрытый режим, когда датчик, закончив преобразование, будет хранить текущее значение, а прибор переходит в режим ожидания с малым потреблением тока.

Пользователь также может программно установить верхний и нижний (То8 и ТЬу81) пределы для термостата. В DS 1775 возможны два способа температурного контроля: метод сравнения и метод прерывания. Независимо от выбранного способа, выход «OS» будет активным

только тогда, когда измеренная температура превысит установленное число последовательных превышений, то есть число последовательных преобразований вне указанного предела температур. В этом случае будет выдан активный OS (выходной МОП-транзистор будет открыт).

Цифровые данные записываются и считываются в/из DS 1775 через двухпроводный интерфейс, и вся связь идет сначала старшим значащим разрядом. DS 1775 поддерживает двунаправленную двухпроводную шину и протокол передачи данных. Шина управляется ведущим, который генерирует последовательность тактовых импульсов, управляет доступом к шине и генерирует условия старта и остановки. Подключение приборов к шине делается через открытый сток входа/выхода линий SDA и SCL. Определен следующий протокол шины (рис. 4). Передача данных может быть инициирована, когда шина не занята. Во время передачи линия данных SDA должна оставаться стабильной всегда, если линия тактовых импульсов ^^) находится в единичном уровне. Изменение уровня на линии данных в то время, когда уровень линии SCL высокий, будут интерпретированы как сигналы управления. Соответственно, следующие условия определены для шины.

Шина не занята: обе шины, и данных (SDA) и тактовых импульсов ^^), остаются в состоянии высокого уровня.

Начало передачи данных: изменение состояния линии данных SDA от высокого уровня к низкому при высоком уровне на линии SCL определяется как условие «Старт».

Остановка передачи данных: изменение состояния линии данных от низкого уровня к высокому при высоком уровне на линии SCL определяется как условие «Стоп».

Достоверные данные: состояние линии данных представляет достоверные данные, если после стартовых условий линия данных стабильна на период высокого уровня на линии SCL.

Это соответствует одному тактовому импульсу на бит данных.

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

Тактовые импульсы в нормальном режиме могут поступать с обычной частотой 100 кГц или в быстром режиме — 400 кГц. DS 1775 работает в обоих режимах.

Каждое получающее устройство после адресации обязано произвести «Подтверждение» после приема каждого байта. Ведущий прибор должен считывать дополнительный тактовый импульс, который связан с битом подтверждения.

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

SDA

оосоо

MSB

Адрес _____

ведомого Чтвн/зап.

бит

указания!

MHHgj

ооса

сигнал подтверждения от принимающего

Сигнал подтверждения от принимающегої

SCL I i\_____________М_М_______________

Стартовые

условия

АСК

8 of 13

/Л_М_^Д_А_/Л_\/

АСК

Повторение, если " передается большее “ количество байтов

Стоповое условие или повторение стартового условия

Рис. 4. Передача данных по 2х-проводной последовательной шине

_ Запись по указателю адреса

Линия синхро- _ ' г

импульсов gQ unjnjnjnjnjnjnjn_n_njnjn_njn_n_n_n_nj линия данных ~^s/TAo о/TToYoYo\w а ооооо о/пУро\а ГУ

f I---------,--------If I---------,-------If f

Старт Адресный байт Подтверж- Pointer Byte Подтверж- стоп

дение дение

Чтение одного байта из текущей позиции указателя (конфигурация)

SCL

. Vs/ТЛо о /ІХоШСоУ^аГТ SDA

t L Старт

J A L

't

Адресный байт Подтверж- Байт данных

дение

t

Стоп

Неподтвержденно

Рис. 5. 2-проводная последовательная связь с DS1775

высокого уровня, сопряженный с подтверждением. Установка и время удержания импульса должны быть синхронизированы. Ведущий должен сообщить ведомому о конце приема данных, не производя бит подтверждения на последнем байте, который был получен от ведомого. В этом случае ведомый должен оставить линию данных вБЛ в высоком уровне, чтобы дать возможность ведущему генерировать условия останова. На рис. 5 детально показано, как выполняется передача данных на двухпроводной шине.

В зависимости от состояния Я/’М' бита возможны два типа передачи данных.

1. Передача данных от ведущего к ведомому получателю. Первый байт, переданный ведущим — это адрес ведомого. Затем следует множество байтов данных. Ведомый выдает бит подтверждения после каждого полученного байта.

2. Передача данных от ведомого к ведущему получателю. Первый байт (адрес ведомого) передается ведущим. Ведомый выдает бит подтверждения. Затем следует множество байтов, переданных ведомым ведущему. Ведущий выдает бит подтверждения после всех полученных байтов, кроме последнего. В конце последнего полученного байта выдается «не подтверждение». Ведущий прибор генерирует всю последовательность тактовых импульсов и условия «Старт» и «Стоп». Передача заканчивается условием останова или подтверждением условия «Старта». Так как повторное условие «Старта» есть начало следующей последовательности передачи, шина остается в рабочем режиме.

Бв 1775 может работать в следующих 2-х режимах.

1. Режим ведомого получателя. Последовательность данных и тактовых импульсов поступают по линиям вБЛ и вСЬ. После каждого полученного байта выдается бит подтверждения. Стартовые и стоповые условия определяются как начало и конец последовательной передачи. Опознание адреса выполняется аппаратными средствами после приема ведомым адреса и бита направления.

Установочные команды для 1620

Таблица 10. Команды преобразования температуры

Рис. 6. Функциональная блок-схема DS 1620

2. Режим передатчика. Первый байт получен и обработан как в режиме ведомого получателя. Однако в этом режиме бит направления укажет, что направление передачи изменено на обратное. Последовательные данные передаются по линии SDA от DS 177З в то время, как тактовые импульсы поступают на вход SCL. Стартовые и стоповые условия распознаются как начало и конец последовательной передачи,

DS 162G

Еще одна микросхема — это цифровой термометр и термостат (DS 1620). Принцип измерения температуры такой же, как и в других термически чувствительных приборах, выпускаемых фирмой Dallas Semiconductor, Температура непосредственно в микросхеме, без внешних компонентов, преобразовывается в цифровую форму. Отрицательные значения температуры представлены в коде с дополнением до 2х. Считывание и запись данных через трехпроводный последовательный интерфейс,

Трехпроводная шина содержит следующие сигналы:

• сигнал RST (сброс).

• сигнал ^К (синхроимпульс).

• сигнал DQ (данные).

Все передачи начинаются с подачи ведущим на вход RST сигнала высокого уровня, а оканчиваются снятием этого сигнала, то есть установкой логического «0».

На вход ^К поступает последовательность синхроимпульсов. Для ввода (вход DQ) данные должны быть действительны в течение нарастания фронта синхроимпульсов. Изменение значения бита происходит при спадающем фронте.

Когда считывают данные с DS 1620, вывод DQ становится высокоимпедансным в момент высокого уровня синхросигнала.

Любую связь можно завершить подачей на RST низкого уровня, при этом вывод DQ принимает высокоимпедансное состояние.

Данные по трехпроводному интерфейсу передаются начиная с младшего разряда. Команды установки для него показаны в табл. 10.

Команда Описание 16-тиричный код Состояние Э-проводной шины после выдачи команды Примечание

Чтение Температуры Читает последнее значение темп. преобразования из регистра температуры AA h «Чтение данных»

Чтение счетчика Читает значение отсчета, остающегося в счетчике AO h «Чтение данных»

Чтение крутизны характеристики Чтение значения крутизны характеристики A 9 h «Чтение данных»

Начать преобразование Начинается преобразование температуры EE h Ожидание 1

Остановить преобразование Останавливает преобразование температуры в непрерывном режиме 22 h Ожидание 1

Таблица 11. Команды термостата

Запись ТН Запись значения предела высокой температуры в регистр ТН 01 h «Запись данных» 2

Запись и Запись значения предела низкой температуры в регистр К 02 h «Запись данных» 2

Чтение ТН Чтение хранимого значения предела высокой температуры из режима ТН А h «Чтение данных» 2

Чтение и Чтение хранимого значения предела низкой температуры из режима и А 2 h «Чтение данных» 2

Запись конфигурации Запись данных конфигурации в регистр конфигурации O C h «Запись данных» 2

Чтение конфигурации Чтение данных из регистра конфигурации A C h «Чтение данных» 2

Примечание. 1. В режиме непрерывного преобразования команда «Остановить преобразование Т» остановит преобразование. Для повторного начала должна быть выдана команда «Начать преобразование Т». При одноразовом режиме команда «Начать преобразование Т» выдается для считывания любой желаемой температуры.

2. Типовое время записи Е2 при комнатной температуре составляет 10 тс. После подачи команды записи никакой другой команды записи не должно быть, по крайней мере, в течение 10 тс.

Функциональный пример

Процессорное устройство устанавливает DS 1620 для непрерывного действия в функции термостата Таблица 12

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