Разработка системы теплоснабжения
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: изложение 8 класс русский язык, тесты с ответами
| Добавил(а) на сайт: Jemskih.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
2.3. Структурные решения по программному обеспечению периферийного устройства
Периферийное устройство (контроллер) содержит в себе однокристальную ЭВМ, которая имеет свой внутренний язык ассемблер. На этом языке реализовано программное обеспечение для контроллера. Это программное обеспечение позволяет по сигналу из диспетчерского пункта считывать данные с тепловычислителя и направлять их на модем, который генерирует импульсы и посылает их на радиостанцию. В случае пожара, взлома или затопления пункта учета тепловой энергии, контроллер получает соответствующий сигнал и производит соединение с диспетчерским пунктом, и сообщает об аварии.
На диспетчерском пункте находится компьютер, через который производится слежение за параметрами на пунктах учета тепловой энергии. На компьютере есть программа написанная на языке высокого уровня, которая обеспечивает оператору интерактивный интерфейс с периферийным устройством и позволяет посылать контроллеру различные команды. Программа содержит в себе математический аппарат для расчета, учета, архивирования и хранения необходимых параметров.
3. Разработка периферийного устройства
3.1. Выбор элементной базы
В настоящее время стремительно развивается микроэлектроника и микропроцессорные системы. В этих областях, как ни в каких других, находят свое широкое применение высокие технологии, быстрее всего внедряются новые технические решения, новые технологии, растет мощность вычислительных элементов с одновременным уменьшением их размеров. Для данного проекта было выбрано одно из таких решений - микроконтроллер AT90S1200, фирмы Atmel. Ниже я постараюсь привести доказательства правильности своего выбора.
Логотип фирмы Atmel в настоящее время уже достаточно хорошо известен российским техническим специалистам в области микроэлектроники. Основанная в 1984 году, фирма Atmel Corp., США, определила сферы приложений для своей продукции как телекоммуникации и сети, вычислительную технику и компьютеры, встраиваемые системы контроля и управления, бытовую технику и автомобилестроение. Atmel сегодня - это прогрессивная компания, выпускающая сложные изделия современной микроэлектроники; это один из признанных мировых лидеров в производстве широкого спектра устройств энергонезависимой памяти высокого быстродействия и минимального удельного энергопотребления, микроконтроллеров общего назначения и микросхем программируемой логики от простейших устройств PAL и GAL до микросхем СБИС CPLD и FPGA. Достаточно сказать, что практически все базовые кристаллы промышленного стандарта MCS51 фирмы Intel успешно заменены прямыми аналогами семейства AT89 фирмы Atmel. Эти скоростные, полностью статические 8-разрядные КМОП микроконтроллеры с многократно модифицируемой Flash-памятью программ, низким энергопотреблением и широким диапазоном допустимых напряжений питания, аппаратно и программно совместимы с соответствующими микроконтроллерами Intel и пользуются заслуженной популярностью у разработчиков и производителей электронной аппаратуры.
Однако, хочется подробнее познакомиться с еще одним крайне интересным направлением современной микроэлектроники, активно развиваемым фирмой Atmel. Это новое семейство высокопроизводительных 8-разрядных RISC (Reduced Instruction Set Computers) микроконтроллеров общего назначения, объединенных общей маркой AVR [7].
Замысел создания AVR родился в исследовательском центре Atmel в Норвегии. Группа разработчиков (инициалы некоторых из них, кстати, и сформировали марку "AVR": Alf Bogen / Vergard Wollan / Risc architecture) предложила ряд идей, которые легли в основу концепции AVR - микроконтроллеров:
1) использовать новейшую, наиболее скоростную и экономичную КМОП технологию фирмы Atmel в сочетании с RISC архитектурой для разработки и производства быстрых 8- разрядных микроконтроллеров, сравнимых с 16-разрядными микропроцессорами и микроконтроллерами по производительности и превосходящих микросхемы стандартной КМОП логики по скорости. Ожидаемая производительность - до 20 MIPS на частоте 20 МГц, что всего на 30% меньше, чем у Intel KU80386EXTC-25 при операциях типа "регистр - регистр". Время выполнения короткой команды на такой тактовой частоте составляет 50 нс;
2) разрабатывать архитектуру и систему команд AVR в теснейшем согласии с принципами языка Си так, чтобы аппаратная часть нового микроконтроллера и его система команд были неотъемлемыми частями одного целого и использовались с максимальным к.п.д. Хорошо известно, что в 1990-е годы языки программирования высокого уровня стали стандартным инструментом при создании программного обеспечения для встраиваемых микроконтроллеров. Существенно сокращается время разработки проектов и, соответственно, снижается их стоимость, а также облегчается создание универсальных средств поддержки разработок. Недалеким от истины будет и утверждение, что язык Си является наиболее популярным и эффективным средством для программирования микроконтроллеров. Система команд AVR разрабатывалась при непосредственном участии экспертов по языку Си и учитывает все основные особенности стандарта ANSI C. Результат налицо: компиляция исходных текстов, написанных на Си, осуществляется быстро и дает компактный, эффективный код. Конечно, можно работать и на Ассемблере для еще большего выигрыша в плотности упаковки конечного программного кода, но теперь у разработчика есть разумная альтернатива;
3) функционально расширить микроконтроллер возможностью программирования в системе (ISP) путем объединения Flash-технологии фирмы Atmel со стандартным скоростным последовательным интерфейсом (SPI). Это позволяет многократно модифицировать программу не только с помощью обычного программатора, но и непосредственно в системе, в конечном устройстве пользователя. При этом не требуется вводить никаких дополнительных аппаратных узлов и вспомогательных источников питания.
Результатом явилось появление нового, очень дешевого, скоростного, легкого в освоении и использовании семейства AT90S 8-разрядных микроконтроллеров марки AVR. Они представляют собой мощный инструмент, базу для создания современных высокопроизводительных и экономичных контроллеров многоцелевого назначения. Так, например, AVR используются в изделиях класса Smart Card для персональных компьютеров, в спутниковых навигационных системах для определения местоположения автомобилей на трассе, в миниатюрных автомобильных пультах дистанционного управления, в сетевых картах и на материнских платах компьютеров, в сотовых телефонах нового поколения и т.д.
Что же представляет собой микроконтроллер AT90S1200? Как он устроен и какова его архитектура? Начнем знакомство с аппаратных возможностей:
– диапазон напряжений питания, В - 2,7 - 6,0;
– тактовая частота, МГц - 0-16;
– количество линий ввода/вывода (max) - 15;
– количество инструкций - 89;
– объем Flash ROM, байт - 1К;
– объем EEPROM, байт - 64;
– количество таймеров/счетчиков - 1;
– аналоговый компаратор - есть;
– SPI (загрузка ROM и EEPROM) - есть;
– сторожевой таймер - есть;
– количество битов защиты - 2;
– число режимов энергосбережения - 2;
– число источников прерывания: внутренних/внешних - 2/1;
– тип корпуса - DIP28, SOIC28, SSOP28.
AT90S1200 имеют Flash-память программ ROM объемом 1K, которая может быть загружена как с помощью обычного программатора, так и посредством SPI интерфейса. Число циклов перезаписи ROM - не менее 1000. Два программируемых бита секретности позволяют защитить память программ от несанкционированного считывания. AT90S1200 имеют также блок энергонезависимой электрически стираемой памяти данных EEPROM объемом 64 байта. Этот тип памяти, доступный программе микроконтроллера непосредственно в ходе ее выполнения, удобен для хранения промежуточных данных, различных констант, таблиц перекодировок, калибровочных коэффициентов и т.п. EEPROM может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора. Число циклов перезаписи - не менее 100000.
Перечислим периферийные устройства AVR:
– таймер/счетчик, разрядность 8 бит;
– скоростной последовательный интерфейс SPI;
– встроенная система сброса микроконтроллера;
– асинхронный дуплексный последовательный порт UART;
– контроллер прерываний;
– внутренний тактовый генератор;
– сторожевой (WATCHDOG) таймер.
Внутренний тактовый генератор может запускаться от внешнего источника опорной частоты, от внешнего кварцевого резонатора или от внутренней RC-цепочки. Поскольку все AVR полностью статические, минимальная допустимая частота ничем не ограничена (вплоть до пошагового режима). Максимальная рабочая частота определяется конкретным типом микроконтроллера. Ограничения верхней границы частотного диапазона связаны с технологическими проблемами при производстве микросхем и будут устранены в последующих версиях кристаллов. В настоящее время контроллер AT90S1200 версии "F" может работать на частоте 16 МГц при комнатной температуре, а ограничение 12 МГц действует во всем температурном диапазоне [7].
Если времязадающим элементом для тактового генератора AVR является внутренняя RC-цепочка, то частота, на которой работает микроконтроллер, фиксирована и составляет 1 МГц. Это значение приближенное и изменяется в зависимости от величины напряжения питания и температуры корпуса. Выбор источника тактовой частоты (внутренний/внешний) программируется, правда только с помощью внешнего программатора. Как правило, AVR поставляются с фабрики уже "испеченными" для работы от внешнего источника опорной частоты, но можно заказать и другие. При этом в аббревиатуре микроконтроллера появляется литера "A", указывающая на то, что тактовый генератор данного кристалла функционирует от встроенной RC-цепочки, например, AT90S1200A-12PC. Запрограммировать микроконтроллер AT90S1200 на работу от внутреннего RC-генератора через последовательный порт SPI невозможно.
Сторожевой таймер предназначен для защиты микроконтроллера от сбоев в процессе работы. Он имеет свой собственный RC-генератор, работающий на частоте 1 МГц. Как и для основного внутреннего RC-генератора, значение 1 МГц является приближенным и зависит прежде всего от величины напряжения питания микроконтроллера и от температуры.
Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 5 до 32. Каждый разряд любого порта может быть запрограммирован на ввод или на вывод информации. Мощные выходные драйверы обеспечивают типовую токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА. Все значения приведены для напряжения питания 5В.
AVR работают в широком диапазоне питающих напряжений от 2,7 В до 6,0 В. Ток потребления в активном режиме зависит от величины напряжения питания и частоты, на которой работает микроконтроллер, и составляет менее 1 мА для 500 кГц, 5...6 мА для 5МГц и 8...9 мА для частоты 12 МГц. AVR также могут быть переведены программным путем в один из двух режимов пониженного энергопотребления. Первый - режим холостого хода (IDLE), когда прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и сторожевой таймер продолжают функционировать. Ток потребления здесь не превышает 2,5 мА на частоте 12 МГц. Второй - режим микропотребления (SLEEP), когда сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов. Выход из режима SLEEP возможен либо по сигналу сброса, либо от внешнего источника прерывания. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном - менее 1мкА. (Все вышеприведенные значения справедливы для напряжения питания 5 В).
Температурные диапазоны работы микроконтроллеров AVR - коммерческий (0...70С) и индустриальный (-40...+85С).
С точки зрения программиста AVR представляет собой 8-разрядный RISC микроконтроллер, имеющий быстрый Гарвардский процессор, память программ, память данных, порты ввода/вывода и интерфейсные схемы.
Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но и информационных шин для обращения к памяти программ и к памяти данных. Способы адресации и доступа к ним также различны. Такое построение уже ближе к структуре скоростных цифровых сигнальных процессоров и обеспечивает существенное повышение производительности за счет:
а) одновременной работы центрального процессора как с памятью программ, так и с памятью данных;
б) расширения до 16 бит разрядной сетки шины данных памяти программ. Следующим шагом на пути увеличения быстродействия AVR является использование технологии конвейеризации, вследствие чего цикл "выборка - исполнение" команды может быть заметно сокращен, повышая тем самым производительность процессора. Например, у микроконтроллеров семейства MCS51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В PIC-контроллерах фирмы Microchip уже реализована конвейерная обработка. Короткая команда выполняется у них в течение 8 периодов тактовой частоты (2 машинных цикла). За это время последовательно дешифрируется и считывается код операции, исполняется команда, фиксируется результат и одновременно считывается код следующей операции (конвейер). Поэтому одна короткая команда в общем потоке реализуется за 4 периода тактовой частоты или за один машинный цикл. В микроконтроллерах AVR тоже используется одноуровневый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PIC-контроллерах, за один машинный цикл. Главное же отличие состоит в том, что этот цикл у AVR длится всего один период тактовой частоты по сравнению с четырьмя у PIC.
Следующая отличительная черта архитектуры микроконтроллеров AVR -регистровый файл быстрого доступа. Каждый из 32-х регистров общего назначения длиной 1 байт непосредственно соединен с арифметико-логическим устройством (ALU) процессора. Это означает, что в AVR существует 32 регистра-аккумулятора. Это позволяет в сочетании с конвейерной обработкой выполнять одну операцию в ALU за один машинный цикл. Например, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только одного машинного цикла!
Шесть из 32-х регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных. Один из этих указателей применяется также для доступа к таблицам перекодировок, записанных в памяти программ микроконтроллера. Использование трех 16-битных указателей существенно повышает скорость пересылки данных при работе прикладной программы.
Во время переходов к выполнению процедур обработки прерываний или подпрограмм текущее состояние программного счетчика сохраняется в стеке. Только у AT90S1200 стек реализован аппаратно с глубиной вложений, равной 3. Во всех остальных типах AVR микроконтроллеров стек формируется программно и располагается в общем адресном пространстве оперативной памяти данных. 16-разрядный указатель стека находится в общем адресном пространстве оперативной памяти и доступен для чтения и записи.
Рекомендуем скачать другие рефераты по теме: время реферат, переплет диплома.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата