Электронные системы ускорителей

БАЗОВАЯ АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ
СЕМЕЙСТВА AT89LP51/52

Особенности архитектуры

1. ОБЗОР АРХИТЕКТУРЫ

1.1. Выполнение инструкций

1.2. Системная синхронизация

1.3. Сброс

1.4. Таймеры/счетчики

1.5. Управление прерыванием

1.6. Последовательный порт

1.7. Порты ввода/вывода

1.8. Безопасность

1.9. Программирование

2. ОРГАНИЗАЦИЯ ПАМЯТИ

2.1. Память программ

2.1.1. Интерфейс памяти программ

2.1.2. Сигнатура

2.2. Внутренняя память данных

2.2.1. DATA

2.2.2. IDATA

2.2.3. SFR

2.3. Внешняя память данных

2.3.1. XDATA

2.3.2. FDATA

2.3.3. Интерфейс внешней памяти данных

3. РЕГИСТРЫ СПЕЦИАЛЬНЫХ ФУНКЦИЙ SFR

3.1. Карта SFR

3.2. Слово состояния программы

3.3. Указатель стека

4. ПРОЦЕССОР

4.1. Быстрый режим

4.2. Расширенные указатели данных

4.3. Прерывания

ПОЛНОЕ ОПИСАНИЕ МИКРОКОНТРОЛЛЕРОВ AT89LP51/52

ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ
"AT89LP Developer Studio"

Основные сведения

1. ОСНОВНЫЕ ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ

1.1. Пользовательский интерфейс

1.1.1. Окно решений

1.1.2. Окно вывода

1.1.3. Список наблюдения

1.2. Запуск среды разработки

1.2.1. Открытие существующего проекта

1.2.2. Создание нового проекта

2. ОТЛАДКА ПРИЛОЖЕНИЯ

2.1. Терминология

2.2. Команды управления

2.3. Точки останова

2.4. Пример отладки

2.5. Загрузка проекта

2.6. Настройка симулятора для целевого устройства

2.7. Ассемблирование программы

2.8. Начало сессии отладки

2.8.1. Проверка внутреннего состояния микроконтроллера

2.8.2. Команды отладки

2.8.3. Одиночный шаг

2.8.4. Мониторинг целевых регистров

2.8.5. Установка точек останова

2.8.6. Выполнение кода и остановка на точке останова

2.8.7. Выход из отладки

3. ОКНА

3.1. Просмотр файлов

3.2. Ввод/вывод

3.3. Информация

3.4. Конфигурация проекта

3.5. Вид сборки

3.6. Отладка

3.7. Список наблюдения

3.8. Статическое представление памяти

3.9. Редактор

3.10. Дизассемблер

4. МЕНЮ И ПАНЕЛЬ ИНСТРУМЕНТОВ

4.1. Меню разработчика

4.2. Меню файлов

4.3. Меню редактора

4.4. Меню симулятора

4.5. Меню микроконтроллера

4.6. Меню отладки

4.7. Меню инструментов

4.8. Меню вида

4.9. Меню окон

4.10. Меню помощи

4.11. Меню лицензий

4.12. Меню Стандартная панель инструментов

4.13. Панель инструментов редактора

4.14. Панель инструментов отладчика

4.15. Панель инструментов управления потоком

5. НАСТРОЙКА СИМУЛЯТОРА

5.1. Системная настройка симулятора

5.2. Настройка fuse-битов симулятора

5.3. Набор файлов памяти

5.4. Настройка симулятора для доступа к XRAM

6. НАСТРОЙКА ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ

6.1. Выбор инструментальных средств

6.2. Определение параметров для инструментов

7. ОТЛАДКА

7.1. Расширенные контрольные точки

7.1.1. Типы контрольных точек

7.1.2. Диапазон точек останова

7.1.3. Контрольные точки данных

7.1.4. Точки останова по ссылке

7.1.5. Установка точек останова

7.1.6. Добавление точки останова

7.1.7. Удаление точки останова

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ

Цель работы

Предварительное задание

Задание и порядок выполнения работы

Оформление отчета

Вопросы к защите

1. Обзор архитектуры

AT89LP51/52 - 8-разрядные, мало потребляемые энергию, высокоэффективные CMOS-микроконтроллеры с 4K/8K-байтовой программируемой в системе флэш-памятью программ и с 256-байтовой флэш-памятью данных. Микроконтроллеры изготавливаются с использованием высокоплотной технологии энергонезависимой памяти Atmel и совместимыми со стандартным набором инструкций микроконтроллера 80C52.

