Цифровые датчики температуры от Dallas Semicoductor. Часть 2

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

Все статьи цикла:

Микросхема 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.

Рис. 1
Рис. 1

Это:

  1. 64-разрядное, записанное лазером ПЗУ.
  2. Температурный датчик.
  3. Энергозависимые температурные сигнальные триггеры «Твыс.» (Тh) и «Тниз.» (Tl).
  4. Регистр конфигурации.

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

  1. Чтение ПЗУ.
  2. Совпадение ПЗУ.
  3. Поиск ПЗУ.
  4. Пропуск ПЗУ.
  5. Сигнальный (аварийный) поиск.

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

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

  1. Не требуется местный источник питания при дистанционном считывании температуры.
  2. ПЗУ может быть считано при отсутствии нормального питания.
Рис. 2,а.
Рис. 2,а.
Рис. 2,б.
Рис. 2,б.

В момент температурного преобразования рабочий ток DS 18B20 достигает 1,5 мA, и по шине DQ ток может быть недостаточным. Эта проблема обостряется, если несколько приборов делают преобразование одновременно. В этом случае в течение активного цикла необходимо обеспечить прочное подтягивание шины DQ к источнику питания с по- мощью активного ключа, например MOSFET-транзистора, управляемого ведущим шины, как показано на рис. 2, а. Другой метод подачи тока — с помощью внешнего источника питания, подключенного к выводу Vdd со всеми плюсами и минусами такого включения (риc. 2, б).Использование «паразитного» питания не рекомендуется при температуре свыше +100 °С. В этом случае внешний источник должен подключаться непосредственно к ножке Vdd микросхемы.

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

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

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

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

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

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

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

По этой же функции DS 18B20 генерирует 8-разрядное значение CRC и выдает ее ведущему для подтверждения правильности переданных данных. Ведущий по значению, полученному от прибора, также вычисляет CRC и сравнивает его с CRC прибора (9 байт блокнотной памяти). Сравнение значений CRC и решение о продолжении операции полностью определяет ведущий шины. Более подробную информацию о далласовском однопроводном циклическом избыточном коде контроля можно найти в AN 27, названном Understanding and Using Cyclic Redun Checks with Dallas Semiconductor Touch Memory Products.

Таблица 6.
Блокнот Байт EERAM
Младшие значащие разряды температуры 0  
Старшие значащие разряды температуры 1  
Байт одного пользователя / ТН 2 Байт одного пользователя / ТН
Байт второго пользователя / ТL 3 Байт второго пользователя / ТL
Байт конфигурации 4 Байт конфигурации DS 18B20
Резервный 5  
Резервный 6  
Резервный 7  
CRC 8  

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

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

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

Таблица 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)

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

