- •Цифровые сигнальные процессоры
- •Содержание
- •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. Цепи синхронизации и запуска процессора
1.15. Контроллер прямого доступа к байтовой памяти (bdma)
Байтовый КПДП (см. п. 1.2) обеспечивает пересылку данных и программных кодов между внутренними ПД, ПП и БП, поскольку для доступа к БП не существует специальных команд, например, как для доступа к адресным пространствам ввода/вывода или внешних ПД, ПП. Ниже рассматриваются наиболее важные аспекты использования байтового КПДП.
1.15.1. Общие сведения
На рис. 1.12 приведена схема подключения БП к процессору ADSP-2181. Как показывает рис. 1.12 шина адреса БП состоит из шины адреса процессора (ADDR[13:0]) и старшего байта шины данных (DATA[23:16]), поэтому имеет размерность 22 бита (ADDR[21:00]). Это дает возможность адресоваться к 4МБ байтовой памяти. Большой объем БП по сравнению с внутренними ПП и ПД, а также быстрота доступа через специальный узел (BDMA) делает БП похожей на жесткий диск персонального компьютера.
Шина данных состоит из среднего байта шины данных процессора (DATA[15:08]) и имеет размерность 8 битов, что и послужило названием этого вида памяти. Селектирующий сигнал BMS# процессора служит сигналом выбора микросхемы для БП. Следует отметить, что стробы записи и чтения процессора (WR# и RD# соответственно) на рис. 1.12 условно не показаны.
Для расчета продолжительности Т передачи (в циклах процессора) N слов с помощью байтового КПДП используется следующая формула:
T = N * (BPW * (WPB + 1) + 1) + HO (1.3)
где: BPW – число байт в передаваемом слове; WPB – число состояний ожидания при передаче байта; НО – число циклов останова работы байтового КПДП (обслуживание запроса захвата шины (см. п. 1.1), выполнение автобуферизации (см. п. 1.12.5) и т.п.).
Для примера подсчитаем длительность пересылки 100 слов (N = 100) программного кода (BPW = 3) с пятью состояниями ожидания (WPB = 5) без циклов останова работы байтового КПДП (НО = 0). По формуле (1.3) получаем Т = 100 * (3 * (5 + 1) + 1) = 1900 циклов или 1900 * 33 = 62,7 мкс.
1.15.2. Регистры управления bdma
Регистры управления BDMA приведены в ПРИЛОЖЕНИИ 1 (см. пп. П1.9 – П1.12). В регистр счетчика слов BDMA (см. п. П1.9) записывается число пересылаемых слов BWCOUNT. Этот регистр по разному инициализируется в зависимости от значений входных сигналов процессора MMAP и BMODE. Если MMAP = 0 и BMODE = 0 (загрузка программы при сбросе производится из БП, см. п. 1.14.1), то BWCOUNT = 0х20 (этот случай представлен в п. П1.9), в противном случае (MMAP = 1 или BMODE = 1), то BWCOUNT = 0.
В регистр управления BDMA Control Register (см. п. П1.10) записывается код режима работы байтового КПДП, который определяет: тип пересылаемых кодов (поле BTYPE), направление пересылки (поле BDIR), значение бита контекста сброса (поле BCR) и номер страницы БП (поле BMPAGE). Содержимое последнего поля во время пересылки устанавливается на линиях DATA[23:16] (см. п. 1.15.1).
В регистр внешнего адреса BDMA External Address Register (см. п. П1.11) записывается начальный адрес БП BEAD, с которого начнется пересылка кодов. Содержимое этого регистра во время пересылки устанавливается на линиях ADDR[13:00] (см. п. 1.15.1).
В регистр внутреннего адреса BDMA Internal Address Register (см. п. П1.12) записывается начальный адрес внутренней ПП или ПД BIAD, с которого начнется пересылка кодов.