AT89LP51/52 построены на основе усовершенствованного ядра центрального процессора (ЦП), который может выполнять выборку одного байта из памяти за каждый тактовый период. В классической архитектуре микроконтроллера 8051 для каждой выборки из памяти необходимы 6 тактов, а инструкции выполняются за 12, 24 или 48 тактов. В процессоре AT89LP51/52 инструкциям требуются только 1 - 4 такта, обеспечивая пропускную способность в 6 - 12 раз больше, чем стандартный 8051. Семидесяти процентам инструкций требуется столько тактовых периодов, сколько они имеют байтов для выборки, а большинство из оставшихся инструкций требуют только один дополнительный такт. Новое ядро процессора способно выполнять 20 MIPS (миллионов инструкций в секунду), в то время как классический процессор 8051 при том же потребление тока только 4 MIPS. И наоборот, при той же пропускной способности, как в классическом 8051, новое ядро процессора работает на более низкой скорости, и поэтому значительно снижаются потребление энергии и электромагнитное излучение. Микроконтроллеры AT89LP51/52 работают также в режиме совместимости, который позволяет иметь в машинном цикле операций классические 12 тактов для реальной совместимости с AT89S51/52.

рис1.1

Рис. 1.1. Структурная схема
микроконтроллеров AT89LP51/52

Микроконтроллеры AT89LP51/52 имеют следующие стандартные характеристики: 4K/8K байт программируемой флэш-памяти программ, 256 байт флэш-памяти данных, 256 байт RAM, 36 линий ввода-вывода, три 16-битовых таймера/счетчика, программируемый таймер, полнодуплексный последовательный порт, внутренний генератор, внутренний вспомогательный генератор на 1.8432 МГц и четырех уровневую шести векторную систему прерываний. Блок-схема микроконтроллера показана на рис. 1.1. Все три таймера/счетчика AT89LP51/52, таймеры 0, 1 и 2, могут быть настроены на установку вывода порта при переполнении для формирования синхросигнала. В отличие от AT89S51 в AT89LP51 имеется таймер 2.

Усовершенствованный полнодуплексный приемопередатчик (УАПП) в AT89LP51/52 имеет возможность обнаружения ошибок кадра и автоматического распознавания адресов. Кроме того, усовершенствования в режиме 0 позволяют аппаратное ускорение эмуляции последовательного периферийного интерфейса (SPI) и двухпроводного интерфейса (TWI).

Сторожевой таймер в AT89LP51/52 имеет 7-битовый делитель, команду программного сброса и флаг переполнения. Он может выводить сигнал сброса на вывод внешнего сброса.

Каждый 8-битовый порт ввода/вывода в AT89LP51/52 можно независимо настроить в один из четырех операционных режимов. В квази-двунаправленном режиме порты работают как в классическом 8051. В режиме только для ввода порты имеют третье высокоимпедансное состояние. Подтянутый выходной режим полностью обеспечивается драйверами CMOS, а режим с открытым стоком обеспечивает стягивание. В отличие от 8051 порт 0 может работать с внутренним подтягиванием, если это необходимо.

Табл. 1.1. Сравнение совместимого и быстрого режимов

табл.1

AT89LP51/52 является частью семейства устройств с расширенными функциями, которые полностью совместимы с двоичными командами 8051. AT89LP51/52 имеют два режима работы: режим совместимости и быстрый режим. Краткое изложение различий между совместимым и быстрым режимами приведены в табл. 1.1.

1.1. Выполнение инструкций

В режиме совместимости процессор AT89LP51/52 использует машинный цикл из шести состояний стандартного МК 8051, где байты выбираются каждые три тактовых периода. Время выполнения в этом режиме идентично AT89S51/52. Для большей производительности пользователь может включить быстрый режим AT89LP51/52, предварительно отключив fuse-бит совместимости. В быстром режиме процессор извлекает однобайтовый код из памяти каждый тактовый период, а не раз за три такта. Это значительно увеличивает пропускную способность процессора. Каждая стандартная инструкция выполняется только за 1 - 4 такта.

Любое программное обеспечение, использующее циклы задержки или инструкции, задающие время выполнения операций, должны быть перенастроены для достижения желаемых результатов в быстром режиме.

1.2. Системная синхронизация

По умолчанию, в режиме совместимости системная тактовая частота, задаваемая внешним резонатором, делится на 2 для совместимости со стандартным МК 8051 (12 тактов на машинный цикл). Делитель системного времени может масштабировать систему синхронизации. Деление на 2 можно отключить, чтобы работать в режиме X2 (6 тактов машинного цикла), или такты могут быть дополнительно поделены для уменьшения рабочей частоты. В быстром режиме такты по умолчанию делятся делителем на 1.

Источник системной синхронизации выбирается между кварцевым генератором с внешним заданием частоты и внутренним дополнительным генератором на 1,8432 МГц.

1.3. Сброс

Для сброса имеется возможность выбора полярности сигнала на выводе RST, используя вывод POL (ранее EA). Когда на POL подан высокий уровень, вывод RST активен при высоком уровне со стягивающим резистором, а когда подан низкий уровень, вывод RST активен при низком уровне с подтягивающим резистором. Для существующих сокетов под AT89S51/52, где EA привязан к VDD, при замене AT89S51/52 на AT89LP51/52 будет поддерживаться активным высокий уровень сброса. Обратите внимание, что подача низкого уровня на EA не поддерживается.

Микроконтроллеры AT89LP51/52 имеют внутренний сброс при включении питания и схему определения неустойчивого питания, которая гарантирует сброс от системы питания. В большинстве случаев на выводе RST RC-схема запуска не требуется, тем самым снижается стоимость системы, и вывод RST может быть не подключен, если на уровне платы сброс отсутствует.

