
- •Цифровые сигнальные процессоры
- •Содержание
- •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. Цепи синхронизации и запуска процессора
Состояние регистров процессора после сброса и перезагрузки
Регистр или Битовое поле |
Описание |
Сброс |
Перезаг- рузка |
||
Регистр обмена |
|||||
РХ |
Регистр обмена РХ |
НО |
НО |
||
Регистры состояния |
|||||
IMASK |
Разрешен. Обслуживания прерываний |
0 |
0 |
||
ASTAT |
Арифметический статус |
0 |
0 |
||
MSTAT |
Состояние режима |
0 |
НИ |
||
SSTAT |
Состояние стеков |
0х55 |
0х55 |
||
ICNTL |
Управление прерываниями |
НО |
НИ |
||
IFC |
Сброс/форсирование прерываний |
0 |
0 |
||
Регистры управления (расположены в ПД) |
|||||
BWAIT |
Состояния ожидания загруз. памяти |
3 |
НИ |
||
BPAGE |
Загружаемая страница |
0 |
НИ |
||
SPORT1 |
Регистр конфигурирования SPORT1 |
1 |
НИ |
||
SPE0 |
Разрешение SPORT0 |
0 |
НИ |
||
SPE1 |
Разрешение SPORT1 |
0 |
НИ |
||
DWAIT0-4 |
Состояния ожидания ПД |
7 |
НИ |
||
PWAIT |
Состояния ожидания ПП |
7 |
НИ |
||
TCOUNT |
Регистр счетчика таймера |
НО |
ПР |
||
TPERIOD |
Регистр периода таймера |
НО |
НИ |
||
TSCALE |
Регистр коэфф. Деления таймера |
НО |
НИ |
||
PDFORCE |
Форсирование PD |
0 |
НИ |
||
PUCR |
Определение контекста после PD |
0 |
НИ |
||
XTALDIS |
Запрет контакта XTAL во время PD |
0 |
НИ |
||
XTALDELAY |
Задержка начала работы после PD |
0 |
НИ |
||
Регистры управления последовательными портами |
|||||
ISCLK |
Внутр. Синхропоследовательность |
0 |
НИ |
||
RFSR, TFSR |
Разр. Фреймовой синхронизации |
0 |
НИ |
||
RFSW, TFSW |
Ширина фреймовых синхроимпульсов |
0 |
НИ |
||
IRFS, ITFS |
Внутренняя фреймовая синхронизац. |
0 |
НИ |
||
INVRFS, INVTFS |
Инверсн. знач. Фрейм. Синхроимп. |
0 |
НИ |
||
DTYPE |
Тип компандинга |
0 |
НИ |
||
SLEN |
Длина последовательных слов |
0 |
НИ |
||
SCLKDIV |
Коэфф. Деления SCLK |
НО |
НИ |
||
RFSDIV |
Коэфф. Деления RFS |
НО |
НИ |
||
Слово бит разрешения многоканального режима |
НО |
НИ |
|||
МСЕ |
Разрешение многоканального режима |
0 |
НИ |
||
MCL |
Многоканальная длина |
0 |
НИ |
||
MFD |
Задержка многоканального фрейма |
0 |
НИ |
||
INVTDV |
Инвертирование передаваем. данных |
0 |
НИ |
||
RBUF, TBUF |
Разрешение автобуферизации |
0 |
0 |
||
TIREG, RIREG |
I-индекс автобуферизации |
НО |
НИ |
||
TMREG, RMREG |
М-индекс автобуферизации |
НО |
НИ |
||
|
|
|
|
||
FO (только SPORT1) |
Значение флага Out |
НО |
НИ |
||
CLKODIS |
Запрет сигнала CLKOUT |
0 |
НИ |
||
BIASRND |
Смещенное округление МАС |
0 |
НИ |
||
|
|
|
|
||
Регистры управления внешней памятью (не расположены в ПД) |
|||||
DMOVLAY |
Выбор оверлея памяти данных |
0 |
НИ |
||
PMOVLAY |
Выбор оверлея памяти программ |
0 |
НИ |
||
Расположены в ПД |
|
|
|||
DWAIT |
Состояния ожидания оверлеев ПД |
0х7 |
НИ |
||
PWAIT |
Состояния ожидания оверлеев ПП |
0х7 |
НИ |
||
BMWAIT |
Состояния ожидания байтовой памяти |
0х7 |
НИ |
||
IOWAIT0-3 |
Состояния ожидания ввода/вывода |
0х7 |
НИ |
||
CMSEL |
Выбор композитного селект. сигнала |
0хВ |
НИ |
||
|
|
|
|
||
Программируемые флаги данных и регистры управления (в ПД) |
|||||
PFDATA |
Программируемые флаги данных |
НО |
НИ |
||
PFTYPE |
Программируемые флаги направления |
0 |
НИ |
||
|
|
|
|
||
Регистры управления DMA (расположены в ПД) |
|||||
IDMAA |
Адрес внутренней памяти IDMA |
0x00 |
НИ |
||
IDMAD |
Тип памяти назначения |
0 |
НИ |
||
BIAD |
Адрес внутренней памяти BDMA |
0 |
0x20* |
||
BEAD |
Адрес внешней памяти BDMA |
0 |
0х60* |
||
BTYPE |
Тип передаваемого слова BDMA |
0 |
НИ |
||
BDIR |
Направление передачи BDMA |
0 |
НИ |
||
BCR |
Контекст сброса BDMA |
1 |
НИ |
||
BWCOUNT |
Число передаваемых слов BDMA |
0x20 |
0* |
||
BMPAGE |
Страница внешней байтовой памяти |
0 |
0* |
Примечания:
НО – значение не определено;
НИ – значение не изменяется;
символом * отмечены значения, которые имеют место сразу же после начальной загрузки программы через BDMA. Такая загрузка производится процессором при выполнении следующих условий: MMAP = 0, BMODE = 0 (см. п. 1.1).
Во время сброса (перезагрузки) все запросы на прерывания (включая от последовательных портов) маскируются, а автобуферизация запрещается. Последовательные порты остаются активными, поэтому во время сброса (перезагрузки) они могут осуществить, по крайней мере, одну пересылку данных без формирования ошибки переполнения.
Таймер во время перезагрузки продолжает работать. Если он формирует запрос на прерывание, то этот запрос маскируется. Из всех возможных последующих запросов запоминается только первый.
После перехода сигнала RESET# в высокий уровень процесс сброса процессора переходит в процесс загрузки программы. Вид загрузки зависит от значения сигналов на входах MMAP и BMODE процессора (см. п. 1.1). Так, если MMAP = 0 и BMODE = 0, то осуществляется BDMA загрузка программы из БП. При этом некоторые регистры процессора будут иметь значения, приведенные в табл. 1.17.
Таблица 1.17