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

Рассмотрим принципиальную электрическую схему, реализующую 1-Wireинтерфейс. Схема соединения ведущего и ведомого устройств посредством однопроводной шины приведена на рисунке 7. На этом рисунке также показаны особенности схемной реализации выходных каскадов ведущего и ведомого устройств. В схеме 1-Wireинтерфейса используются выходные каскады с открытым коллектором (стоком) и общей нагрузкой RH для всех элементов сети. В спецификации для 1-Wireинтерфейса специально оговаривается, что резистор RH должен находиться в непосредственной близости от ведущего устройства.

Биполярный транзистор в выходном каскаде ведущего устройства показан условно. С не меньшим (а скорее большим) успехом можно применять микросхемы, у которых выходные каскады построены по КМОП технологии. Ведомые устройства обычно построены на КМОП транзисторах. В режиме ожидания все выходные транзисторы закрыты. На шине присутствует напряжение логической единицы. Информация по шине передается при помощи отрицательных импульсов. Любое устройство, подключенное к шине, как ведущее, так и ведомое, может создавать отрицательные импульсы и тем самым передавать информацию. Однако ведомое устройство начинает процесс передачи только под управлением ведущего.

В составе ведомого устройства имеется источник тока, показанный на рисунке 7 двумя пересекающимися окружностями. Этот источник создает внутреннюю утечку на входе 1-Wireинтерфейса. Смысл этой утечки – создать нулевой уровень сигнала на внутренних элементах ведомого устройства при его отключении от шины 1-Wire.Когда соединение будет восстановлено, внутренняя логика ведомой микросхемы обнаруживает перепад напряжения с нуля на единицу. Сразу после получения такого сигнала ведомая микросхема должна выдать на шину 1-Wire сигнал присутствия.


Рисунок 7 – Электрическая схема 1-Wireинтерфейса

Каждое из подключенных устройств (ведущее и ведомое) должно содержать специальное управляющее устройство, реализующее протокол шины 1-Wire. Именно протокол определяет все правила передачи информации.

Протокол 1-Wire имеет несколько разных уровней. Самый низкий уровень описывает, каким образом передаются отдельные биты. При этом предусмотрен двусторонний обмен информацией. Все операции на шине производятся исключительно под управлением Masterустройства. Оно может выполнять операции двух видов: записывать информацию в Slave устройство и считывать информацию из него. Информация передается побайтно, в последовательном виде, бит за битом, начиная с младшего бита. В обоих случаях Masterустройство вырабатывает на шине тактовые импульсы. Для этого оно периодически «подсаживает» шину при помощи своего 1-Wireинтерфейса. Полезная информация передается путем изменения длительности этих импульсов.

При записи информации длительностью импульсов управляет Masterустройство. В режиме чтения Masterустройство начинает формирование импульса, но Slave устройство может продлевать длительность любого импульса, «подсаживая» в свою очередь сигнал на линии в нужный момент. На рисунке 8 изображены две временные диаграммы. Верхняя диаграмма иллюстрирует режим записи двух разных битов информации, а нижняя – режим чтения. Участки диаграммы, где линия «отпущена» и уровень сигнала на линии определяется резистором RH , изображены на диаграмме при помощи тонких линий. Участки, где один из элементов сети «подсаживает» линию, изображены при помощи толстых линий.

Рассмотрим, как происходит запись бита. В исходном состоянии все Slave устройства, подключенные к шине, находятся в режиме ожидания. Линия «отпущена». То есть выходные транзисторы всех элементов шины закрыты, и напряжение на шине определяется резистором нагрузки RH . Для того, чтобы записать данные в одно из Slave устройств, Master начинает формировать отрицательные синхроимпульсы (верхняя диаграмма на рисунке 8). На каждый передаваемый бит формируется один импульс. Импульсы передаются путем «подсаживания» линии до нуля. Для передачи каждого бита выделяется промежуток времени стандартной длительности. Этот промежуток получил название «слот» (Slot). Как видно из рисунка 8, величина слота для передачи одного бита информации (Tx) должна лежать в пределах от 60 до 120 мкс.


Рисунок 8 – Временная диаграмма процесса записи и чтения одного бита