Между разрешающей способностью и временем преобразования — прямая зависимость. По умолчанию установлено разрешение в 12 разрядов, то есть R0=1 и R1=1.Каждый прибор на однопроводной шине может управлять ею в соответствующее время. Поэтому каждый прибор должен иметь открытый сток или выход с 3-мя состояниями. Однопроводный порт DS 18B20 (вывод DQ) — схема с внутренним эквивалентом стока.

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

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

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

  • Инициализация.
  • Команда функции ПЗУ.
  • Команда функции памяти.
  • Сообщение/данные.
  • Инициализация

    Все состояния на однопроводной шине начинаются с инициализации, то есть с установки в исходное состояние. Последовательность следующая: сначала ведущим шины подается (ТХ) импульс сброса, сигнал низкого уровня длительностью не менее 480 µс. После этого ведущий освобождает линию и входит в режим приема (RX). Однопроводная шина подтягивается к высокому уровню через нагрузочный регистр сопротивлением порядка 5 кОм. После того, как фронт на выводе DQ начнет подниматься, DS 18B20 ждет 15–60 мкс и затем передает импульс присутствия (сигнал низкого уровня длительностью 60–240 мкс). Более подробно см. AN 74 «Reading and Writing Touch Memory via Serial Interfaces».

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

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

    Рис.3
    Рис.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. Запись 0.
    3. Запись 1.
    4. Чтение 0.
    5. Чтение 1.

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

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

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

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

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

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

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

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

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

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

    По этой команде начинается температурное преобразование. Никаких данных далее не требуется. По окончании температурного преобразования DS 18B20 останется в режиме ожидания. Если в момент преобразования ведущий шины выдаст слот времени чтения после этой команды, то DS 18B20 выдаст на шину «0» до конца преобразования, после чего вернется в единичное состояние. В случае «паразитного» питания ведущий шины должен на время, большее чем tпреобр., немедленно подтянуть линию к питающему напряжению.

    Выборка (повторный вызов) E2 [B8 h]

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

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

    Чтение источника питания [B4 h]

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

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

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

    Таблица 8.
    Режим ведущего Данные (первым младший значащий разряд) Комментарий
    Передача Сброс Импульс сброса (480 ё 960 mс)
    Прием Присутствие Импульс присутствия
    Передача 55 h Выдача команды «Совпадение ПЗУ»
    Передача Выдача адреса для DS 18B20
    Передача 44 h Выдача команды «Преобразование Т»
    Передача Линия входа/выхода устанавливается ведущим шины на высокий уровень на период времени больший, чем tпреобр., чтобы позволить завершить преобразование
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия
    Передача 55 h Выдача команды «Совпадение ПЗУ»
    Передача Выдача адреса для DS 18B20
    Передача BE h Выдача команды «Чтение блокнотной памяти»
    Прием 9 байтов данных Чтение всего блокнота плюс CRC; ведущий повторно вычисляет СRC восьми байтов данных, полученных из блокнота; сравнивает расчитанный и прочитанный CRC. Если они совпадают, ведущий продолжает работу; если нет, то эта операция чтения повторяется
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия, окончание
    Таблица 9.
    Режим ведущего Данные (первым младший значащий разряд) Комментарий
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия
    Передача CC h Команда «Пропуск ПЗУ»
    Передача 4 E h Команда «Запись в блокнотную память»
    Передача Запись 3 байтов в блокнотную память (Твыс., Тниз. и конфигурации)
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия
    Передача CC h Команда «Пропуск ПЗУ»
    Передача B E h Команда «Считывание из блокнотной памяти»
    Прием 9 байтов данных Чтение всего блокнота плюс CRC; ведущий повторно вычисляет СRC восьми байтов данных, полученных из блокнота; сравнивает CRC и 2 других, прочитанных из блокнотной памяти. Если они совпадают, ведущий продолжает работу; если нет, то последовательность повторяется
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия
    Передача CC h Команда «Пропуск ПЗУ»
    Передача 48 h Команда «Копировать блокнотную память». После выдачи этой команды ведущий должен ждать 10 мс до завершения операции копирования
    Передача Сброс Импульс сброса
    Прием Присутствие Импульс присутствия, окончание

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

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

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

    AN 106 «Complex MicroLANs»

    AN 108 «MicroLAN -in the Long Run»

    Внимательный читатель обратил внимание на то, что для обмена информации постоянно используются 3 операции:

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

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

    DS 1775

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

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

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

    1. Прецизионный датчик температуры.
    2. Аналого-цифровой преобразователь.
    3. Электроника двухпроводного интерфейса.
    4. Регистр данных.
    5. Компаратор термостата.

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

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

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

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

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

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

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

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

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

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

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

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

    В зависимости от состояния R/W бита возможны два типа передачи данных.

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

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

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

    DS 1620

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

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

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

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

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

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

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

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

    Таблица 10. Команды преобразования температуры
    Команда Описание 16-тиричный код Состояние 3-проводной шины после выдачи команды Примечание
    Чтение Температуры Читает последнее значение темп. преобразования из регистра температуры AA h «Чтение данных»  
    Чтение счетчика Читает значение отсчета, остающегося в счетчике AO h «Чтение данных»  
    Чтение крутизны характеристики Чтение значения крутизны характеристики A 9 h «Чтение данных»  
    Начать преобразование Начинается преобразование температуры EE h Ожидание 1
    Остановить преобразование Останавливает преобразование температуры в непрерывном режиме 22 h Ожидание 1
    Таблица 11. Команды термостата
    Запись TH Запись значения предела высокой температуры в регистр TH 01 h «Запись данных» 2
    Запись TL Запись значения предела низкой температуры в регистр TL 02 h «Запись данных» 2
    Чтение TH Чтение хранимого значения предела высокой температуры из режима TH А 1 h «Чтение данных» 2
    Чтение TL Чтение хранимого значения предела низкой температуры из режима TL А 2 h «Чтение данных» 2
    Запись конфигурации Запись данных конфигурации в регистр конфигурации O C h «Запись данных» 2
    Чтение конфигурации Чтение данных из регистра конфигурации A C h «Чтение данных» 2
    Примечание.

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

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

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

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

    Таблица 12.
    Режим CPU Режим DS 1620 (3-проводный) Данные (сначала младший разряд) Комментарий
    Передача Прием OC h CPU выдает команду «Запись конфигурации»
    Передача Прием OО h aacCPU устанавливает DS 1620 для непрерывного преобразования
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620
    Передача Прием 01 h CPU выдает команду «Запись TH»
    Передача Прием 0050 h CPU посылает данные для предела TH=+40 °C
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620
    Передача Прием 02 h CPU выдает команду «Запись TL»
    Передача Прием 0014 h CPU посылает данные для предела TH=+10 °C
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620
    Передача Прием A 1 h CPU выдает команду «Чтение TH»
    Прием Передача 0050 h DS 1620 посылает сохраненное значение TH назад в CPU для проверки
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620
    Передача Прием A 2 h CPU выдает команду «Чтение TL»
    Прием Передача 0014 h DS 1620 посылает сохраненное значение TL назад в CPU для проверки
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620
    Передача Прием EE h CPU выдает команду «Начать преобразование T»
    Передача Прием Переключение RST CPU выдает «Сброс» для DS 1620

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *