Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ — страница 8 из 43

130Требование кадровой синхронизации приема: 0 — не требуется, 1 — требуется120Требование широкого кадрового импульса приемника: 0 — не требуется, 1 — требуется110Требование кадровой синхронизации передатчика: 0 — не требуется, 1 — требуется100Требование широкого кадрового импульса передатчика: 0 — не требуется, 1 — требуется90Разрешение внутреннего тактового генератора передатчика: 0 — запрещен, 1 — разрешен80Разрешение внутреннего кадрового генератора приемника: 0 — запрещено, 1 — разрешено70Разрешение инвертирования кадрового генератора передатчика: 0 — запрещено, 1 — разрешено60Разрешение инвертирования кадрового генератора приемника: 0 — запрещено, 1 — разрешено5, 40Формат данных: 00 — выравнивание по правому краю, старшие биты=0, 01 — выравнивание по правому краю, старшие биты=знаку, 10 — компандирование по МЮ закону, 11 — компандирование по А закону3…00Длина слова минус 1Регистр делителя тактовых импульсов S1CLKDIV, адрес памяти данных=0x3FF115…00Делитель частоты тактовых импульсов = (CLKOUT/2*SCLK)-1Регистр делителя кадровых импульсов приемника S1RFDIV, адрес памяти данных=0x3FF015…00Делитель частоты тактовых импульсов = (SCLK/RFS)-1Регистр управления автобуферизацией S1ABUF, адрес памяти данных=0x3FEF150Блокирование вывода XTAL в режиме пониженной мощности: 0 — активен, 1 — блокирован (этот вывод должен быть блокирован, если к процессору подключен генератор, а не кварцевый резонатор)140Разрешение задержки запуска процессора из режима пониженной мощности на 4096 циклов: 0 — запрещено, 1 — разрешено130Принудительный вход в режим пониженной мощности: 0 — нормальный режим, 1 — режим пониженной мощности (осуществляется переход на вектор прерывания пониженной мощности)120Принудительный перезапуск процессора при подаче питания: 0 — нормальный режим, 1 — программный перезапуск11…90Номер индексного регистра передатчика8, 70Номер регистра модификатора передатчика6…40Номер индексного регистра приемника3, 20Номер регистра модификатора приемника10Разрешение автобуферизации передатчика00Разрешение автобуферизации приемника

Таблица 4.2е Регистры управления программируемыми флагами

РазрядИсходное состояниеНазначение
Регистр управления программируемыми флагами PFTYPE, адрес памяти данных=0x3FE6
150Не используется
14…121Циклы ожидания байтовой памяти данных BDMA от 0 до 7
111Разрешение выборки портов ввода-вывода сигналом -CMS: 0 — запрещено, 1 — разрешено
100Разрешение выборки байтовой памяти данных BDMA сигналом -CMS: 0 — запрещено, 1 — разрешено
91Разрешение выборки памяти данных сигналом -CMS: 0 — запрещено, 1 — разрешено
81Разрешение выборки памяти программ сигналом -CMS: 0 — запрещено, 1 — разрешено
7…00Режим работы программируемых выводов флагов PF7…PF0: 0 — выход, 1 — вход
Регистр управления программируемыми флагами PFDATA, адрес памяти данных=0x3FE5
15…8XНе используются
7…0XДанные программируемых выводов флагов PF7…PF0 (чтение/запись)

Таблица 4.2ж Регистры управления портом байтовой памяти BDMA

