4. Программное обеспечение контроллера

4.1. Разработка алгоритмов обработки данных контроллером

Программное обеспечение системы можно разделить на две группы:

– управляющие программы передающей аппаратуры - контроллера сбора и передачи телемеханической информации;

– программа компьютера.

Программа контроллера ждет сигнала ее вызова с диспетчерского пункта. Пока нет вызовов программа следит за состоянием датчиков пожара, затопления и охранным датчиком. Если от них приходит сигнал, то происходит вызов диспетчерского пункта и сообщается о причине вызова. Как только приходят четыре гудка на модем на пункте учета тепловой энергии, программа отправляет диспетчеру запрос на пароль и следит за состоянием линии связи, чтобы не потерять данные. По приходу пароля его сравнивают с тем, который зашит в ПЗУ данного контроллера и если сравнение прошло успешно, то диспетчер получает доступ к данным на теплосчетчике. Если пароль неверный - модем “кладет трубку” и система возвращается в начальное состояние. Для синхронизации передачи используется асинхронный старт-стоповый режим передачи информации.

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

4.2. Разработка программного обеспечения

Программа AVR-микроконтроллера - это размещенная в памяти программ последовательность команд, каждая из которых состоит из двоичных кодов операций и двоичных адресов операндов.

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

Специальные программы-трансляторы затем переводят символические обозначения в двоичные коды.

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

Кроме языка ассемблера, для программирования встраиваемых микропроцессоров широкое распространение получили языки программирования высокого уровня: С и BASIC. Они предоставляют программисту такой же легкий доступ ко всем ресурсам микроконтроллера, как и ассемблер, но, вместе с тем, дают возможность создавать хорошо структурированные программы, снимают с программиста заботу о распределении памяти данных и содержат большой набор библиотечных функций для выполнения стандартных операций.

Важнейшим достоинством системы команд AVR-микроконтроллеров является то, что она была специально оптимизирована для использования языка С.

Вся энергонезависимая память AVR-микроконтроллеров размещается внутри кристалла и состоит из электрически программируемых FLASH-памяти программ и EEPROM-памяти данных.

Так как все команды AVR представляют собой 16-разрядные слова, FLASH- память организована как последовательность 16-разрядных ячеек и имеет емкость от 512 слов до 64K слов в зависимости от типа кристалла.

Во FLASH-память, кроме программы, могут быть записаны постоянные данные, которые не изменяются во время функционирования микропроцессорной системы. Это различные константы, таблицы знакогенераторов, таблицы линеаризации датчиков и т.п.

Достоинством технологии FLASH является высокая степень упаковки, а недостатком то, что она не позволяет стирать отдельные ячейки. Поэтому всегда выполняется полная очистка всей памяти программ. При этом гарантируется, как минимум 1000 циклов перезаписи FLASH-памяти AVR.

EEPROM блок электрически стираемой памяти AVR предназначен для хранения энергонезависимых данных, которые могут изменяться непосредственно на объекте. Это калибровочные коэффициенты, различные установки, конфигурационные параметры системы. EEPROM-память имеет меньшую емкость (от 64 байт до 4К байт), но имеет возможность побайтной перезаписи ячеек, которая может происходить как под управлением внешнего процессора, так и под управлением собственно AVR-микроконтроллера во время его работы по программе.

В энергонезависимой памяти AVR имеется несколько специализированных битов [7].

LOCK-биты (LB1, LB2) предназначены для защиты программной информации, содержащейся во FLASH-памяти. Возможные режимы защиты перечислены в таблице 4.1. Запрограммировав биты защиты, стереть их можно лишь во время очистки FLASH -памяти, которая уничтожает и всю программу.

Таблица 4.1

Режимы защиты программы

Состояние Lock-бит
Режим LB1 LB2 Тип защиты
1 1 1 Защита отсутствует
2 0 1 Запрет программирования Flash
3 0 0 Запрет как программирования, так и чтения Flash.

FUSE-биты позволяют задавать некоторые конфигурационные особенности микроконтроллера (см. таблицу 4.2).

Микроконтроллеры AT90S1200 имеют FUSE-биты SPIEN и RCEN. Все остальные типы classicAVR конфигурируются при помощи FUSE-битов SPIEN и FSTRT. MegaAVR имеют четыре FUSE-бита: SPIEN, SUT0, SUT1 и EESAVE.

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