Если значение передаваемого бита равно 0, то Master вырабатывает «длинный» импульс. Его длина равна длительности слота. Для передачи «единичного» бита Master вырабатывает «короткий» импульс, который, по сути, является чистым синхроимпульсом (1 мкс). Оставшаяся часть сигнала должна быть заполнена единичным сигналом. Между двумя слотами должен быть небольшой промежуток, во время которого сигнал на шине тоже равен единице. Slave устройство в этом режиме лишь принимает сигнал. Для этого оно постоянно находится в режиме ожидания. Обнаружив начало синхроимпульса, Slave устройство начинает процесс приема информации. Передний фронт этого импульса служит Slave устройству началом отсчета. Выдержав паузу, равную длительности синхроимпульса, Slave устройство считывает уровень сигнала на линии. Если в этот момент времени уровень сигнала на линии равен нулю, значит и передаваемый бит равен нулю. Если же сигнал будет равен единице, то бит равен единице. Протокол шины 1-Wire жестко определяет длительность слота. Интервал между слотами в свою очередь имеет ограничение только на минимальное значение – 1мкс. Максимальное значение этого интервала неограниченно. С помощью этого интервала может легко регулироваться скорость передачи данных от своего максимального значения (16,3 Кбит/с) практически до нуля.

Отличие процесса чтения бита (нижняя диаграмма на рисунке 8) от записи состоит в том, что Master вырабатывает только синхроимпульсы (короткой длительности). Обнаружив синхроимпульс, Slave устройство должно удлинить или не удлинять этот синхроимпульс в пределах слота. Если очередной считываемый бит равен нулю, то синхроимпульс удлиняется Slave устройством, если же он равен единице, то удлинения не происходит. На рисунке 8 участки временной диаграммы, где линию «подсаживает» Master устройство, изображены толстой сплошной линией. Участки, которые «подсаживает» Slave устройство изображены прерывистой сплошной линией. Master устройство считывает эту информацию, контролируя уровень сигнала внутри слота сразу после синхроимпульса.

Для надежной работы однопроводного интерфейса необходимо, чтобы в процессе передачи информации всеми элементами сети строго соблюдались временные параметры. При этом более жесткие требования предъявляются к Master устройству, так как в его роли выступает микроконтроллер, способный с высокой точностью отрабатывать любые временные интервалы. При записи ведомое устройство (в нашем случае датчик температур), обнаружив на шине передний фронт синхроимпульса, должно сформировать задержку минимум в 15 мкс и затем произвести проверку сигнала на шине. Допустимый разброс времени задержки лежит в пределах от 15 до 60 мкс. Этот диапазон показан на рисунке 8 в виде области, обозначенной как «Зона проверки уровня Slave». В режиме чтения бита Master вырабатывает только синхроимпульсы, длительность которых равна 1 мкс. Если читаемый бит равен нулю, Slave устройство продлевает длительность синхроимпульса. Минимальная длительность продленного импульса составляет 15 мкс. Для этого временного интервала тоже допускается довольно значительный разброс: длительность удлиненного импульса может вырасти еще на 45 мкс. Если читаемый бит равен единице, удлинения синхроимпульса не происходит. Таким образом, для того, чтобы правильно оценить значение читаемого бита, Master устройство должно прочитать уровень сигнала на шине сразу после окончания синхроимпульса, но не позднее, чем через 15 мкс. Зона проверки для Master устройства в режиме чтения значительно уже аналогичной зоны для Slave устройства в режиме записи.

Ряд отдельных бит при чтении или записи формируется в байты. Байты передаются младшим битом вперед. Первые восемь битов – это первый байт. Следующие восемь – второй байт, и так далее. Начало всей этой цепочки определяется сигналом сброса. Импульс сброса – это сверхдлинный отрицательный импульс на шине 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 команда имеет другой код), Совпадение ПЗУ, Пропуск ПЗУ, Поиск ПЗУ. Все эти команды, кроме команды Пропуск ПЗУ, не используются в случае, если в сети имеется лишь одно устройство. Поскольку для выполнения требований технического задания одного датчика температуры вполне достаточно, ограничимся описанием команды Пропуск ПЗУ (SkipROM). Эта команда (код – 0ССН) позволяет перейти на транспортный уровень всем устройствам в сети, оставляя их активными. В нашем случае устройство всего одно.

После команды сетевого уровня все элементы сети переходят на транспортный уровень. Список команд этого уровня разнится для каждого устройства. Команды электронного датчика температуры DS18B20 будут рассмотрены в данной работе позднее. Следует отметить, что для выполнения очередной команды после выполнения команды транспортного уровня необходимо произвести импульс начального сброса.

Теперь приступим непосредственно к увлекательному описанию интегрального датчика температуры фирмы DallasSemiconductorDS18B20.

2.3 Выбор датчика температуры

Фирма DallasSemiconductor выпускает целый набор микросхем-измерителей температуры. Самый первый интегральный термодатчик с 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 в двух разных исполнениях

К-во Просмотров: 395
Бесплатно скачать Курсовая работа: Разработка системы управления кондиционером