AVR микроконтроллеры, их основные виды и программно-аппаратные средства
Характеристика, история создания микроконтроллера и его место в современном мире. Ключевые особенности контроллера. Функции внутрисхемного программирования и управления. Программные и аппаратные средства поддержки разработок для микроконтроллеров.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.06.2015 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Санкт-петербургский национальный исследовательский университет информационных технологий, механики и оптики
Реферат
на тему: AVR микроконтроллеры, их основные виды и программно-аппаратные средства
Студент: Сенатов Д.Е.
Группа: 5667
Преподаватель: Кривых А.В.
Санкт-Петербург
2015
Содержание
Введение
1. Семейства устройств
1.1 32-разрядные микроконтроллеры AVR UC3
1.2 Микроконтроллеры AVR XMEGA
1.3 Микроконтроллеры megaAVR
1.4 8-разрядные микроконтроллеры tinyAVR
1.5 Микроконтроллеры AVR для автомобильной электроники
2. Версии контроллеров
3. Программные и аппаратные средства поддержки разработок для микроконтроллеров AVR
3.1 Стартовые наборы разработчика
3.2 Стартовый набор STK500
3.3 Плата расширения STK501
3.4 Внутрисхемный программатор ATAVRISP
3.5 Внутрисхемный эмулятор ATJTAGICE mkII (ATJTAGICE2)
3.6 Интегрированная среда разработки AVR Studio
3.7 Программирование на языках высокого уровня
4. Место AVR в современном мире
Заключение
Список использованных источников
Введение
Что такое микроконтроллер?
Микроконтроллер (мк) это микросхема, в которой на одном кристалле размещено множество разнообразных устройств. Управляет всем арифметико-логическое устройство (АЛУ). К АЛУ подключен тактовый генератор, частота которого определяется, как правило, внешним кварцем, подключенным к выводам XTAL1 и XTAL2. На АЛУ поступает тактовый сигнал (TCK), АЛУ выбирает из ПЗУ команду и выполняет ее. АЛУ подключено к регистрам общего назначения (РОН), регистрам ввода-вывода и встроенному ОЗУ. (ОЗУ в зависимости от МК - от нуля до 512 байт.) И регистры, и ОЗУ имеют байтовый формат, то есть состоят из восьми бит. Отличаются же регистры и ОЗУ тем, что в ОЗУ можно только записывать/считывать данные из/в регистров(ы), а в регистрах можно проводить широкий спектр операций (например арифметические и логические операции). Помимо регистров общего назначения (РОН) присутствуют регистры ввода/вывода это связь АЛУ с внешним миром и собственной периферией.
История создания AVR
Идея разработки нового прогрессивного RISC-ядра зародилась в норвежском городе Тронхейм (Trondheim) в светлых головах двух студентов Norwegian University of Science and Technology (NTNU). Звали изобретателей Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). Находясь в очаровательном окружении смеси университетских зданий, вычислительных центров и кафе местечка Bakklandet, будущие директора Atmel Norway создали архитектуру, которая стала одной из самых удачных на мировом рынке микроконтроллеров.
В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, известной на тот момент своим "ноу-хау" изготовления чипов с Filash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью программ на кристалле. Идея настолько понравилась руководству Atmel Corp., что было принято решение незамедлительно инвестировать данный проект.
В 1996 году был основан исследовательский центр Atmel в Тронхейме. Стоит сказать, что 150-тысячный Тронхейм усилиями своего университета каждый год порождает до 20-ти новых компаний, специализирующихся в секторах рынка начиная от автоматизации и до передачи и обработки данных. В конце 1996 года был выпущен опытный кристалл AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR, которое по прошествии уже нескольких лет стало трактоваться самыми различными способами. Кто-то утверждает, что это не иначе какAdvanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard WollanRISC. Держателями патента при этом являются: Wollan, Vegard (NO); Bogen, Alf-Egil (NO); Myklebust, Gaute (NO); Bryant, John, D. (US).
Интересно, что система команд и внутреннее устройство чипов AVR разрабатывались совместно с фирмой IAR Systems - производителем компиляторов языков программирования С/С++, что обеспечило уникальные характеристики этих микроконтроллеров. В результате для AVR стало возможным получать высокую плотность кода при использовании языков высокого уровня, практически не теряя в производительности по сравнению с программами, написанными на низкоуровневом языке Ассемблера.
Кроме того, использование прогрессивной технологии конвейеризации у AVR сокращало цикл "выборка - исполнение" команды. Например, у микроконтроллеров семейства x51 короткая команда выполняется за 12 тактов генератора. В PIC-контроллерах фирмы Microchip, где уже реализован конвейер, короткая команда выполняется за 4 периода тактовой частоты. В микроконтроллерах AVR короткая команда в общем потоке выполнялась всего за один период тактирующего сигнала. Такое построение кристалла обеспечило существенное повышение производительности, которая в пределе может достигать значения 1MIPS на 1МГц. Это во многих случаях при заданной производительности позволяло снизить тактовую частоту, а значит, и потребляемую мощность устройства. AVR-микроконтроллеры предоставляли более широкие возможности по оптимизации производительности/энергопотребления, что было особенно важно при разработке приложений с батарейным питанием.
Конечно же, новые микроконтроллеры от Atmel были встречены с большим интересом. Их продажи неуклонно росли, команда AVR, состоящая в 1997 году не более чем из 10 человек, сейчас превышает сотню сотрудников только в Норвегии, без учета технических специалистов по AVR в двух специализированных центрах во Франции и Финляндии.
Сегодня Atmel выпускает два семейства микроконтроллеров с ядром AVR: Tiny и Mega. Микроконтроллеры Classic, первого из семейств AVR, постепенно заменяются более современными моделями. В 2003 году Atmel Corp. торжественно отпраздновала крупное событие - количество выпущенных микросхем с ядром AVR превысило 500 миллионов штук!
1. Семейства устройств
В настоящее время фирма Atmel занимается выпуском пяти основных семейств устройств: 32-разрядные микроконтроллеры AVR UC3, микроконтроллеры AVR XMEGA, микроконтроллеры megaAVR, 8-разрядные микроконтроллеры tinyAVR, микроконтроллеры AVR для автомобильной электроники. Рассмотрим их подробнее.
1.1 32-разрядные микроконтроллеры AVR UC3
32-разрядные микроконтроллеры AVR имеют поддержку цифровой обработки сигналов (DSP) с фиксированной запятой, двойной порт SRAM, многоуровневая шина данных, периферийный контроллер прямого доступа к памяти (DMA), периферийная система обработки событий и интеллектуальные периферийные устройства. Некоторые микроконтроллеры UC3 оснащены встроенным блоком операций с плавающей запятой (FPU), который повышает производительность арифметических вычислений с десятичными дробями, а также увеличивает их точность и динамический диапазон.
Ключевые особенности:
1)Улучшенное сетевое взаимодействие - USB хоста и устройств, интерфейс Ethernet MAC, поддержка памяти SDRAM и флеш-памяти NAND, а также высокоскоростные последовательные интерфейсы - идеальный набор для комплексных систем.
2)Производительность арифметических вычислений - Встроенный блок FPU повышает точность и расширяет динамический диапазон при цифровой обработке сигналов.
3)Высокая скорость передачи данных - Периферийный контроллер DMA, многоуровневая шина данных и большой модуль SRAM, встроенный в кристалл, гарантируют отсутствие узких мест при высокоскоростной передаче данных.
4)Низкая потребляемая мощность - Технология picoPower® обеспечивает самые низкие в индустрии величины потребления энергии в активном и дежурных режимах.
5)Библиотека ПО - Все устройства UC3 поддерживаются библиотекой AVR Software Framework, содержащей наиболее полные наборы межплатформенного программного обеспечения и драйверов для устройств.
1.2 Микроконтроллеры AVR XMEGA
В устройствах Atmel AVR XMEGA используются передовые аналого-цифровые преобразователи (АЦП), обеспечивающие и высокую скорость, и высокое разрешение. Они имеют до четырех преобразовательных каналов с разными регистрами результатов, конфигурация каждого из которых может настраиваться отдельно. Это упрощает работу, поскольку разные программные модули в данном случае могут получать доступ к АЦП и взаимодействовать с ним независимо друг от друга.
Ключевые особенности:
1)Высокоточные аналоговые функции - 12-разрядные аналого-цифровые преобразователи (АЦП) с усилительным каскадом и общей производительностью 4 млн выборок в секунду, быстродействующие 12-разрядные цифроаналоговые преобразователи (ЦАП) высокой мощности, а также прочие функциональные возможности, снижающие потребность во внешних компонентах.
2)Производительность в реальном времени - Система обработки событий упрощает взаимодействие между периферийными устройствами, обеспечивая 100-процентную прогнозируемость времени отклика. Все периферийные устройства могут использовать прямой доступ к памяти (DMA) для передачи данных, что позволяет разгрузить ЦП.
3)Технология Atmel picoPower - Полноценное функционирование обеспечивается при напряжении 1,6 В. Счетчик реального времени работает при токе 100 нА, а данные полностью сохраняются в память SRAM для максимально быстрого пробуждения.
4)Высокий уровень интеграции - Устройства AVR XMEGA объединяют в себе криптоблоки AES (Advanced Encryption Standard) и DES (Data Encryption Standard), до 32 выходов широтно-импульсной модуляции (ШИМ), 8 интерфейсов UART, 4 интерфейса TWI (I2C) и 4 канала последовательного периферийного интерфейса (SPI), модуль генератора для циклического контроля избыточности (CRC) и многое другое.
5)Библиотека программного обеспечения AVR - Полная библиотека драйверов устройств и коммуникационных стеков позволяет сэкономить время и усилия, сосредоточившись на более важных задачах проектирования.
6)Технология сенсорного ввода Atmel QTouch - Поддержка библиотеки QTouch позволяет с легкостью реализовать полноценный емкостной сенсорный интерфейс для кнопок, ползунков и колес прокрутки.
7)Подключение устройств USB - Полноскоростное функционирование без необходимости во внешних кристаллах, 31 вывод для подключения оконечных устройств, а также специальная функция многопакетной передачи, позволяющая увеличить скорость обмена данными, снизив нагрузку на ЦП.
8)Модуль XMEGA Custom Logic (XCL) - Устройства AVR XMEGA серии E оснащаются инновационным модулем XMEGA Custom Logic (XCL), состоящим из двух независимых 8-разрядных таймеров/счетчиков и двух таблиц для определения связующей логики. Этот модуль разработан с целью снижения совокупной стоимости комплектующих и экономии места на печатной плате. Он позволяет заменить такие внешние схемы, как элементы задержки, RS- и D-триггеры, логические схемы выбора кристалла на D-триггере, логические элементы AND, NAND, OR, NOR, XOR, XNOR, NOT, MUX AND/OR/XOR. В сочетании с приемопередатчиком USART данный модуль может обеспечить поддержку специализированных коммуникационных протоколов.
1.3 Микроконтроллеры megaAVR
Микроконтроллеры megaAVR оснащены памятью программ и данных большого объема при быстродействии до 20млн операций в секунду, а потому хорошо подходят для приложений со значительным количеством кода. Технология picoPower минимизирует потребление энергии. Все устройства megaAVR поддерживают самопрограммирование, что позволяет выполнять внутрисхемное обновление быстро, безопасно и без лишних затрат. Даже флеш-память можно обновлять без остановки приложения.
Ключевые особенности:
1)Широкая номенклатура - Семейство megaAVR является наиболее разнообразным с точки зрения характеристик микроконтроллеров, например объемов памяти, количества выводов, набора периферийных устройств, возможности повторного использования кода в различных проектах.
2)Технология picoPower - Некоторые устройства megaAVR отличаются сверхнизким потреблением мощности и поддерживают индивидуальную настройку ждущих режимов с малым энергопотреблением, что делает их идеальными для систем с питанием от аккумуляторов.
3)Высокий уровень интеграции - Микроконтроллеры megaAVR оснащены встроенной флеш-памятью, памятью SRAM, внутренней памятью EEPROM, интерфейсами SPI, TWI (I2C), USB, CAN, LIN, приемопередатчиком USART, сторожевым таймером, внешним или внутренним прецизионным генератором и контактами для ввода/вывода данных общего назначения, что упрощает проектирование и сокращает перечень используемых в системе компонентов.
4)Аналоговые функции - Аналоговые функции обеспечиваются с помощью АЦП, ЦАП, встроенного температурного датчика, внутреннего источника опорного напряжения, детектора понижения напряжения, высокоскоростного аналогового компаратора и аналогового усилителя с программируемым коэффициентом. Высокая степень интеграции позволяет создавать системы с меньшим количеством внешних аналоговых компонентов.
5)Быстрая разработка - Микроконтроллеры megaAVR ускоряют разработку систем с помощью мощной функции внутрисхемного программирования и отладки в чипе. Кроме того, внутрисхемное программирование упрощает программирование продуктов во время производства и их обновление в процессе эксплуатации на местах.
6)Поддержка Интернета вещей - Практически все современные системы взаимодействуют с Интернетом вещей: от типовых устройств автоматизации коммерческих и жилых зданий до медицинских систем. В большинстве случаев существует необходимость в определенной процессорной технике, которая будет выполнять встроенные вычислительные задачи и передавать данные в Интернет. Все чаще устройства Интернета вещей работают от аккумуляторов, поэтому энергопотребление становится ключевым фактором при выборе продукта. С этой точки зрения микроконтроллеры megaAVR занимают лидирующие позиции наравне с лучшими в мире микроконтроллерами, а значит, являются естественным выбором для создания систем Интернета вещей.
1.4 8-разрядные микроконтроллеры tinyAVR
Все МК tinyAVR имеют общую архитектуру и совместимы с другими устройствами AVR. Поскольку в эти микроконтроллеры встроены АЦП, память EEPROM и детектор понижения напряжения питания, для проектирования систем не требуются дополнительные внешние компоненты. Микроконтроллеры tinyAVR обладают флеш-памятью и встроенным инструментом отладки, что ускоряет и делает безопасным внутрисхемное обновление программного обеспечения. Это самые компактные полнофункциональные устройства в семействе AVR - и только они могут работать с напряжением питания всего 0,7 В, что является их главным преимуществом.
Ключевые особенности:
1)Компактность - Устройства Atmel tinyAVR специально предназначены для систем, чувствительных к размерам и стоимости. Самые миниатюрные микросхемы tinyAVR имеют габариты 1,5 x 1,4 мм. Их можно использовать в качестве одночиповых решений для компактных систем. В более крупных системах они позволяют реализовать связующую и распределенную логику.
2)Емкостный сенсорный ввод - Библиотека Atmel QTouch® помогает разработчикам встраивать сенсорные кнопки, ползунки и колеса прокрутки в приложения на базе микроконтроллеров Atmel AVR® общего назначения. Бесплатная библиотека QTouch содержит по несколько файлов для каждого устройства, которые позволяют реализовать поддержку различного числа каналов отслеживания прикосновений, что обеспечивает гибкость и эффективность сенсорных приложений.
3)Скорость и эффективность программирования - Процессор AVR обеспечивает микроконтроллерам tinyAVR тот же уровень производительности, что и у более крупных устройств AVR, а также вычислительную мощность, в несколько раз превышающую мощность микроконтроллеров тех же размеров производства конкурирующих фирм. Эти устройства отличаются гибкостью и универсальностью, обладают высокой эффективностью программирования и могут использоваться в широком спектре приложений.
4)Высокий уровень интеграции - Каждый контакт микросхемы поддерживает различные функции, например ввод/вывод данных, АЦП или ШИМ. Даже контакт сброса можно использовать для ввода/вывода данных. Микроконтроллеры tinyAVR оснащены универсальным последовательным интерфейсом (USI), который можно использовать в качестве интерфейсов SPI, UART или TWI.
5)Рабочее напряжение 0,7 В - Большинство микроконтроллеров работают при напряжении питания 1,8 В и выше. Микроконтроллеры tinyAVR оснащены импульсным повышающим стабилизатором, благодаря которому напряжение питания от одной батареи типа AA или AAA преобразуется в стабильное напряжение 3 В для питания всей системы.
1.5 Микроконтроллеры AVR для автомобильной электроники
Особенностью конструкции данных микроконтроллеров является расширенный функционал и возможность работы при повышенных температурах. Готовые решения, созданные по технологии SIP (System-in-Package, "система в корпусе"), интегрируют в себе такие компоненты, как микроконтроллер AVR, интерфейсы LIN и CAN, стабилизатор напряжения, сторожевая схема, блок вычислений с плавающей точкой (FPU), механизм защиты кода FlashVault™, высокоскоростной интерфейс Ethernet, интерфейс USB OTG, - и все это в одной экономичной упаковке. Наши схемы с высокой степенью интеграции позволяют сократить стоимость системы на 60%, а также сэкономить время разработки, интеграции и создания прототипов.
Ключевые особенности
Высокая производительность - Благодаря выполнению сложных инструкций за один тактовый цикл 8-разрядные микроконтроллеры Atmel AVR для автомобильной электроники достигают скорости обработки информации до 1 млн операций в секунду на МГц, обеспечивая баланс между эффективностью потребления энергии и производительностью.
Защита кода - Технология Atmel FlashVault позволяет программировать и блокировать участки флеш-памяти для безопасного хранения информации на кристалле. Код, записанный в памяти FlashVault, выполняется как обычно, но не может быть прочитан, скопирован либо подвержен отладке. Это удобно для хранения такого программного обеспечения, как математические библиотеки или алгоритмы шифрования, в потенциально небезопасных средах, где может происходить разработка и отладка остальных частей исходного кода.
Встроенная защита от недопустимого напряжения - Встроенный в кристалл стабилизатор напряжения с интерфейсом отслеживания коротких замыканий, установленный в некоторых 8-разрядных микроконтроллерах, гарантирует надежность функционирования и продлевает срок эксплуатации устройства и управляемого им изделия.
Впечатляющая энергоэффективность - Благодаря исследованиям, проводимым специалистами компании Atmel более десяти лет, удалось создать технологию picoPower, которая позволяет сократить потребление микроконтроллером энергии в активном и дежурных режимах до минимальных известных в промышленности значений.
2. Версии контроллеров
Названия AVR микроконтроллеров представляют собой достаточно запутанные, но отнюдь не бессмысленные аббревиатуры, ниже приведены материалы, позволяющие, расшифровать эти названия.
AT(mega/tiny)xxx - базовая версия.
ATxxxL - версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV - версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP - малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxxA - уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit'ы отличаются
Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8,10,16,20) перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания.
Первая буква индекса означает вариант корпуса:
АТxxx-P - корпус DIP
АТxxx-A - корпус TQFP
АТxxx-J - корпус PLCC
АТxxx-M - корпус MLF
АТxxx-MA - корпус UDFN/USON
АТxxx-C - корпус CBGA
АТxxx-CK - корпус LGA
АТxxx-S - корпус EIAJ SOIC
АТxxx-SS - узкий корпус JEDEC SOIC
АТxxx-T - корпус TSOP
АТxxx-TS - корпус SOT-23 (ATtiny4/5/9/10)
АТxxx-X - корпус TSSOP
Следующая буква означает температурный диапазон и особенности изготовления:
АТxxx-xC - коммерческий температурный диапазон (0 °C - 70 °C)
АТxxx-xA - температурный диапазон ?20 °C - +85 °C, с использованием бессвинцового припоя
АТxxx-xI - индустриальный температурный диапазон (-40 °C - +85 °C)
АТxxx-xU - индустриальный температурный диапазон (-40 °C - +85 °C), с использованием бессвинцового припоя
АТxxx-xH - индустриальный температурный диапазон (-40 °C - +85 °C), с использованием NiPdAu
АТxxx-xN - расширенный температурный диапазон (-40 °C - +105 °C), с использованием бессвинцового припоя
АТxxx-xF - расширенный температурный диапазон (-40 °C - +125 °C)
АТxxx-xZ - автомобильный температурный диапазон (-40 °C - +125 °C)
АТxxx-xD - расширенный автомобильный температурный диапазон (-40 °C - +150 °C)
Последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.
3. Программные и аппаратные средства поддержки разработок для микроконтроллеров AVR
Наряду с бурным развитием и совершенствованием микроконтроллеров AVR развиваются аппаратные и программные средства поддержки разработок, которым Atmel уделяет немалое внимание.
Аппаратные средства разработки:
Официальные средства разработки для AVR от Atmel:
1)STK600 starter kit
2)STK500 starter kit
3)STK200 starter kit
4)AVRISP and AVRISP mkII
5)AVR Dragon
6)JTAGICE mkI
7)JTAGICE mkII
8)JTAGICE3
9)AVR ONE!
10)Butterfly demonstration board
11)AT90USBKey
12)Raven wireless kit
Также существует много сторонних средств, особенно любительских.
Программные средства разработки:
Свободные:
1)WinAVR - программный пакет под Windows, включающий в себя компилятор, ассемблер, компоновщик и другие инструменты.
2)Algorithm Builder - среда разработки программного обеспечения для микроконтроллеров с архитектурой AVR.
3)Code Blocks - кроссплатформенная среда разработки.
4)DDD - графический интерфейс к avr-gdb.
5)V-USB - программная реализация протокола USB для микроконтроллеров AVR.
6)Avrdude - средство для прошивки микроконтроллеров.
7)PonyProg - универсальный программатор через LPT-порт, COM-порт (подерживается и USB-эмулятор COM-порта).
Проприетарные
1)AVR Studio - бесплатная IDE от самой Atmel
2)IAR AVR - коммерческая среда разработки для микроконтроллеров AVR
3)Bascom-avr - среда разработки основанная на Basic -подобном языке программирования.
4)CodeVisionAVR - компилятор C и программатор - CVAVR, генератор начального кода.
5)Proteus - симулятор электрических цепей, компонентов, включая различные МК и др. периферийное оборудование.
Также архитектура AVR позволяет применять операционные системы при разработке приложений, например FreeRTOS, UOs, ChibiOS/RT.
Далее рассмотрим некоторые аппаратные и программны средства подробнее.
3.1 Стартовые наборы разработчика
Применение стартовых наборов позволяет разработчику быстро, минуя этап макетирования, приступить к практической разработке приложений. На платах, входящих в состав стартовых наборов, установлены необходимые для работы микроконтроллера элементы "обвязки" (стабилизатор напряжения питания, тактовый генератор или кварцевый резонатор, цепь сброса, средства для организации внутрисхемного программирования микроконтроллера). Также устанавливаются часто применяемые на практике узлы микроконтроллерных устройств (средства ввода и индикации, формирователи интерфейса RS-232, интерфейс с внешним ОЗУ и пр.). Все порты микроконтроллеров выведены на разъемы и могут быть соединены с внешними устройствами.
В некоторых случаях, стартовые наборы разработчика могут использоваться как готовые блоки в составе проектируемой аппаратуры.
3.2 Стартовый набор STK500
Компания Atmel предлагает универсальный стартовый набор STK500 для всех микроконтроллеров AVR, выпускаемых в DIP корпусах. Для поддержки разработок на базе микроконтроллеров выпускаемых только в корпусах TQFP64 и TQFP100 выпускаются платы расширения STK501 и STK503, а также STK502 и STK504 для микроконтроллеров в корпусах TQFP64 и TQFP100 с драйвером ЖКИ.
Помимо функций отладочной платы, STK500 выполняет функции параллельного программатора (для всех типов микроконтроллеров AVR), и последовательного внутрисхемного программатора (кроме Tiny11 и Tiny28, не поддерживающих функцию последовательного программирования). При программировании микроконтроллера можно производить конфигурирование микроконтроллера установкой FUSE-битов (FUnction SEt).
Функции внутрисхемного программирования и управления STK500 реализованы на двух микроконтроллерах: 90S1200-12SC и 90S8535-8AC. Кроме них на плате STK500 смонтированы следующие элементы:
1) Панели для установки микроконтроллеров в корпусах DIP8, DIP20, DIP28 и DIP40;
2) Стабилизированный источник питания с управляемым программно выходным напряжением;
3) Преобразователи уровней сигналов (для случая, когда напряжение питания целевого микроконтроллера отличается от напряжения питания управляющих микроконтроллеров);
4) Управляемый программно источник опорного напряжения для внутреннего АЦП микроконтроллера;
5) Посадочное место для микросхемы DataFlash AT45D021;
6) Двухканальный формирователь уровней сигналов интерфейса RS232 (один канал используется для связи STK500 с управляющим персональным компьютером, другой может быть использован в разрабатываемом приложении) ;
7) Восемь кнопок и восемь светодиодов для организации ввода и отображения выходной информации;
8) Разъемы расширения для подключения внешних устройств.
Рисунок 1. Отладочная плата STK500
Для тактирования отлаживаемых микроконтроллеров на плате STK500 предусмотрены два источника тактовых сигналов. Один из них представляет собой генератор, построенный на инвертирующих вентилях с кварцевой стабилизацией частоты. Пользователь имеет возможность задавать частоту этого генератора, устанавливая кварцевый резонатор на необходимую частоту в специальную панель (помечена CRYSTAL). Второй источник тактовых сигналов представляет собой выход установленного на плате STK500 управляющего микроконтроллера 90S8535-8AC. Частота этого тактового сигнала может быть задана программно. Доступны значения 3.69, 1.84, 1.23 МГц, а также 32.7 кГц и полная остановка. Переключатель OSCSEL служит для выбора одного из источников тактового сигнала для микроконтроллера. Если же в качестве тактового сигнала необходимо использовать внутренний RC-генератор микроконтроллера, то внешний тактовый сигнал должен быть отключен джампером XTAL1. На плате STK500 не предусмотрено подключение к целевому микроконтроллеру внешнего ОЗУ. Управление STK500 производится через COM-порт персонального компьютера. Управляющая программа является составной частью AVR Studio (более подробно о данном пакете будет написано ниже) и запускается из меню Tools -> STK500/AVRISP/JTAGICE. Кроме STK500 эта управляющая программа поддерживает такие аппаратные средства отладки, как внутрисхемный программатор ATAVRISP и внутрисхемный эмулятор ATJTAGICE mkII. Подробнее возможности управляющей программы будут рассмотрены ниже при обзоре средств внутрисхемного программирования. Здесь мы ограничим описание только функциями, уникальными для STK500.
STK500 поддерживает различные режимы программирования целевых микроконтроллеров: режим последовательного внутрисхемного программирования, и два режима программирования с использованием повышенного программирующего напряжения - параллельный и последовательный. Выбор режима программирования осуществляется в окне управления параметрами STK500 в закладке Program.
Для использования STK500 в качестве внутрисхемного программатора для микроконтроллеров, установленных в целевом устройстве, необходимо соединить целевое устройство с разъемом ISP10PIN платы STK500, используя плоский десятижильный кабель.
Программная поддержка новых микроконтроллеров AVR в STK500 производится обновлением прошивки (firmware) памяти программ управляющих микроконтроллеров (Revision Upgrade). Обновленные версии firmware включаются в состав AVR Studio. Управляющая программа в момент запуска проверяет связь COM-порта персонального компьютера с STK500, и в случае его присутствия запрашивает версию firmware. Если в AVR Studio содержится более новая версия прошивки, управляющая программа предлагает обновить firmware путем перепрограммирования управляющих микроконтроллеров. Перед входом в режим перепрограммирования STK500 необходимо извлечь целевые микроконтроллеры из DIP-панелей, если они туда установлены. Для входа в режим перепрограммирования необходимо включить питание STK500 с нажатой кнопкой Program.
В комплекте с STK500 поставляются микроконтроллеры AT90S8515 и ATmega16, а также диск AVR Software and Technical Library, включающий в состав AVR Studio. Также в состав набора входит комплект кабелей.
3.3 Плата расширения STK501
Для поддержки микроконтроллеров в корпусах TQFP64 (кроме микроконтроллеров с драйвером ЖКИ) компания Atmel предлагает устройство STK501, которое устанавливается в разъемы расширения STK500 как мезонинная плата. На плате STK501 размещены следующие элементы:
1)Панель с нулевым усилием (ZIF socket) для установки микроконтроллеров в корпусах TQFP64 (здесь и далее в разделе - кроме микроконтроллеров с драйвером ЖКИ);
2)Дополнительный порт RS232 с поддержкой линий RTS/CTS;
3)Кварцевый резонатор на 32 кГц для реализации часов реального времени (Real-Time Clock, RTC);
4)Посадочное место для пайки микроконтроллера в корпусе TQFP64 либо адаптера внутрисхемного эмулятора ICE50
5)Разъем JTAG-интерфейса для подключения внутрисхемного эмулятора ATJTAGICE mkII.
Рисунок 2. Плата расширения STK501
Кристаллы в корпусах TQFP64 имеют больше портов ввода-вывода, чем предусмотрено в STK500. Поэтому порты E, F, G, а также некоторые управляющие сигналы, выведены на разъемы на плате STK501.
Комбинация STK500 и STK501 позволяет выполнять функции параллельного и последовательного программатора для всех микроконтроллеров в корпусах TQFP64.
Как уже говорилось, стартовый набор разработчика STK500 не поддерживает работу микроконтроллера с внешним ОЗУ. Разработчики STK501 исправили этот недостаток, предусмотрев на плате STK501 посадочное место под микросхему ОЗУ объемом до 128Кбайт (в корпусах TSOP32 или SOJ32) и регистр-защелку младшего байта адреса. При этом STK501 без установленного микроконтроллера может служить платой расширения для STK500, позволяющей создавать и отлаживать проекты для микроконтроллеров mega8515 или mega162 с использованием внешней памяти данных.
Модуль разработан в соответствии со стандартом Bosch CAN 2.0A/B и реализует функции преобразования сигнала физического уровня CAN-интерфейса, необходимые для присоединения отлаживаемой системы к шине CAN для разработки и отладки конечного приложения.
3.4 Внутрисхемный программатор ATAVRISP
Как уже говорилось, микроконтроллеры AVR имеют несколько режимов программирования: параллельный режим с использованием повышенного программирующего напряжения, последовательный режим с использованием повышенного программирующего напряжения и режим последовательного внутрисхемного программирования.
Возможность внутрисхемного программирования микроконтроллеров AVR по последовательному синхронному интерфейсу SPI позволяет создавать простые и недорогие программаторы. Такие программаторы называют внутрисхемными (In-System Programmer, ISP).
Для реализации внутрисхемного программирования компания Atmel выпускает и поддерживает внутрисхемный программатор ATAVRISP. ATAVRISP поддерживает все выпускаемые на сегодняшний день микроконтроллеры AVR, имеющие функцию внутрисхемного программирования. Управление этим внутрисхемным программатором осуществляется через COM-порт персонального компьютера.
Рисунок 3. Внутрисхемный программатор ATAVRISP.
Подобно стартовому набору разработчика STK500, внутрисхемный программатор ATAVRISP реализован на двух микроконтроллерах - 90S1200-12SC и 90S8535-8AC, и работает под управлением AVR Studio. Управляющая программа вызывается в меню Tools > STK500/AVRISP/JTAGICE > STK500/AVRISP/JTAGICE.
Выбрав одну из закладок в окне управляющей программы, пользователь получает доступ к различным функциям программирования:
1)Program. Здесь пользователь указывает тип целевого микроконтроллера (Device), режим программирования (в нашем случае ISP), а также файлы, содержащие данные для программирования Flash-ПЗУ и EEPROM микроконтроллера. Здесь же пользователь может указать управляющей программе на необходимость автоматического стирания памяти программ микроконтроллера перед очередным программированием, а также верификацию записанного кода - после.
2)Fuses. Позволяет считать состояние управляющих битов микроконтроллера, и при необходимости, запрограммировать их. Операцию установки FUSE битов нужно завершать нажатием кнопки Program на закладке Fuses.
3) LockBits. Предоставляет доступ к битам защиты памяти программ микроконтроллера от несанкционированного считывания или модификации. Операцию установки LOCK битов нужно завершать нажатием кнопки Program на закладке LockBits.
4) Advanced. Позволяет считать сигнатуру целевого микроконтроллера. Здесь же может быть задано значение калибровочного байта для внутреннего RC-генератора микроконтроллера.
5) Board. Эта закладка предназначена для управления STK500 и была описана выше.
6) Auto. Позволяет выбрать несколько функций программирования и верификации и запускать их в пакетном режиме.
При каждом переключении с одной закладки на другую управляющая программа проверяет связь компьютера с внутрисхемным программатором. Если внутрисхемный программатор не отвечает на запрос компьютера, в поле сообщений окна управляющей программы выдается соответствующее предупреждение.
При работе с целевым микроконтроллером, программатор ATAVRISP помимо линий внутрисхемного программирования (MOSI, MISO, CLK) использует вывод /RESET, GND, а также линию питания (VTG) по которой осуществляется питания программатора.
Все описанные функции программирования микроконтроллера также могут быть выполнены на плате STK500 в последовательном, а также, в отличие от ATAVRISP, в параллельном режиме.
ATAVRISP поставляется в комплекте с диском AVR Software and Technical Library, кабелем для подключения к COM-порту компьютера, двумя кабелями (с 10- и 6-контактным разъемами) для подключения к целевой плате. Питание программатора осуществляется от целевого устройства по линиям VTG и GND.
Вся необходимая информация по подключению и использованию программатора AVRISP включена во встроенный файл справки AVR Studio.
3.5 Внутрисхемный эмулятор ATJTAGICE mkII (ATJTAGICE2)
Альтернативой внутрисхемной эмуляции является режим фоновой отладки. В англоязычной литературе этот режим обозначается термином "On-Chip Debugging", или OCD.
Разница между внутрисхемной эмуляцией и фоновой отладкой заключается в следующем. Внутрисхемный эмулятор с той или иной степенью достоверности имитирует поведение целевого микроконтроллера в отлаживаемой системе, в то время как в режиме фоновой отладки программный код исполняется самим целевым микроконтроллером. Таким образом, достигается полное совпадение временных и электрических параметров системы в отладочном и штатном режимах.
Для поддержки режима "On-Chip Debugging" (OCD) блок управления отладкой должен быть частью самого отлаживаемого микроконтроллера. Управление фоновой отладкой в микроконтроллерах AVR осуществляется по JTAG-интерфейсу, совместимому со стандартом IEEE1149.1, либо однопроводному интерфейсу debugWIRE, являющемуся собственной разработкой компании Atmel.
Блок OCD с управлением по интерфейсу JTAG содержится в микроконтроллерах ATmega128/CAN128, ATmega16/32/64, ATmega162, ATmega165/325, ATmega169/329, ATmega3250/3290. Блок OCD с управлением по интерфейсу debugWIRE содержится в микроконтроллерах ATmega48/88/168, ATtiny13, ATtiny2313, ATtiny45.
Под управлением блока OCD в микроконтроллерах AVR производится исполнение программного кода и доступ ко всем регистрами микроконтроллера в режиме фоновой отладки.
Для работы микроконтроллера в режиме внутрисхемной отладки необходимо разрешить (по умолчанию запрещен) интерфейс JTAG либо debugWIRE. Для этого необходимо установить соответствующие FUSE-биты. При разрешении интерфейса debugWIRE следует помнить, что интерфейс debugWIRE использует вывод /RESET микроконтроллера и, при разрешении интерфейса, стандартная функция вывода (сброс микроконтроллера) отключается, а значит, становится недоступной функция последовательного внутрисхемного программирования, так как вывод /RESET используется для ввода микроконтроллера в режим последовательного программирования. Перепрограммирование FUSE-битов микроконтроллера можно произвести по интерфейсу debugWIRE либо в режиме параллельного программирования.
Устройством, реализующим протокол управления, является ATJTAGICE mkII (ATJTAGICE2).
Рисунок 4. Внешний вид внутрисхемного эмулятора ATJTAGICE mkII
Внутрисхемный эмулятор ATJTAGICE mkII подключается к персональному компьютеру по COM либо USB интерфейсам. При подключении по USB интерфейсу не требуется использование внешнего источника питания. Производить соединение эмулятора с компьютером и целевым микроконтроллером необходимо при выключенном питании всех трёх устройств (при подключении по интерфейсу USB достаточно установить выключатель питания ATJTAGICE mkII в положение ВЫКЛЮЧЕНО). В противном случае можно вывести из строя выходные каскады эмулятора.
При использовании интерфейса USB для подключения ATJTAGICE mkII к компьютеру, передача команд производится существенно быстрее, чем при использовании COM-порта.
В качестве управляющей программы для работы ATJTAGICE mkII и OCD микроконтроллера используется интегрированная среда разработки AVR Studio. Более подробно использование AVR Studio для внутрисхемной отладки будет описана ниже. Также более подробную информацию по возможностям и использованию ATJTAGICE mkII можно найти во встроенном файле справки AVR Studio.
Кроме обеспечения режима фоновой отладки, эмулятор ATJTAGICE mkII может быть использован в качестве внутрисхемного программатора для микроконтроллеров AVR. Программирование может осуществляться по интерфейсам JTAG либо SPI. Для программирования, а также отладки, по интерфейсу JTAG одновременно нескольких устройств нужно соединить устройства в дейзи-цепочку. После этого необходимо указать AVR Studio наличие нескольких микроконтроллеров в меню Tools > STK500/AVRISP/JTAGICE > STK500/AVRISP/JTAGICE > Advanced > JTAG Daisy Chain Settings.
Альтернативой описанным выше внутрисхемным эмуляторам и отладчику может служить интегрированный в AVR Studio программный симулятор, который производит эмуляцию программным способом.
3.6 Интегрированная среда разработки AVR Studio
AVR Studio - это интегрированная отладочная среда разработки приложений (IDE) для микроконтроллеров AVR компании Atmel.
IDE AVR Studio содержит :
1) средства создания и управления проектом;
2) редактор кода на языке ассемблер;
3) транслятор языка ассемблера (Atmel AVR macroassembler);
4) отладчик (Debugger);
5)программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (InSystem Programming, ISP) с использованием стандартных отладочных средств Atmel AVR.
Работа с AVR Studio начинается с создания проекта. При создании проекта необходимо указать используемый микроконтроллер и платформу, на которой будет производиться отладка программы.
Написание программы производится в окне редактора текста программы. Для использования символических имен регистров специального назначения вместо их адресов, необходимо подключить (директива .include) к проекту файл определения регистров специального назначения (например, m16def.inc для ATmega16). Включаемые файлы входят в прикладное программное обеспечение AVR Studio и при инсталляции помещаются в папку Appnotes в директории установки AVR Studio. Примеры программ доступны в большом количестве в качестве приложений к руководствам по применению микроконтроллеров AVR.
Рисунок 5. Интерфейс интегрированной среды разработки AVR Studio
Написание программы в AVR Studio производится на языке ассемблер. Система команд микроконтроллера описана в упомянутых выше руководствах по применению в документе AVR Instruction Set либо в файле справки, встроенном в AVR Studio (меню Help \ AVR Tools User Guide \ AVR Assembler), в котором содержатся достаточно подробные комментарии к каждой команде.
Последние версии AVR Studio содержат тестовую версию AVR ассемблера второй версии, который в дополнение к стандартному ассемблеру поддерживает новые директивы ассемблера, Си - подобные директивы препроцессора, создание переменных определенного типа. Более подробную информацию можно найти в файле справки.
Отладчик AVR Studio поддерживает все типы микроконтроллеров AVR и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных эмуляторов (InCircuit Emulators) производства фирмы Atmel. Важно отметить, что интерфейс пользователя не изменяется в зависимости от выбранного режима отладки.
Отладочная среда поддерживает выполнение программ, как в виде ассемблерного текста, так и в виде исходного текста языка Си, загруженного в объектном коде.
Для наблюдения за работой программы можно открыть несколько окон, отображающих состояние различных узлов микроконтроллера (см. рисунок). Окна открываются нажатием соответствующих кнопок на панели инструментов или при выборе соответствующего пункта меню View. Если в процессе выполнения программы в очередном цикле значение какого-либо регистра изменится, то этот регистр будет выделен красным цветом. При этом, если в следующем цикле значение регистра останется прежним, то цветовое выделение будет снято. Такое же цветовое выделение реализовано в окнах устройств ввода/вывода, памяти и переменных.
AVR Studio включает в себя программное обеспечение верхнего уровня для управления аппаратными средствами поддержки разработок, которое было описано выше.
3.7 Программирование на языках высокого уровня
Программное обеспечение для микроконтроллеров AVR, помимо ассемблера, может быть разработано на языке Си, так как платформа AVR поддержана продуктами сторонних разработчиков компиляторов языка Си.
Наиболее мощным, с высокой оптимизацией генерируемого кода, является компилятор IAR Embedded Workbench производства компании IAR - разработчика системы команд для микроконтроллеров AVR.
В качестве альтернативы компилятору IAR широко используются компиляторы CodeVision и ImageCraft, которые являются менее мощными с точки зрения оптимизации кода, но являются более легкими в освоении.
Для тех, кто не готов платить за программное обеспечение существует бесплатный компилятор WinAVR (ранее AVRGCC), который в совокупности с бесплатной графической средой VMLab, обеспечит разработчика необходимыми средствами для разработки программы на языке Си.
Для сторонников программирования на Паскале существует компилятор AVRco.
микроконтроллер программирование аппаратный внутрисхемный
4 Место AVR в современном мире
Микроконтроллеры AVR по праву считаются одним из самых интересных направлений, активно развиваемых корпорацией Atmel. Они представляют собой мощный инструмент для создания современных высокопроизводительных и экономичных многоцелевых контроллеров. На настоящий момент соотношение "цена - производительность - энергопотребление" для микроконтроллеров AVR по-прежнему остается едва ли не лучшим на мировом рынке 8-разрядных микроконтроллеров. Объемы продаж AVR в мире имеют стабильный рост, постоянно растет число сторонних фирм, разрабатывающих и выпускающих программные и аппаратные средства поддержки разработок для них. Области применения AVR многогранны - от простейших игрушек и интеллектуальных датчиков до сложных промышленных систем управления и контроля и современного телекоммуникационного оборудования. Семейство интенсивно развивается, усложняется, совершенствуется.
Заключение
В данной работе были рассмотрены AVR микроконтроллеры, их основные виды и программно-аппаратные средства поддержки разработок на данных микроконтроллерах. Также была освещена история возникновения AVR и его место в современности.
В заключении следует еще раз отметить, что AVR микроконтроллеры получили широчайшее распространение. Ввиду многообразности областей их применения avr микроконтроллеры получили много различных вариаций/модификаций. Существует большое количество программно-аппаратных разработок для облегчения разработок связанных с ними. И они продолжают развиваться дальше.
Список использованных источников
1. AVR микроконтроллеры общие понятия [Электронный ресурс] - Режим доступа: http://nikolaew.org/avr_old/learn.htm свободный. - Загл. с экрана. -Яз. Рус.
2. Микроконтроллеры: краткий обзор (AVR, PIC и другие) [Электронный ресурс] - Режим доступа: http://myrobot.ru/articles/mc_avr.php свободный. - Загл. с экрана. -Яз. Рус.
3. 32-разрядные микроконтроллеры AVR UC3 [Электронный ресурс] - Режим доступа: http://www.atmel.com/ru/ru/products/microcontrollers/avr/
свободный. - Загл. с экрана. -Яз. Рус.
4. AVR - Википедия [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/AVR свободный. - Загл. с экрана. -Яз. Рус
5. mymcu.ru/content/articles/Atmel/avr_devtools_2005.pdf [Электронный ресурс] - Режим доступа: http://mymcu.ru/content/articles/Atmel/avr_devtools_2005.pdf
Размещено на Allbest.ru
Подобные документы
Основные программы стеганографии. Программно-аппаратные средства криптографической защиты информации с закрытым ключом. Требования к используемым криптографическим средствам за рубежом и в России. Отечественные системы шифрования с открытым ключом.
отчет по практике [64,6 K], добавлен 18.09.2013Аппаратные и программные средства, на базе которых возможно построение локальной сети. Локальные и глобальные сети. Одноранговые и многоранговые сети. Топологии объединения группы компьютеров в локальную сеть. Используемые технологии локальных сетей.
курсовая работа [587,7 K], добавлен 12.05.2008Ознакомление с основными средствами архивации данных, антивирусными программами, криптографическими и другими программными средствами защиты информации. Аппаратные ключи защиты, биометрические средства. Способы охороны информации при работе в сетях.
дипломная работа [2,4 M], добавлен 06.09.2014Использование термина "информационное оружие". Типология, особенности и состав программно-математического оружия, объекты его воздействия и поражающие факторы. Программные, аппаратные и технические средства защиты информации как меры противодействия.
реферат [26,7 K], добавлен 20.05.2011Вычислительные системы, сети и телекоммуникации: цели и задачи обработки информации, аппаратные средства её реализации. Функции управления ЭВМ, их программные составляющие (память, интерфейс, средства обработки). Многопроцессорные вычислительные системы.
курсовая работа [2,1 M], добавлен 17.12.2009Категории доступа для информации, содержащей государственную тайну, их отражение в законодательстве Российской Федерации. Два вида защиты информации, оценка их эффективности. Аппаратные и программные средства шифрования. Виды утилит по функциям.
контрольная работа [26,0 K], добавлен 19.10.2014Объекты и виды авторского права. Юридические способы и технические средства его защиты и поддержи. Свободное воспроизведение и декомпилирование программ для ЭВМ и баз данных. Классификация и условия авторского договора. Форма и порядок его заключения.
контрольная работа [26,8 K], добавлен 21.01.2015Применение современных микроконтроллеров как одного из перспективных аппаратно-программных средств информационных систем. Общие принципы построения микроконтроллеров, их типовая структура. Разработка программы расчета задержек на языке ассемблер.
курсовая работа [719,2 K], добавлен 22.04.2019Основные концепции автоматизированной системы управления технологическим процессом. Компоненты систем контроля и управления, их назначение. Программно-аппаратные платформы для SCADA-систем, их эксплуатационные характеристики. Графические средства InTouch.
реферат [499,3 K], добавлен 15.03.2014Общая характеристика, достоинства и недостатки среды разработки приложений Microsoft Visual Basic. Структура программы для редактирования изображений, аппаратные и программные средства ее создания и эксплуатации. Описание объектов и их взаимодействия.
курсовая работа [3,9 M], добавлен 26.12.2012