Для управления режимами работы таймеров/счетчиков используются два регистра специальных функций TMOD и TCON.

1.4. Таймеры/счетчики

Три программируемых 16-разрядных счетчика/таймера могут использоваться в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое его регистра инкрементируется в каждом машинном цикле. При работе в качестве счетчика инкрементирование происходит под воздействием перехода уровня сигнала из 1 в 0 на входе счетчика, опрос которого выполняется также каждый машинный цикл. Новое значение счетчика устанавливается в следующем цикле после обнаружения перехода уровня сигнала.

Для управления режимами работы таймеров/счетчиков используются два регистра специальных функций TMOD и TCON.

Общий делитель используется для задания базового времени для таймера 0, таймера 1, таймера 2 и сторожевого таймера. Биты TPS3-0 в регистре CLKREG SFR управляют делителем. В режиме совместимости TPS3-0 по умолчанию 0101b, что позволяет таймерам считать один раз за машинный цикл. Изменяя TPS3-0, скорость счета можно регулировать линейно от системной частоты до 1/16 ее части. В быстром режиме TPS3-0 - по умолчанию 0000B, или задается системная скорость. TPS не влияет на таймер 2 в режимах выходного тактового генератора.

В режиме совместимости выборка сигналов на выводах таймеров/счетчиков: T0, T1, T2 и T2EX и выводах внешнего прерывания INT0 и INT1 также управляется делителем. В быстром режиме эти выводы всегда осуществляют выборку сигналов с частотой синхронизации системы.

Оба, таймер 0 и таймер 1, могут устанавливать сигнал на соответствующих выводах T0 и T1 при переполнении путем установки битов разрешения выхода в TCONB.

Сторожевой таймер включает в себя 7-битовый делитель для более длительного периода, чем период тайм-аута AT89S51/52. Обратите внимание, что в быстром режиме биты WDIDLE и DISRTO находятся в регистре WDTCON, а не в AUXR.

1.5. Управление прерыванием

С добавлением регистра IPH микроконтроллер AT89LP51/52 получил четыре уровня приоритета прерывания и большую гибкость при обработке нескольких прерываний. Кроме того, быстрый режим позволяет быстрее обрабатывать прерывания в связи с более коротким временем выполнения инструкций.

1.6. Последовательный порт

Делитель таймера увеличивает диапазон скоростей передачи при использовании таймера 1 для задания скорости передачи данных в режимах 1 или 3, в том числе увеличение максимальной скорости передачи доступно в режиме совместимости. Дополнительные функции включают автоматическое распознавание адреса и обнаружение ошибки кадра.

В режиме сдвигового регистра (режим 0) было улучшено управление полярностью, фазой и тактовой частотой, а также дуплексным режимом. Это позволило эмулировать ведущего последовательного периферийного интерфейса (SPI) и двухпроводной интерфейс (TWI).

1.7. Порты ввода/вывода

Порты ввода/вывода P0, P1, P2 и P3 работают в четырех режимах. Значение по умолчанию зависит от fuse-бита Tristate-Port. Когда fuse-бит установлен, все порты ввода/вывода при включении питания или сбросе возвращаются в режим только для ввода (в третьем состоянии). Если fuse-бит не активен, порты P1, P2 и P3 стартуют в квази-двунаправленном режиме, а P0 в режиме с открытым стоком. Порт P4 всегда работает в квази-двунаправленный режиме. P0 может быть настроен на внутреннее подтягивание, задав его в квази- или двунаправленном режимах вывода. Это может снизить стоимость системы за счет устранения необходимости внешнего подтягивания на порте 0.

Выводы P4.4-P4.7 дополнительных входов/выходов заменяют обычно предназначенные выводы микроконтроллеров AT89S51/52 для сигналов ALE, PSEN, XTAL1 и XTAL2. Эти выводы могут быть использованы для дополнительных операций ввода/вывода в зависимости от конфигурации синхронизации и внешней памяти.

1.8. Безопасность

В микроконтроллерах AT89LP51/52 нет вывода внешнего доступа (EA). Поэтому невозможно выполнение инструкций из внешней памяти программ в диапазоне адресов 0000H-1FFFh. Когда установлен третий бит блокировки (режим блокировки 4), внешнее исполнение программ отключено для всех адресов выше 1FFFh. Это отличает их от AT89S51/52, где режим блокировки 4 предотвращает задание EA низким уровнем, но может допустить внешнее исполнение по адресам за пределами 8K внутреннего пространства.

1.9. Программирование

Микроконтроллеры AT89LP51/52 поддерживают богатый набор инструкций для внутрисистемного программирования (ISP). Существующие программисты для микроконтроллеров AT89S51/52 могут иметь возможность программировать AT89LP51/52 в байтовом представлении. В страничном режиме AT89LP51/52 поддерживают только полустраничное программирование в 64 байта, и поэтому по сравнению с AT89S51/52 требуется дополнительный байт адреса. Кроме того, устройство сигнатуры расположено по адресам 0000H, 0001H и 0003H вместо 0000H, 0100H и 0200H.