Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Название:Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Автор:
- Жанр:
- Издательство:Горячая линия — Телеком
- Год:2007
- Город:Москва
- ISBN:5-93517-342-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ краткое содержание
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.
Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Разряд | Исходное состояние | Назначение |
---|---|---|
Регистр управления S1CR, адрес памяти данных=0x3FF2 | ||
15 | 0 | Флаг FO (только чтение) |
14 | 0 | Разрешение внутреннего тактового генератора: 0 — запрещен, 1 — разрешен |
13 | 0 | Требование кадровой синхронизации приема: 0 — не требуется, 1 — требуется |
12 | 0 | Требование широкого кадрового импульса приемника: 0 — не требуется, 1 — требуется |
11 | 0 | Требование кадровой синхронизации передатчика: 0 — не требуется, 1 — требуется |
10 | 0 | Требование широкого кадрового импульса передатчика: 0 — не требуется, 1 — требуется |
9 | 0 | Разрешение внутреннего тактового генератора передатчика: 0 — запрещен, 1 — разрешен |
8 | 0 | Разрешение внутреннего кадрового генератора приемника: 0 — запрещено, 1 — разрешено |
7 | 0 | Разрешение инвертирования кадрового генератора передатчика: 0 — запрещено, 1 — разрешено |
6 | 0 | Разрешение инвертирования кадрового генератора приемника: 0 — запрещено, 1 — разрешено |
5, 4 | 0 | Формат данных: 00 — выравнивание по правому краю, старшие биты=0, 01 — выравнивание по правому краю, старшие биты=знаку, 10 — компандирование по МЮ закону, 11 — компандирование по А закону |
3…0 | 0 | Длина слова минус 1 |
Регистр делителя тактовых импульсов S1CLKDIV, адрес памяти данных=0x3FF1 | ||
15…0 | 0 | Делитель частоты тактовых импульсов = (CLKOUT/2*SCLK)-1 |
Регистр делителя кадровых импульсов приемника S1RFDIV, адрес памяти данных=0x3FF0 | ||
15…0 | 0 | Делитель частоты тактовых импульсов = (SCLK/RFS)-1 |
Регистр управления автобуферизацией S1ABUF, адрес памяти данных=0x3FEF | ||
15 | 0 | Блокирование вывода XTAL в режиме пониженной мощности: 0 — активен, 1 — блокирован (этот вывод должен быть блокирован, если к процессору подключен генератор, а не кварцевый резонатор) |
14 | 0 | Разрешение задержки запуска процессора из режима пониженной мощности на 4096 циклов: 0 — запрещено, 1 — разрешено |
13 | 0 | Принудительный вход в режим пониженной мощности: 0 — нормальный режим, 1 — режим пониженной мощности (осуществляется переход на вектор прерывания пониженной мощности) |
12 | 0 | Принудительный перезапуск процессора при подаче питания: 0 — нормальный режим, 1 — программный перезапуск |
11…9 | 0 | Номер индексного регистра передатчика |
8, 7 | 0 | Номер регистра модификатора передатчика |
6…4 | 0 | Номер индексного регистра приемника |
3, 2 | 0 | Номер регистра модификатора приемника |
1 | 0 | Разрешение автобуферизации передатчика |
0 | 0 | Разрешение автобуферизации приемника |
Таблица 4.2е Регистры управления программируемыми флагами
Разряд | Исходное состояние | Назначение |
---|---|---|
Регистр управления программируемыми флагами PFTYPE, адрес памяти данных=0x3FE6 | ||
15 | 0 | Не используется |
14…12 | 1 | Циклы ожидания байтовой памяти данных BDMA от 0 до 7 |
11 | 1 | Разрешение выборки портов ввода-вывода сигналом -CMS: 0 — запрещено, 1 — разрешено |
10 | 0 | Разрешение выборки байтовой памяти данных BDMA сигналом -CMS: 0 — запрещено, 1 — разрешено |
9 | 1 | Разрешение выборки памяти данных сигналом -CMS: 0 — запрещено, 1 — разрешено |
8 | 1 | Разрешение выборки памяти программ сигналом -CMS: 0 — запрещено, 1 — разрешено |
7…0 | 0 | Режим работы программируемых выводов флагов PF7…PF0: 0 — выход, 1 — вход |
Регистр управления программируемыми флагами PFDATA, адрес памяти данных=0x3FE5 | ||
15…8 | X | Не используются |
7…0 | X | Данные программируемых выводов флагов PF7…PF0 (чтение/запись) |
Таблица 4.2ж Регистры управления портом байтовой памяти BDMA
Разряд | Исходное состояние | Назначение |
---|---|---|
Регистр-счетчик слов BWCOUNT, адрес памяти данных=0x3FE4 | ||
15, 14 | 0 | Не используются |
14…0 | 0x20/0 | Значение счетчика (когда MMAP=0 и BMODE=0 значение счетчика = 0x20, когда MMAP=1 или BMODE=1 значение счетчика = 0) |
Регистр управления BDMACR, адрес памяти данных = 0x3FE3 | ||
15…8 | 0 | Номер страницы BDMA от 0 до 0xFFFF |
7…4 | 0 | Не используются |
3 | 1 | Режим работы процессора при выполнении циклов BDMA: 0 — работа, 1 — останов |
2 | 0 | Направление передачи данных: 0 — чтение из BDMA, 1 — запись в BDMA |
1, 0 | 0 | Тип данных: 00 — память программ 24 разрядов, 01 — память данных 16 разрядов, 10 — память данных 8 старших разрядов, 11 — память данных 8 младших разрядов |
Регистр внешнего адреса BEAD, адрес памяти данных = 0x3FE2 | ||
15, 14 | 0 | Не используются |
13…0 | 0 | Значение внешнего адреса на шине процессора, при обмене через BDMA (от 0 до 0x3FFF) |
Регистр внутреннего адреса BIAD, адрес памяти данных = 0x3FE1 | ||
15, 14 | 0 | Не используются |
13…0 | 0 | Значение внутреннего адреса памяти процессора при обмене через BDMA (от 0 до 0x3FFF) |
Таблица 4.2з Регистр управления IDMACR
Разряд | Исходное состояние | Назначение |
---|---|---|
15 | 0 | Не используется |
14 | 0 | Указатель типа памяти: 0 = память программ РМ, 1 = память данных DM |
13...0 | 0 | Значение начального адреса памяти процессора при обмене через IDMA (от 0 до 0x3FFF) |
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.
Читать дальшеИнтервал:
Закладка: