- •Цифровые сигнальные процессоры
- •Содержание
- •1. Архитектура adsp-2181
- •1.1. Описание выводов процессора
- •1.2. Структурная схема adsp-2181
- •Генераторы адресов данных dag1 и dag2, регистр команд instruction register и программный конвейер program sequencer.
- •1.3. Память программ
- •1.4. Память данных
- •1.5. Функциональная схема alu
- •1.6. Функциональная схема мас
- •1.7. Функциональная схема shifter
- •Значения выходного кода сдвигателя при различных значениях
- •1.8. Функциональная схема программного конвейера
- •1.9. Система прерываний
- •1.9.3. Конфигурирование прерываний.
- •1.10. Регистры состояния и стек состояния
- •1.11. Передача данных
- •1.11.1. Генераторы адресов
- •1.11.2. Узел обмена данными
- •1.12. Последовательные порты
- •1.12.1. Общие сведения
- •1.12.2. Программирование sport
- •Функциональное назначение конфигурационных регистров
- •1.12.3. Пример конфигурирования последовательных портов
- •{Программа инициализации sport0, sport1}
- •1.12.4. Сжатие данных
- •1.12.5. Автобуферизация
- •1.12.6. Пример программирования автобуферизации
- •1.12.7. Многоканальность
- •1.13. Таймер
- •1.14. Системный интерфейс
- •1.14.1. Сигналы синхронизации
- •Состояние регистров процессора после сброса и перезагрузки
- •Состояние регистров bdma после сброса и перезагрузки
- •1.14.2. Внешние прерывания
- •1.14.3. Флажковые биты
- •1.14.4. Режим энергосбережения
- •1.15. Контроллер прямого доступа к байтовой памяти (bdma)
- •1.15.1. Общие сведения
- •1.15.2. Регистры управления bdma
- •1.15.3. Функционирование bdma
- •1.15.4. Загрузка программ с помощью bdma
- •1.16. Порт idma
- •1.16.1. Сигналы idma
- •1.16.2. Функционирование idma
- •1.16.3. Загрузка программ с помощью idma
- •1.17. Система команд
- •1.17.1. Общие сведения
- •1.17.2. Методы адресации
- •1.17.3. Условные обозначения
- •1.17.4. Команды пересылки данных
- •1.17.5. Команды alu
- •Б) вычитание X-y/вычитание X-y с заемом
- •1.17.6. Команды мас
- •1.17.7. Команды shifter
- •Допустимые регистры xop и условия cond см. П. 1.17.7.А.
- •Допустимые регистры xop и условия cond см. П. 1.17.7.А.
- •Допустимые регистры xop и условия cond см. П. 1.17.7.А.
- •Допустимые регистры xop и условия cond см. П. 1.17.7.А.
- •Допустимые регистры xop см. П. 1.17.7.А.
- •Допустимые регистры xop см. П. 1.17.7.А.
- •1.17.8. Команды управления потоком программы
- •Допустимые условия cond:
- •Допустимые условия cond см. П. 1.17.8.А.
- •1.17.9. Многофункциональные команды
- •1.17.10. Прочие команды
- •1.18. Инструментальные средства разработки программного обеспечения
- •1.18.1. Инструментальные средства для dos
- •1.18.2. Инструментальные средства для windows
- •1.18.3. Создание проекта в VisualDsp
- •1.18.4. Загрузка программы в ez-kit Lite
- •1.19. Примеры программирования в среде VisualDsp
- •1.19.1. Формирование эхо-сигнала
- •Architecture(adsp-2181) // определение типа процессора
- •1.19.2. Эмуляция интерфейса rs-232
- •1.19.3. Эмуляция интерфейса rs-232 (смешанный вариант)
- •Architecture(adsp-2181) // определение типа процессора
- •2. Архитектура системы на основе adsp-2181
- •2.1. Структурная схема вычислительной (управляющей)
- •2.2. Цепи синхронизации и запуска процессора
1.14.4. Режим энергосбережения
Режим энергосбережения позволяет понизить потребляемую мощность до 1mW при условии малой нагрузки на выходы и малой активности сигналов на входах процессора. Режим особенно актуален для устройств с батарейным питанием.
Характерные особенности режима:
Запрещена внутренняя синхронизация;
Содержимое регистров и памяти процессора сохраняется;
Возможность выхода из режима менее чем за 100 периодов CLKIN;
Возможность запрещать внутренний генератор при использовании кварцевого резонатора;
Поддержка выполнения предопределенной части программы (housekeeping) перед входом в режим и при выходе из режима;
Выбираемый пользователем контекст при выходе из режима.
Управлять параметрами режима можно с помощью битов управления режимом энергосбережения, которые входят в состав регистра управления автобуферизацией SPORT1 (см. п. П1.5). В ним, в частности, относятся XTALDIS, XTALDELAY, PDFORCE и PUCR.
С помощью первого из них можно запретить работу внутреннего генератора синхронизации процессора на время нахождения в режиме энергосбережения. Второй – обеспечивает задержку выполнения программы на 4096 циклов для восстановления параметров узла автоподстройки частоты при выходе из режима энергосбережения. Третий – обеспечивает один из способов перехода в режим энергосбережения. И, наконец, четвертый – определяет контекст процессора при выходе из режима.
Перевод в процессора в режим энергосбережения обычно производится следующим образом:
Инициировать переход в режим энергосбережения можно аппаратно, активизируя входной сигнал PWD#, или программно, установив в 1 бит PDFORCE регистра управления режимом энергосбережения (см. п. П1.5);
Процесс переходит на немаскируемый вектор прерывания powerdown по адресу 0х002С;
Начиная с этого адреса, перед переходом в режим энергосбережения выполняется любое количество команд (предопределенный фрагмент программы). Обычно этот фрагмент программы определяет параметры режима энергосбережения, запрещает внутрипроцессорную периферию и очищает необработанные запросы на прерывание;
Перевод процессора в режим энергосбережения осуществляет команда IDLE (см. п. 1.17.8.з) даже, если этот переход инициирован аппаратно. Если в предопределенном фрагменте программы перед командой IDLE будет стоять команда RTI, то процессор вернется из обработчика прерывания powerdown без перехода в режим энергосбережения, т.е., в принципе, это прерывание можно использовать, как немаскируемое прерывание общего назначения.
Выход из режима энергосбережения могут инициировать два внешний сигнала: PWD# (переход из низкого уровня в высокий) или RESET#. Далее, в зависимости от различных факторов, переход на выполнение программы может производиться различными путями.
Если выход из режима энергосбережения инициирован дезактивацией сигнала PWD#, то программист может установить, по крайней мере, два параметра выхода: длительность задержки и контекст. Первый параметр зависит от значения бита XTALDELAY регистра управления режимом энергосбережения (см. п. П1.5). Если этот бит сброшен, то переход на программу составляет 100 периодов CLKIN. Такое значение бита XTALDELAY устанавливается обычно, если используется внешний тактовый генератор. Если бит XTALDELAY установлен, то переход на программу составляет 4096 периодов CLKIN. Такое значение XTALDELAY бита устанавливается обычно, если используется внутренний тактовый генератор.
Контекст зависит от значения бита PUCR регистра управления режимом энергосбережения (см. п. П1.5). Если этот бит сброшен, то процессор перейдет на следующую команду (обычно RTI) после команды IDLE. Если бит PUCR установлен, то при выходе из режима энергосбережения очищаются стеки PC, STATUS, LOOP и CNTR, регистры IMASK и ASTAT. В регистр SSTAT записывается 0х55. Процессор начинает выполнять программу с адреса 0х0000.
Сигнал PWDACK (Power Down Acknowledge – подтверждение режима энергосбережения) является ответным на сигнал PWD#. Сигнал PWDACK устанавливается, когда выполняется команда IDLE, и сбрасывается, когда начинает выполняться первая команда после выхода процессора из режима энергосбережения. Низкий уровень этого сигнала гарантирует наличие сигнала CLKOUT.
Если сигнал RESET# активизируется, когда процессор находится в режиме энергосбережения, то начинается обычный процесс сброса процессора (см. п. 1.14.1). Если этот сигнал используется только для выхода из режима энергосбережения, то он должен иметь определенную длительность. Расчет длительности сигнала RESET# для различных вариантов работы процессора приводится в [1].
