Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
Шрифт:
Таблица 4.2з Регистр управления IDMACR
Разряд | Исходное состояние | Назначение |
---|---|---|
15 | 0 | Не используется |
14 | 0 | Указатель типа памяти: 0 = память программ РМ, 1 = память данных DM |
13...0 | 0 | Значение начального адреса памяти процессора при обмене через IDMA (от 0
|
X — произвольное состояние после сброса.
Условные обозначения регистров в таблицах соответствуют их названиям на программно-логической модели, изображенной на рис. 4.1.
Все перечисленные выше регистры позволяют осуществлять полный контроль и управление над процессором со стороны программы.
Глава 5. Система прерываний
В этой главе описывается система прерываний процессора, позволяющая процессору оперативно реагировать на различные события.
Диспетчер прерываний позволяет процессору реагировать на одиннадцать возможных прерываний и сброс. Все векторы прерываний процессора ADSP-2181 представлены в табл. 5.1.
Таблица 5.1 Векторы прерываний сигнального процессора ADSP-2181
Приоритет | Источник прерывания | Адрес (HEX) |
---|---|---|
Высший приоритет 0 | Сброс (или выход из режима пониженной мощности при установке 12-го разряда регистра S1ABUF=1) | 0000 |
1 | Снижение потребляемой мощности (немаскируемое прерывание) | 002C |
2 | IRQ2 | 0004 |
3 | IRQL1 | 0008 |
4 | IRQL0 | 000C |
5 | SPORT0 Передатчик | 0010 |
6 | SPORT0 Приемник | 0014 |
7 | IRQE | 0018 |
8 | BDMA прерывание | 001C |
9 | SPORT1 Передатчик или IRQ1 | 0020 |
10 | SPORT1 Приемник или IRQ0 | 0024 |
11 Низший приоритет | Таймер | 0028 |
Прерывания в процессоре имеют различную приоритетность, от 0 до 11. При возникновении любого из прерываний, процессор выполняет переход на подпрограмму обработки соответствующего прерывания, адрес которой заложен в векторе данного прерывания. Адреса векторов прерываний расположены в самом начале программной памяти процессора через четыре 24-разрядных слова команды, что позволяет производить простую обработку или выход из прерывания на месте, без перехода на подпрограмму обработчика прерывания. В противном случае может быть выполнен безусловный переход на подпрограмму обработчика прерывания командой jump.
Процессор ADSP-2181
Помимо внешних прерываний, процессор имеет и внутренние источники прерываний. Источниками внутренних прерываний являются таймер, байтовый порт BDMA, два последовательных порта SPORT1 и SPORT2, программное прерывание сброса и прерывание, вызываемое снижением напряжения питания.
Все прерывания, кроме немаскируемого и сброса, можно запретить с помощью регистра IMASK (см. табл.1). Кроме того, можно программно сгенерировать или сбросить некоторые прерывания с помощью регистра IFC.
Процессор реагирует на уровень сигналов на выводах прерываний IRQL0 и IRQL1. Прерывание IRQE возникает по фронту изменения сигнала на этом выводе. Чувствительность процессора к сигналам IRQ0, IRQ1 и IRQ2 определяется программно, с помощью регистра ICNTL.
В следующей главе будет рассмотрена система команд процессора, с помощью которой осуществляются запись и чтение всех перечисленных здесь регистров и ячеек памяти самого процессора, а также операции сложения, умножения, ввода-вывода, управления программируемыми флагами и др.
Часть II. Программирование
В этой части книги описывается создание первой рабочей программы для сигнального процессора и ее трансляции для получения исполняемого кода. Дается описание процедуры загрузки и портов, через которые возможна данная операция. Приводится описание разработанного автором устройства для загрузки программ, просмотра и редактирования памяти процессора с помощью компьютера. Описываются назначение и работа специальной программы менеджера памяти. Дается описание директив ассемблера, формата данных и система команд для сигнального процессора.
Глава 6. Первая программа
В этой главе говорится о создании программ для сигнального процессора, инструментальном программном обеспечении, отладке и способах загрузки программ в сигнальный процессор.
Начнем изучение программирования сигнального процессора с конкретного примера программы, приведенной ниже. Эта программа поможет нам в изучении структуры программы, системы команд процессора и средств разработки, а также позволит на практике освоить процедуру отладки и загрузки программы в память процессора.
Введите текст этой программы в компьютер с помощью любого текстового редактора и сохраните в файле с именем mem_clr.dsp или скопируйте с компакт-диска, прилагаемого к данной книге.