Реферат: Разработка микропроцессорной системы климат-контроля

33h - чтение ROM (ReadROM) - команда инициализирует термодатчик для генерации в линию идентификационного номера. Эту команду нельзя посылать, если к одной линии связи подключено несколько термодатчиков. Прежде чем подключить несколько датчиков на одну линию, необходимо для каждого датчика определить его личный номер с использованием данной команды.

55h - идентификация ROM (MatchROM) - команда выдается перед 64-битным идентификационным номеромпод­тверждает обращение именно к этому термодатчику. Все последующие коман­ды будут восприниматься только одним датчиком до команды обнуления ли­нии.

CCh - пропуск ROM (SkipROM) - команда может использоваться, когда необходимо обратиться ко всем датчикам, расположенным на одной линии, или когда к линии подключен только один датчик. Общей для многих датчиков может быть команда начала преобразования температуры. При обращении к одному термодатчику коман­да позволяет упростить программу за счет того, что пропускается громоздкая подпрограмма идентификации кода и вы­числения кода четности.

ECh - поиск аварии (AlarmSearch) - действие команды аналогично команде «Поиск ROM», но отвечает на нее термодатчик, если измеренная температура выходит за пределы предваритель­ных установок по максимуму и минимуму.

44h - начало преобразования температуры (Convert Т) - команда разрешает преобразование температуры и запись результата в блокнот. От подачи этой команды до считывания необходимо выдержать паузу, не­обходимую для преобразования с установленной точностью.

Beh - чтение блокнота (ReadScratchpad) - в блокноте содержится 8 байт информации (рисунок 2.6). Если нужна инфор­мация только о температуре, то считывается 9 бит. Термодатчик будет выда­вать информацию до тех пор, пока управляющий микроконтроллер не выдаст в линию нулевой импульс.

Рисунок 2.6 – Карта памяти термодатчика DS 1820

4Eh - запись в блокнот (WriteScratchpad) - после этой команды управляющий микроконтроллер должен послать два байта для записи в блокнот максимальной ТН и минимальной TL температу­ры ограничения по максимуму и минимуму. Все 16 бит необходимо переда­вать непрерывно без обнуления линии.

48Н - копирование блокнота (CopyScratchpad) - после этой команды минимальная (TL) и максимальная (ТН) установлен­ные значения температур переписываются в энергонезависимую память (EEPROM). После отключения напряжения питания записанные значения! сохранятся в памяти.

B8h - восстановление (Recall В2 ) - команда необходима для копирования значений температуры из. EEPROM в рабочую зону блокнота. При выполнении восстановления термо­датчик выдает в линию низкий уровень, а после окончания записи — высокий.

B4h - питание от линии (ReadPowerSupply) - после этой команды термодатчик переходит к питанию от линии. В составе термодатчика имеется конденсатор, который заряжается от высокого уровня линии.

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

Микроконтроллерный термодатчик тактируется внутренним генератором частотой 4 МГц и рассчитан на работу с управляющим микроконтроллером, который должен тактироваться такой же частотой.

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

Передача данных по однопроводной шине выполняется импульсами нулево­го уровня, но различной длительности. Импульс воспринимает­ся как логическая 1, если его длительность не превышает 15 мкс (рисунок 2.7). Если дли­тельность импульса больше 15 мкс, то он воспринимается как логический 0.

Рисунок 2.7 – Импульсы логического 0 и 1

Длитель­ность одного бита информации приня­та равной 60 мкс. Отсюда и разброс возможных длительностей импульсов: лог. 0 — I...15 мкс, лог. 1 — 15...60 мкс. Для того чтобы термодатчик подго­товить к приему информации, управ­ляющий микроконтроллер должен по­слать в линию импульс обнуления (Reset) (рисунок 2.8).

Рисунок 2.8 – Импульс обнуления термодатчика

Импульс обнуления должен иметь длительность 480...960 мкс. В ответ на обнуление линии термодат­чик посылает импульс присутствия (Presence). Если в устройстве не преду­смотрено отключение датчика, то им­пульс присутствия для упрощения про­граммы можно не проверять, а запол­нить это время (около 100 мкс) паузой. Длительность импульса Presenceможет быть в пределах 60...240 мкс.

Если к одной линии подключено несколько термодатчиков, то проверка импульса присутствия обязательна. Перед приемом каждого бита информации с датчика, микроконтроллер управления PICдолжен послать короткий импульс го­товности (запроса) длительностью 1...3 мкс.

Обмен данными и командами начинается с младшего бита. Формат реги­стров термодатчика показан на рисунке 2.9.

Младший регистр температуры LS

26 25 24 23 22 21 20 2-1

Старший регистр температуры MS (знаковый)

S S S S S S S S

Регистры установки ограничения температуры TH , TL

S 26 25 24 23 22 21 20

Рисунок 2.9 – Формат регистров термодатчика DS 1820

Младший регистр температуры (LS) несет информацию о температуре. В нулевой бит записана информация о де­сятых долях температуры. Если нулевой бит единичный, то десятые доли рав­ны 0,5°С.

Старший регистр температуры (MS) содержит информацию о знаке температуры, Дели значения регистра нулевые, то знак температуры положи­тельный, и наоборот.

Поскольку все биты регистра MS одинаковы, то доста­точно считать только младший бит, т.е. длина слова от термодатчика составляет 9 бит = 8 бит (температура LS) + 1 бит знаковый (MS).

Регистры установки ограничения температуры Тн , TL несут информацию только о целых значениях температуры. В седьмом бите записывают информацию знаке температуры. При отрицательной температуре в седьмой бит необходимо записать единицу.

Таблица 2.5 – Значения кодов термодатчика при различной температуре

Температура

Формируемый

двоичный код

Шестнадцатиричный код

+85,0о С

+25,0o C

+0,5o C

0o C

-0,5o C

-25,0o C

-55,0o C

0000 0000 1010 1010

0000 0000 0011 0010

0000 0000 0000 0001

0000 0000 0000 0000

1111 1111 1111 1111

1111 1111 1100 1110

1111 1111 1001 0010

00ААh

0032h

0001h

0000h

FFFFh

FFCEh

FF92h

В таблице 2.5 приведен пример принимаемых кодов при различных температу­рах. Для того чтобы получить значение температуры при минусовых темпера­турах, необходимо принятую информацию перевести в дополнительный код. Для перевода в дополнительный код необходимо принятый код инвертиро­вать и прибавить единицу. Например, для значения 1111 1111 получим 0000 0001, т. е. 0.5°С, но со знаком минус.

Последовательность действий управляющего микроконтроллера PIC при считывании температуры с одного термодатчика DS 1820:

1) послать сигнал обнуления линии (480…960 мкс);

2) принять импульс присутствия или заполнить паузой (60…240 мкс);

3) послать команду пропуска идентификации 0хССh;

4) послать команду начала преобразования 0х44h;

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