РазрядИсходное состояниеНазначение
Регистр-счетчик слов BWCOUNT, адрес памяти данных=0x3FE4
15, 140Не используются
14…00x20/0Значение счетчика (когда MMAP=0 и BMODE=0 значение счетчика = 0x20, когда MMAP=1 или BMODE=1 значение счетчика = 0)
Регистр управления BDMACR, адрес памяти данных = 0x3FE3
15…80Номер страницы BDMA от 0 до 0xFFFF
7…40Не используются
31Режим работы процессора при выполнении циклов BDMA: 0 — работа, 1 — останов
20Направление передачи данных: 0 — чтение из BDMA, 1 — запись в BDMA
1, 00Тип данных: 00 — память программ 24 разрядов, 01 — память данных 16 разрядов, 10 — память данных 8 старших разрядов, 11 — память данных 8 младших разрядов
Регистр внешнего адреса BEAD, адрес памяти данных = 0x3FE2
15, 140Не используются
13…00Значение внешнего адреса на шине процессора, при обмене через BDMA (от 0 до 0x3FFF)
Регистр внутреннего адреса BIAD, адрес памяти данных = 0x3FE1
15, 140Не используются
13…00Значение внутреннего адреса памяти процессора при обмене через BDMA (от 0 до 0x3FFF)

Таблица 4.2з Регистр управления IDMACR

РазрядИсходное состояниеНазначение
150Не используется
140Указатель типа памяти: 0 = память программ РМ, 1 = память данных DM
13...00Значение начального адреса памяти процессора при обмене через IDMA (от 0 до 0x3FFF)

X — произвольное состояние после сброса.


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

Все перечисленные выше регистры позволяют осуществлять полный контроль и управление над процессором со стороны программы.

Глава 5. Система прерываний

В этой главе описывается система прерываний процессора, позволяющая процессору оперативно реагировать на различные события.

Диспетчер прерываний позволяет процессору реагировать на одиннадцать возможных прерываний и сброс. Все векторы прерываний процессора ADSP-2181 представлены в табл. 5.1.


Таблица 5.1 Векторы прерываний сигнального процессора ADSP-2181

ПриоритетИсточник прерыванияАдрес (HEX)
Высший приоритет 0Сброс (или выход из режима пониженной мощности при установке 12-го разряда регистра S1ABUF=1)0000
1Снижение потребляемой мощности (немаскируемое прерывание)002C
2IRQ20004
3IRQL10008
4IRQL0000C
5SPORT0 Передатчик0010
6SPORT0 Приемник0014
7IRQE0018
8BDMA прерывание001C
9SPORT1 Передатчик или IRQ10020
10SPORT1 Приемник или IRQ00024
11 Низший приоритетТаймер0028

Прерывания в процессоре имеют различную приоритетность, от 0 до 11. При возникновении любого из прерываний, процессор выполняет переход на подпрограмму обработки соответствующего прерывания, адрес которой заложен в векторе данного прерывания. Адреса векторов прерываний расположены в самом начале программной памяти процессора через четыре 24-разрядных слова команды, что позволяет производить простую обработку или выход из прерывания на месте, без перехода на подпрограмму обработчика прерывания. В противном случае может быть выполнен безусловный переход на подпрограмму обработчика прерывания командой jump.

Процессор ADSP-2181 имеет четыре вывода для поддержки внешних прерываний: IRQ2, IRQL0, IRQL1 и IRQE. Кроме того, благодаря возможности SPORT1 быть переконфигурированным на выводы флагов FLAG_IN, FLAG_OUT и прерываний IRQ0, IRQ1, процессор может иметь еще два входа внешних прерываний вместо внутренних прерываний SPORT1. В результате, в общей сложности процессор может иметь шесть внешних прерываний.

Помимо внешних прерываний, процессор имеет и внутренние источники прерываний. Источниками внутренних прерываний являются таймер, байтовый порт BDMA, два последовательных порта SPORT1 и SPORT2, программное прерывание сброса и прерывание, вызываемое снижением напряжения питания.

Все прерывания, кроме немаскируемого и сброса, можно запретить с помощью регистра IMASK (см. табл.1). Кроме того, можно программно сгенерировать или сбросить некоторые прерывания с помощью регистра IFC.

Процессор реагирует на уровень сигналов на выводах прерываний IRQL0 и IRQL1. Прерывание IRQE возникает по фронту изменения сигнала на этом выводе. Чувствительность процессора к сигналам IRQ0, IRQ1 и IRQ2 определяется программно, с помощью регистра ICNTL.

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