Таблица 4.2

Назначение FUSE-битов

Fuse-бит (значение по умолчанию) Значение Режим работы AVR
0 AVR тактируется внутренним RC-генератором. (работа AVR без каких-либо внешних элементов)
RCEN (1) 1 Тактирование при помощи внешнего кварцевого резонатора или генератора.
0 Разрешение последовательного программирования через SPI интерфейс
SPIEN (0) 1 Запрещение последовательного программирования через SPI интерфейс
0 Задержка старта AVR после сброса ~ 0.25мс
FSTRT (1) 1 Задержка старта AVR после сброса ~ 16 мс
00 Задержка старта AVR после сброса ~ 5 мс
01 Задержка старта AVR после сброса ~ 0.5 мс
SUT 0/1 (11) 10 Задержка старта AVR после сброса ~ 4.0мс
11 Задержка старта AVR после сброса ~ 16 мс
0 EEPROM не стирается во время цикла очистки энергонезависимой памяти
EESAVE (1) 1 EEPROM стирается во время цикла очистки энергонезависимой памяти

Разнообразные способы программирования AVR-микроконтроллеров обеспечивают простой и удобный доступ к внутренней энергонезависимой памяти во всех возможных ситуациях программирования кристалла.

Для энергонезависимых FLASH и EEPROM блоков AVR предусмотрены параллельный и последовательный способы программирования, которые выполняются под управлением внешнего процессора, а для EEPROM-памяти также возможен способ программной перезаписи под управлением AVR. LOCK-биты могут программироваться как параллельно, так и последовательно. FUSE-биты у младших моделей AVR могут программироваться только последовательно, а у старших - и параллельно, и последовательно.

Параллельное программирование энергонезависимой памяти использует большое число выводов микроконтроллера и выполняется на специальных программаторах. Такое программирование удобно, когда при массовом производстве необходимо "прошивать" большое количество кристаллов.

Последовательное программирование может выполняться прямо в микропроцессорной системе (In System Programming) через последовательный SPI-интерфейс, который использует всего четыре вывода AVR-микроконтроллера. Эта новая возможность является очень важной, так как позволяет обновлять программное обеспечение в уже функционирующей микропроцессорной системе.


Информация о работе «Разработка системы теплоснабжения»
Раздел: Информатика, программирование
Количество знаков с пробелами: 98975
Количество таблиц: 2
Количество изображений: 0

Похожие работы

Скачать
39661
9
4

... менее 10 м вод. ст. Для ЦТП принимается располагаемый напор 25 м, при непосредственном присоединении систем отопления ≥ 5 м. Строится линия потерь давления в подающей магистрали. В закрытых системах теплоснабжения она является зеркальным отображением пьезометрической линии обратной магистрали. В открытых системах потери давления в подающей линии больше потерь давления в обратной линии из-за ...

Скачать
175499
52
23

... у абонента, который всегда может быть сдросселирован. 2.2 Тепловой расчет толщины изоляционного материала Одним из способов повышения эффективности работы системы теплоснабжения промышленного предприятия является снижение потерь тепла при транспортировке теплоносителя к потребителям. В современных условиях эксплуатации потери тепла в сетях составляют до 20.. 25% годового отпуска тепла. При ...

Скачать
102681
18
12

... схема подогревателей ГВС с независимым подключением системы отопления Таблица 2.1 – Обозначение к Рис.2.1,Рис.2.2 2.1 Тепловой и гидравлический расчет пластинчатых водонагревателей Схема подключения водонагревателей горячего водоснабжения в закрытых системах теплоснабжения выбирается в зависимости от соотношения максимального теплового потока на горячее водоснабжение  и максимального ...

Скачать
46064
11
0

... 18 62,77 8 211 41,15 9 32,15 9 Туалет 29,99 6 23,99 10 Всего 426,06 105 321,06 Финансовый анализ показал, что проведение энергосберегающих мероприятий позволяет сократить величину денежных затрат на использование тепловой энергии в системе теплоснабжения исследуемых помещений. Если рассчитывать по пропорции, что 426,06 грн. можно сэкономить за весь отопительный сезон (152 дня), ...

0 комментариев


Наверх