█ (перевод с англ. Ю.Андриенко) █ █ Fidonet - 2:461/44.14, 2:461/42.14 █ █ E-Mail - yurik@aqua.kharkow.ua █ █ Phone - (057-2) 98-07-58, 44-85-40 █ Микроконтроллер AT90S1200 фирмы Atmel AT90S1200 - экономичный 8 битовый КМОП микроконтроллер, построен- ный с использованием расширенной RISC архитектуры AVR. Устройство име- ет 64 байта EEPROM. Исполняя по одной команде за период тактовой час- тоты, AT90S1200 имеет производительность около 1MIPS на МГц, что поз- воляет разработчикам создавать системы оптимальные по скорости и по- требляемой мощности. В основе ядра AVR лежит расширенная RISC архитектура, объединяю- щая развитый набор команд и 32 регистра общего назначения. Все 32 ре- гистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная архитектура дает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами. Подобная архитектура эффективно поддерживает языки высокого уров- ня и дает высокую плотность ассемблерных программ. AT90S1200 предлага- ет следующие возможности: 1кБ загружаемой флэш памяти; 64 байта EEPROM; 15 двунаправленных линий ввода/вывода; 32 регистра общего на- значения; настаиваемый таймер/счетчик; внешние и внутренние прерыва- ния; программируемый строжевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем со- стоянии регистры, таймер/счетчик, сторожевой таймер и систему прерыва- ний. Экономичный режим (Power Down Mode) сохраняет содержимое регист- ров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса. Микросхемы производятся с использованием технологии энергонезави- симой памяти высокой плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть перепрограммирована прямо в системе через после- довательный интерфейс SPI или доступным программатором энергонезависи- мой памяти. Объединяя на одном кристалле усовершенствованный 8-бито- вый RISC процессор с загружаемой флэш памятью, AT90S1200 является мощ- ными микроконтроллерами, которые позволяют создавать достаточно гибкие и эффективные по стоимости устройства. AT90S1200 поддерживается полной системой разработки включающей в себя макроассемблер, программный отладчик/симулятор, внутрисхемный эмулятор и отладочный комплект. ОПИСАНИЕ ВЫВОДОВ VCC - вывод источника питания GND - земля Port B (PB7..PB0) - Порт B является 8-битовым двунаправленным портом ввода/вывода. Для выводов порта предусмотренны внутренние под- тягивающие резисторы (выбираются для каждого бита). Выводы PB0 и PB1 также являются положительным (AIN0) и отрицательным (AIN1) входами встроенного аналогового компаратора. Выходные буферы порта B могут по- глощать ток до 20мА и непосредственно управлять светодиодными индика- торами. Если выводы PB0..PB7 используются как входы и извне устанавли- ваются в низкое состояние, они являются источниками тока, если включе- ны внутренние подтягивающие резисторы. Кроме того Порт B обслуживает некоторые специальные функции, которые будут описаны ниже. ┌────┬┬────┐ RESET ┌┤1 └┘ 20├┐ VCC └┤ ├┘ PD0 ┌┤2 19├┐ PB7/SCK └┤ ├┘ PD1 ┌┤3 18├┐ PB6/MISO └┤ ├┘ XTAL2 ┌┤4 17├┐ PB5/MOSI └┤ ├┘ XTAL1 ┌┤5 16├┐ PB4 └┤ ├┘ PD2/INT0 ┌┤6 15├┐ PB3 └┤ ├┘ PD3 ┌┤7 14├┐ PB2 └┤ ├┘ PD4/T0 ┌┤8 13├┐ PB1/AIN1 └┤ ├┘ PD5 ┌┤9 12├┐ PB0/AIN0 └┤ ├┘ GND ┌┤10 11├┐ PD8 └┤ ├┘ └──────────┘ Port D (PD6..PD0) - Порт D является 7-битовым двунаправленным портом с внутренними подтягивающими резисторами. Выходные буферы порта D могут поглощать ток до 20мА. Как входы установленные в низкое состо- яние, выводы порта D являются источниками тока, если задействованы подтягивающие резисторы. Кроме того Порт D обслуживает некоторые спе- циальные функции, которые будут описаны ниже. RESET - Вход сброса. При удержании на входе низкого уровня в те- чение двух машинных циклов (если генератор работает), сбрасывает уст- ройство. XTAL1 - вход инвертирующего усилителя генератора и вход внешнего тактового сигнала. XTAL2 - Выход инвертирующего усилителя генератора. КВАРЦЕВЫЙ ГЕНЕРАТОР XTAL1 и XTAL2 являются входом и выходом инвертирующего усилителя, который можно использовать для генератора тактовых импульсов. Можно использовать как кварцевые, так и керамические резонаторы. При подклю- чении внешнего тактового сигнала вывод XTAL2 остается неподключенным, а XTAL1 подключается в выходу внешнего генератора. ВСТРОЕННЫЙ RC ГЕНЕРАТОР Встроенный RC генератор работает на фиксированной частоте 1МГц и может быть выбран в качестве источника тактовых сигналов процессора. При необходимости AT90S1200 может работать без внешних компонентов. Управляющий бит RCEN во флэш памяти при установке в единицу выбирает в качестве источника тактовых сигналов встроенный RC генератор. Микро- схемы поставляются c незапрограммированным битом RCEN (0), устройства с запрограммированным битом можно заказывать как AT90S1200A. Бит RCEN может быть установлен только при параллельном программировании. При использовании внутреннего RC генератора для загрузки программы через последовательный порт, первоначально параллельным программированием должен быть установлен бит RCEN. ││ │ │ ┌──┤├───┬────┤XTAL2 не подключен ──┤XTAL2 │ ││ ──┴── │ │ │ ┌───┐ │ │ │ └───┘ │ │ │ ││ ──┬── │ сигнал │ ├──┤├───┴────┤XTAL1 внешнего ──────┤XTAL1 │ ││ │ генератора │ │ │ │ │ │ ├─┴────────────┤GND ├────┤GND │ │ │ │ Подключение кристалла Подключение внешнего генератора RISC процессор микроконтроллера AT90S1200 Микроконтроллер AT90S1200 совместим снизу вверх с другими AVR RISC микроконтроллерами. Программы написанные для AT90S1200 совместимы со всеми 8 разрядными AVR процессорами (AT90Sxxxx) как по исходным ко- дам так и по времени исполнения в машинных циклах. Обзор архитектуры Регистровый файл быстрого доступа содержит 32 8-разрядных регист- ра общего назначения, доступ к которым осуществляется за один машинный цикл. Поэтому за один машинный цикл исполняется одна операция АЛУ. Два операнда выбираются из регистрового файла, выполняется операция, ре- зультат ее записывается в регистровый файл - все за один машинный цикл. АЛУ поддерживает арифметические и логические операции между ре- гистрами и между константами и регистрами. Операции над отдельными ре- гистрами также выполняются в АЛУ. AVR использует Гарвардскую архитек- туру - раздельные шины и память программ и данных. Доступ к памяти программ производится через одноуровневый буфер. Во время выполнения одной команды, следующая выбирается из памяти. Такая конструкция поз- воляет выполнять операции за один машинный цикл. Памятью программ яв- ляется внутренняя загружаемая флэш память. При помощи команд относительных переходов и относительных вызовов подпрограмм осуществляется доступ ко всем 512 адресам памяти. Все команды AVR имеют формат одного 16-разрядного слова, поэтому по каждо- му адресу памяти программ хранится одна команда. При обработке прерываний и вызове подпрограмм, адрес возврата (значение программного счетчика) сохраняется в стеке. Стек выполнен как 3 уровневый аппаратный стек и используется для подпрограмм и пре- рываний. Пространство ввода/вывода содержит 64 адреса периферийных уст- ройств ЦПУ, таких как управляющие регистры, таймер/счетчик, АЦП и дру- гие устройства ввода/вывода. Все области памяти в архитектуре AVR ли- нейны. Модуль прерываний имеет собственный управляющий регистр в прост- ранстве ввода/вывода, и флаг глобального разрешения прерываний в реги- стре состояния. Каждому прерыванию назначен свой вектор в начальной области памяти программ. Различные прерывания имеют приоритет в соот- ветствии с расположением их векторов. По младшим адресам расположены векторы с большим приоритетом. Файл регистров общего назначения Все оперирующие регистрами команды в наборе команд прямо адресу- ются к любому из регистров за один машинный цикл. Единственное исклю- чение - пять команд оперирующих с константами SBCI, SUBI, CPI, ANDI, ORI и команда LDI, загружающая регистр константой. Эти команды работа- ют тольк...
fred1144