Разработка системы управления кондиционером
Ряд отдельных бит при чтении или записи формируется в байты. Байты передаются младшим битом вперед. Первые восемь битов – это первый байт. Следующие восемь – второй байт, и так далее. Начало всей этой цепочки определяется сигналом сброса. Импульс сброса – это сверхдлинный отрицательный импульс на шине 1-Wire, вырабатываемый ведущим устройством. Временная диаграмма, иллюстрирующая процесс формир
ования импульса сброса, приведена на рисунке 9. С импульсом сброса тесно связан еще один служебный сигнал – сигнал присутствия на шине. Сигнал присутствия вырабатывает каждое Slave устройство сразу после окончания действия импульса сброса. Master устройство должно проконтролировать наличие этого импульса. Если импульса нет, значит на линии нет ни одного Slave устройства.
Рисунок 9 - Временная диаграмма процесса начального сброса
Кроме инициации импульсов присутствия импульс сброса переводит в исходное состояние всю систему. Любые незаконченные процессы на линии моментально завершаются, и отсчет битов начинается с начала. Длительность импульса сброса должна быть не менее 480 мкс. Процесс передачи информации по линии может начинаться не раньше, чем через 480 мкс после окончания действия импульса сброса (рисунок 9). В этом временном интервале и ожидается появление сигнала присутствия. Для этого после окончания импульса сброса Master «отпускает» линию и ждет сигнала от Slave устройства. Slave устройство, обнаружив импульс сброса, выдерживает паузу в 15 60 мкс, а затем «подсаживает» линию. Длительность импульса присутствия составляет 60 240 мкс. Ведущее устройство проверяет наличие нулевого уровня на линии в середине этого интервала. Если сигнал обнаружен, то это значит, что на линии имеется нормально работающее Slave устройство и Master может продолжать работу в сети. Если сигнал не обнаружится, микроконтроллер перейдет к обработке этой ситуации.
Любая операция в сети Master устройство - Slave устройство начинается с команды. Команда представляет собой байт информации. Каждая команда имеет свой собственный код. Выполнение команды начинается с импульса сброса. Затем Slave устройство вырабатывает, а Master устройство проверяет сигнал присутствия на линии. Если сигнал на месте, Master выдает на линию код команды в режиме записи. Получив этот код, Slave устройство переключается в режим выдачи информации.
При описании протокола 1-Wire принято выделять два уровня, связанных с логикой работы протокола – сетевой и транспортный уровни. Сразу после сигнала сброса шина переходит на сетевой уровень. Отработав команду сетевого уровня, шина переходит на транспортный. Система команд сетевого уровня протокола 1-Wire включает 5 команд: Чтение ПЗУ, Чтение ПЗУ (для микросхемы DS1990A команда имеет другой код), Совпадение ПЗУ, Пропуск ПЗУ, Поиск ПЗУ. Все эти команды, кроме команды Пропуск ПЗУ, не используются в случае, если в сети имеется лишь одно устройство. Поскольку для выполнения требований технического задания одного датчика температуры вполне достаточно, ограничимся описанием команды Пропуск ПЗУ (Skip ROM). Эта команда (код – 0ССН) позволяет перейти на транспортный уровень всем устройствам в сети, оставляя их активными. В нашем случае устройство всего одно.
После команды сетевого уровня все элементы сети переходят на транспортный уровень. Список команд этого уровня разнится для каждого устройства. Команды электронного датчика температуры DS18B20 будут рассмотрены в данной работе позднее. Следует отметить, что для выполнения очередной команды после выполнения команды транспортного уровня необходимо произвести импульс начального сброса.
Теперь приступим непосредственно к увлекательному описанию интегрального датчика температуры фирмы Dallas Semiconductor DS18B20.
2.3 Выбор датчика температуры
Фирма Dallas Semiconductor выпускает целый набор микросхем-измерителей температуры. Самый первый интегральный термодатчик с 1-Wire интерфейсом назывался DS1820. Эта оригинальная микросхема сразу после своего появления приобрела популярность у разработчиков электронной аппаратуры.
DSI8B20 - более совершенная микросхема. Высокая дискретность достигается увеличением количества разрядов результирующего кода. Причем в микросхеме имеется возможность изменения количества .разрядов выходного регистра. По умолчанию выходной регистр имеет 9 разрядов. Изменяя содержимое регистра конфигурации, микроконтроллер может увеличить количество разрядов до 12. Точность измерения температуры в диапазоне —10 .+85*С составляет -±0,5°С. На выходе микросхемы DS18B20 мы получаем прямой код. значение которого равно величине измеряемой температуры. В 9-разрядном режиме значение измеряемой температуры выдается -С дискретностью в 0,5'С. В двенадцатиразрядном режиме количество отсчетов повышается в восемь раз. Максимальное время преобразования для микросхемы DS18B20 также зависит от выбранного количества разрядов. Для 12-разрядного режима работы оно равно 750 мс.
2.4 Внутренняя архитектура микросхемы DS18B20
Микросхема DS18B20 выпускается в двух модификациях [2], Они отличаются исключительно конструкцией корпусу, На рисунке 10 приведен внешний вид обеих модификаций микросхемы. Основной вариант микросхемы выполнен в миниатюрном пластмассовом корпусе типа ТО-92. Второй вариант заключен в планарный восьмивыводной, миниатюрный корпус типа SOIC. Для того, чтобы различать эти два варианта исполнения, второй вариант получил обозначение DSI8B20Z. Микросхема имеет всего три задействованных вывода: DO-вход/выход данных 1-Wire интерфейса; VDD — вывод внешнего питания: GND — общий провод. Расположение выводов показано на рисунке 10.
Внутренняя структура микросхемы DS18B20 приведена на рисунке 11. Сигнал с шины DQ и напряжение с внешнего вывода питания (VDD ) прежде всего поступают на схему паразитного питания. Однако в схеме паразитного питании имеется еще один дополнительный элемент, о котором не говорилось ранее. Это датчик наличия питания. Датчик представляет собой пороговый элемент, на который поступает напряжение питания от внешнего источника. Датчик вырабатывает логически сигнал, поступающий в схему управления. В результате микросхема получает возможность автоматически определять режим своего питания. Микроконтроллер, работающий в качестве Master устройства на той же шине, имеет возможность запросить у всех подключенных к ней датчиков информацию о режиме питания и соответствующим образом скорректировать алгоритм своей работы.
Рисунок 10 - Внешний вид микросхем DS18B20 в двух разных исполнениях
Рисунок 11 - Внутренняя структура микросхемы DS18B20
Сигнал DQ, обеспечив напряжением схему паразитного питания поступает на 1-Wire порт, который служит аппаратной частью одно проводного интерфейса. Данные, полученные при помощи этого интерфейса, поступают в блокнотную память. Блокнотная память предназначена для временного хранения информации от датчика температуры и трех специальных регистров: регистра верхнего предела (Тн), регистра нижнего предела (TL) и регистра конфигурации. Все три специальных регистра представляют собой три ячейки флэш-памяти (EEPROM).
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем