Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергииРефераты >> Программирование и компьютеры >> Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергии
Однако, хочется подробнее познакомиться с еще одним крайне интересным направлением современной микроэлектроники, активно развиваемым фирмой 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 МГц является приближенным и зависит прежде всего от величины напряжения питания микроконтроллера и от температуры.