- •Цифровые сигнальные процессоры
- •Содержание
- •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. Цепи синхронизации и запуска процессора
Допустимые регистры xop см. П. 1.17.7.А.
Допустимое значение <exp> – любая константа от –128 до 127.
Пример: SR = LSHIFT SR1 BY –6 (HI);
Описание: Процессор производит логический сдвиг битов операнда. Направление и число сдвигов зависит от значения экспоненты, введенной непосредственным числом <exp>.
Положительное значение <exp> (перед ним нельзя ставить знак “+”) вызывает левый сдвиг, отрицательное – правый сдвиг. Сдвинутый операнд может быть размещен в старшей половине выходного поля SHIFTER (опция HI) или в младшей половине (опция LO). Сдвинутый операнд может быть также подвергнут операции логического ИЛИ с текущим содержимым регистра SR (опция SR OR).
При левом сдвиге справа от МЗР распространяется ноль, а биты сдвинутого операнда, выходящие за SR31 опускаются. При правом сдвиге слева от СРЗ распространяется ноль, а биты сдвинутого операнда, выходящие за SR0 опускаются.
При сдвиге с двойной точностью константа <exp> используется для обеих половин операнда. В первом цикле сдвигается старшая половина операнда с двойной точностью (команда LSHIFT используется с опцией HI). Для сдвига младшей половины операнда с двойной точностью команда LSHIFT использует с опциями LO и SR OR.
Флаги состояния: не изменяются.
1.17.8. Команды управления потоком программы
А) КОМАНДА ПЕРЕХОДА
[IF cond] JUMP
(I4)
;
(I5)
(I6)
(I7)
<addr>
Синтаксис:
Допустимые условия cond:
EQ NE GT GE LT LE NEG
POS AV NOT AV AC NOT AC MV NOT MV
NOT CE
Пример: IF NOT CE JUMP top_loop; {CNTR декрементируется}
Описание: Если команда выполняется (условие отсутствует или вернуло TRUE), то процессор производит переход на указанный а команде адрес. Метод адресации перехода может быть прямым или косвенным регистровым.
Прямой адрес <addr> (задается непосредственным операндом или меткой) располагается в 14-битном поле внутри команды. При косвенной регистровой адресации в команде задается один из I регистров. После выполнения перехода пост-модификация этого регистра не производится.
Если команда JUMP является последней командой цикла DO UNTIL, то необходимо корректировать состояния стеков цикла. Если используется условие NOT CE (как в примере), то при выполнении команды регистр CNTR декрементируется.
Флаги состояния: не изменяются.
Б) КОМАНДА ВЫЗОВА ПОДПРОГРАММЫ
[IF cond] СALL
(I4)
;
(I5)
(I6)
(I7)
<addr>
Синтаксис:
