- •Бакалаврская работа
- •Пояснительная записка
- •140400 «Электроэнергетика и электротехника»
- •Исходные данные на проектирование.
- •Аннотация
- •.Программная модель avr и система команд……………………………..……....27
- •1.Обзор и анализ существующих типов ветроколес.
- •1.1.Ветрогенераторы с горизонтальной осью вращения.
- •1.2.Ветрогенераторы с вертикальной осью вращения.
- •1.3.Типы контроллеров заряда.
- •2.Разработка электрооборудования для вероустновки на базе микроконтроллера
- •2.1.Обзор микроконтроллеров avr.
- •2.2.Архитектура микропроцессорного ядра avr-микроконтроллеров.
- •2.3.Программная модель avr и система команд.
- •3.Разработка системы управления контроллера заряда на базе микроконтроллера
- •3.1.Используемые технические средства
- •3.2 Описание макета программатора.
- •3.3 Разработка алгоритма программы.
- •4. Расчет инвертора для питания асинхронного двиагетеля.
- •4.1 Исходные данные.
- •4.2 Выбор двигателя.
- •4.3 Выбор транзисторов и диодов.
- •4.4. Расчет потерь в инверторе.
- •4.5.Тепловой расчет инвертора.
- •4.6. Расчет и выбор выпрямителя.
- •4.7. Тепловой расчет выпрямителя.
- •4.8. Расчет охладителя.
- •4.9. Расчет фильтра.
- •4.10. Расчет снаббера.
- •5. Расчет заземления.
- •Общие сведения.
- •5.2. Защитное заземление.
- •5.3. Расчет заземления ветроустновки.
- •Заключение
- •Библиографический список
2.Разработка электрооборудования для вероустновки на базе микроконтроллера
2.1.Обзор микроконтроллеров avr.
Замысел создания 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 для персональных компьютеров, в спутниковых навигационных системах для определения местоположения автомобилей на трассе, в миниатюрных автомобильных пультах дистанционного управления, в сетевых картах и на материнских платах компьютеров, в сотовых телефонах нового поколения и т.д.
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-разрядный указатель стека находится в общем адресном пространстве оперативной памяти и доступен для чтения и записи.
Система команд AVR весьма развита и насчитывает 89 различных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы). Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. По разнообразию и количеству реализованных инструкций AVR больше похожи на CISC, чем на RISC процессоры. Например, у PIC-контроллеров система команд насчитывает от 33 до 58 различных инструкций, а у MCS51 она составляет 111.
В целом, архитектура AVR в сочетании с регистровым файлом и расширенной системой команд позволяет в короткие сроки создавать программы с очень эффективным кодом как по скорости его выполнения, так и по компактности, рассмотрим более подробно архитектуру микроконтроллера.
