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

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

писывается непосредственно в ячейки флэш-памяти (регистры Тн и TL и регистр конфигурации). Предварительно она помещается в блокнотную память. Затем микроконтроллер читает ее оттуда и проверяет контрольную сумму. Если результат проверки положительный, микроконтроллер подает по шине специальную команду «Копирование блокнотной памяти в EEPROM».

Посредством 1-Wire интерфейса можно также прочитать содержимое 64-битного ПЗУ, в котором хранится ID код микросхемы. Последние восемь битов ID кода представляют собой контрольную сумму первых ее 56 битов.

Структура памяти микросхемы DS18B20 приведена на рисунке 12. Память состоит из восьми регистров блокнотной памяти и трех регистров EEPROM. Операции записи и чтения блокнотной памяти выполняются для всех ее регистров одновременно. При; записи все восемь регистров блокнотной памяти записываются одним блоком из восьми байт. Точно также одним блоком происходит считывание информации. На рисунке 12 для каждого регистра обозначена его позиция внутри передаваемого блока (байт 0, байт 1 и так далее).

Два самых младших регистра (байт 0 и байт 1) содержат результат преобразования температуры в код. Следующие три регистра служат для промежуточного хранения информации для регистров флэш-памяти. В регистр Тн записывается верхний предел температуры. В регистр TL — нижний. Эти регистры используют для проверки факта выхода величины измеренной температуры за границы установленного диапазона. Микроконтроллер способен быстро отыскать в сети Micro LAN все термодатчики, у которых не соблюдается это условие. Если не нужен механизм ограничения температуры, то регистры Тн и TL можно использовать как дополнительные ячейки энергонезависимой памяти и хранить в них любые данные. Например, туда можно записать код места положения конкретного датчика. Регистр конфигурации служит для переключения количества разрядов измерителя температуры.

Рисунок 12 - Структура памяти микросхемы DS18B20

Все три описанные выше регистра (байт 2, байт 3, байт 4) имеют механизм автоматического восстановления. При включении питания в них автоматически копируется информация из соответствующих регистров EEPROM. В регистр температуры после включения питания помешается код 0550Н (старший байт 05Н, младший байт 50Н), что соответствует температуре 85°С.

Оставшиеся три регистра блокнотной памяти (байт 5, байт 6 и байт 7) в микросхеме DSI8S20 не используются. Они зарезервированы для будущих ее модификаций. При чтении все три неиспользуемых регистра возвращают код OFFH (единицы во всех разрядах). Последний, восьмой регистр блокнотной памяти — это регистр генератора контрольной суммы.

Формат регистра температуры приведен на рисунке 13.

Рисунок 13 - Структура регистра температуры

После окончания процесса преобразования эти регистры содержат прямое значение величины измеренной температуры в двоичном виде. Регистр температуры — это два регистра блокнотной памяти. На рисунке 13 показан вес каждого разряда регистра. Биты с 11-го по 15-й (обозначенные буквой S) содержат одно и то же значение. Оно равно знаку записанного числи (0 — плюс, 1 — минус). Положительные значения температуры записываются в прямом коде, а отрицательные — в дополнительном (для того, чтобы перевести двоичное число в дополнительный код, нужно инвертировать его, а затем прибавить единицу).

Теперь рассмотрим формат регистров Тн и TL. На рисунке 14 он представлен в графическом виде. Как видно из рисунка, эти регистры имеют всего по восемь разрядов. Причем старший разряд - это знак числа. Поэтому верхний и нижний пределы температуры могут устанавливаться лишь с шагом в 1 градус. Для записи положительных и отрицательных чисел в регистрах Тн и TL также используются прямой и дополнительный коды.

Рисунок 14 - Формат регистров Тн и TL.

Формат регистра конфигурации приведен на рисунке 15. Для изменения конфигурации используются только два разряда этого Регистра — бит 5 и бит 6. Значения остальных битов показаны на рисунке. В таблице 2 представлены все четыре режима, которые можно установить при помощи регистра конфигурации. Номер режима определяется разрядами RO и R1. При отключении лишних разрядов уменьшается точность измерения температуры, но одноименно уменьшается и время, необходимое для преобразования температуры в код. В таблице 2 для каждого из режимов работы приведено максимальное значение времени преобразования.

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

0

R1

R0

1

1

1

1

1

Рисунок 15 - Формат регистра конфигурации

Таблица 2 - Выбор количества разрядов

На рисунке 16 показана схема включения микросхем DSI8B20 в режиме внешнего питания. Внешнее питание подается через вывод VDD. Если термодатчик находится на значительном удалении от микроконтроллера, то применен такой схемы включения не очень желательно, так как для питания датчика придется прокладывать еще один (третий) провод.

Второй вариант включения микросхем DSI8B20 изображен на рисунке 17. В такой схеме реализованы два режима питания. Для переключения режимов используется управляемый электронный ключ KI. Ключ управляется от микроконтроллера, для чего используется отдельная линия ввода/вывода. Такая схема позволяет переключать режимы питания программным путем. Основной режим работы для схемы, изображенной на рисунке 17 - это режим паразитного питания. В этом режиме ключ KI закрыт и напряжении на шине определяется резистором нагрузки R1, что позволяет передавать информацию по шине, используя 1-Wire протокол.

В нужный момент ключ KI открывается и на шину поступает полноценное питание от источника VPU. Питание поступает только на время выполнения одной из энергоемких команд. Пока ключ К1 открыт, информационный обмен по шине невозможен. Микроконтроллер выдерживает шину в таком состоянии необходимое время, а затем закрывает ключ К1. Шина возвращается в обычный режим работы и снова обретает возможность передачи данных. Для того, чтобы микросхема DSI8B20 правильно работала в режиме паразитного питания, нужно соединить между собой выводы VDD и GND и подключить оба этих вывода к общему проводу, как показано на рисунке.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы