скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Разработка системы теплоснабжения

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

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

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

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

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-микроконтроллера. Эта новая возможность является очень важной, так как позволяет обновлять программное обеспечение в уже функционирующей микропроцессорной системе.

4.3. Рекомендации по отладке

Подготовка программы для AVR-микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов:

– создание текста программы;

– трансляция текста в машинные коды и исправление синтаксических ошибок;

– отладка программы, то есть устранение логических ошибок;

– окончательное программирование AVR-микроконтроллера.

Каждый из этапов требует использования специальных программных и аппаратных средств. Ниже перечислены наиболее доступные из них на сегодняшний день.

Базовые программные средства фирмы Атмел распространяются бесплатно, в то время как аппаратные средства имеют свою стоимость.

Следует отметить, что кроме бесплатных программных средств фирмы Атмел, позволяющих программировать только на языке ассемблера, фирмами IAR SYSTEMS, CMX CORPORATION, KANDA SYSTEMS Ltd. и другими разработаны средства поддержки программирования на языках высокого уровня С и BASIC, а также операционные системы реального времени. Эти более сложные и дорогостоящие продукты мы не обсуждаем, но информацию о них и демонстрационные версии можно получить в фирме ЭФО или в Корпорации "Точка Опоры".

Рассмотрим более подробно этапы подготовки программы для AVR Если Вы работаете в среде MS-DOS, то для выполнения первого и второго этапа Вам придется воспользоваться различными средствами. Для создания текста программы подойдет любой текстовый редактор DOS, который формирует на выходе ASCII-файлы, например, встроенный редактор Norton Commander, редактор Multi Edit и т.п. Для трансляции текста программы в коды фирмой Атмел предлагается DOS-версия программы-транслятора AVRASM.

Для работы в среде Windows 3.11/95/NT фирмой Атмел предлагается программа WAVRASM, которая позволяет выполнить создание текста программы и его трансляцию внутри одной оболочки и обеспечивает дополнительный сервис для быстрого поиска синтаксических ошибок в тексте программы.

Результатом Вашей работы на первом этапе является файл <имя_файла>.asm, который содержит текст программы (расширение имени файла обычно указывает на язык программирования) и является входным для программ-трансляторов, которые, в свою очередь, создают четыре новых файла: файл листинга (<имя_файла>.lst), объектный файл (<имя_файла>.obj), файл-прошивка FLASH-памяти (<имя_файла>.hex), файл-прошивка EEPROM-памяти (<имя_файла>.eep).

Файл листинга - это отчет транслятора о своей работе. В нем приводится транслируемая программа в виде исходного текста, каждой строке которого сопоставлены соответствующие двоичные коды. Кроме того, листинг содержит сообщения о выявленных ошибках.

Объектный файл используется в дальнейшем как входной для программы-отладчика AVRSTUDIO и имеет специальный формат. Файлы прошивки FLASH и EEPROM блоков памяти предназначены для работы с любыми последовательными и параллельными программаторами AVR и имеют стандартные форматы.

Следующим этапом подготовки программы является ее отладка, которая может выполняться двумя основными способами: на персональном компьютере при помощи программы-симулятора или в реальной микропроцессорной системе. Два эти способа взаимно дополняют друг друга.

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

В то же время, отладку подпрограмм, связанных с какими-либо внешними элементами, удобно выполнять непосредственно в рабочей системе. Например, если микроконтроллер генерирует ШИМ-сигналы, управляющие яркостью свечения светодиодов, то оценить игру красок Вы сможете только глядя на реальный макет.

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

Наиболее быстрый, не требующий пайки способ построения микропроцессорной системы на основе AVR - это приобретение комплекта AVR STARTER KIT фирмы Атмел, который содержит плату DEVELOPMENT BOARD, книгу "Development tool user's guide", дискеты с программным обеспечением, CD-ROM с полной документацией на все типы AVR и многочисленными примерами прикладных программ для AVR (содержимое дискет и CD-ROM диска можно также найти на данной web-странице). Плата DEVELOPMENT BOARD содержит панельки для подключения базовых типов AVR-микроконтроллеров в DIP-корпусах; источник питания; последовательный программатор, узел интерфейса RS-232 для связи с компьютером по асинхронному последовательному каналу; наборы из 8 светодиодов и из 8 кнопочных переключателей, которые можно подключать к выводам портов микроконтроллера; разъемы, через которые при помощи гибких кабелей можно наращивать микропроцессорную систему. Универсальность DEVELOPMENT BOARD удобна для обучения и для макетирования новых разработок.

Вместе с тем, для многих конкретных проектов может не подойти конструктивная реализация DEVELOPMENT BOARD или избыточным будет использование на этой плате источника питания, последовательного программатора и панелей под различные типы корпусов. В таком случае выполняют специализированную разработку, удовлетворяющую требованиям конкретной задачи.

Одним из важнейших достоинств AVR-микроконтроллеров является то, что все его аппаратные ресурсы "спрятаны" внутри, и поэтому схема включения AVR очень проста. Такая простота и миниатюрность позволяет во многих конкретных приложениях не выносить цифровую часть на отдельную плату, а помещать AVR непосредственно внутри аналогового блока. Для обучения технологии программирования AVR Вы можете собрать макет схемы за 15 минут.

Итак, если Вы решили работать не с платой DEVELOPMENT BOARD, а со своей собственной микропроцессорной системой, то Вам необходимо приобрести еще какое-либо программирующее устройство. Как упоминалось выше, существует два способа программирования AVR-микроконтроллеров: последовательное программирование через SPI-интерфейс и параллельное программирование.

Параллельное программирование, которое требует извлечения AVR-микроконтроллера из системы и установки его в программатор, весьма неудобно на этапе отладки программы.

Для программирования Вашей микропроцессорной системы по SPI-интерфейсу непосредственно в системе фирмой Атмел предлагается программа AVRPROG и программирующий SPI-кабель, в который встроен последовательный программатор.

Кроме того, функцией программирования по последовательному SPI-интерфейсу обладает параллельный программатор FLASHER. Способ отладки микропроцессорной системы при помощи SPI-интерфейса отличается своей дешевизной, но, однако, имеет и недостатки. Во-первых, каждый раз при внесении изменений в программу Вы перепрограммируете FLASH-память микроконтроллера, количество циклов перезаписи которой ограничено хоть и достаточно большим, но все же конечным числом. Во-вторых, описанный способ не дает возможности пошаговой отладки программы.

В связи с этим, фирмой Атмел разработаны более мощные, но и более дорогие внутрисхемные эмуляторы (in-circuit emulator) ICEPRO и megaICEPRO. Они представляют собой микропроцессорные устройства, которые с одной стороны связываются с Вашей микропроцессорной системой через панель, предназначенную для установки AVR-микроконтроллера, а с другой - с персональным компьютером и работают под управлением уже упоминавшейся программы фирмы Атмел AVRSTUDIO.

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

Завершающим этапом программирования AVR-микроконтроллера является занесение в память уже отлаженной программы. Оно может быть выполнено так же, как и при отладке программы, через SPI-интерфейс. Однако необходимо помнить, что последовательное программирование младших моделей AVR не позволяет изменять FUSE-биты микроконтроллера.

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

Фирма ЭФО предлагает два типа программаторов, поддерживающих программирование AVR-микроконтроллеров. Программатор FLASHER может выполнять как параллельное программирование, так и последовательное через SPI-интерфейс. Универсальный программатор СТЕРХ поддерживает лишь параллельное программирование.


Страницы: 1, 2, 3, 4, 5, 6


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.