А. В. Комаров цифровые сигнальные процессоры
Вид материала | Документы |
- Архитектура процессов и ее оптимизация, 98.67kb.
- Обзор аппаратных и программных средств реализации параллельной обработки, 211.84kb.
- Темы Лекции Практика, 13.65kb.
- Лекция: графические процессоры и редакторы, 204.53kb.
- Реферат по дисциплине «Аппаратные средства» на тему: «Процессоры эвм», 333.09kb.
- ru/computers/classes html, 11.94kb.
- Методические указания му 2568 09 Издание официальное Москва 2009 Контроль численности, 527.33kb.
- Первая помощь при укусах насекомых и змей помощь при укусах комаров, 30.72kb.
- Фестиваль «Цифровые каникулы» – музей, образование, бизнес, 48.15kb.
- Неоднородный полупроводниковый носитель информации в переменном магнитном поле, 107.68kb.
А.В. КОМАРОВ
ЦИФРОВЫЕ СИГНАЛЬНЫЕ ПРОЦЕССОРЫ
ОБНИНСК 2003
Комаров А.В. Цифровые сигнальные процессоры. – Обнинск, 2003, - 141 с.
Настоящее издание является учебным курсом для изучения архитектуры цифровых сигнальных процессоров (и систем на их основе) на примере процессора ADSP-2181. Пособие поддерживает курс Процессоры цифровой обработки сигналов, который обычно читается студентам специальности 22.01 - Вычислительные машины, комплексы, системы и сети.
Пособие содержит две главы. В первой главе рассматриваются особенности структурной схемы ADSP-2181, его система команд, а также примеры программирования. Во второй главе рассматриваются методы создания микропроцессорной системы на основе ADSP-2181.
Настоящий конспект лекций может быть полезен не только для студентов специальности 22.01, но и для всех желающим познакомиться с основами разработки аппаратных средств и программного обеспечения цифровых сигнальных процессоров.
А. Комаров, 2003 г.
СОДЕРЖАНИЕ
- АРХИТЕКТУРА ADSP-2181………………………………………. 5
1.1. Описание выводов процессора…………………………………. 5
1.2. Структурная схема ADSP-2181………………………………… 7
1.3. Память программ………………………………………………... 11
1.4. Память данных…………………………………………………... 12
1.5. Функциональная схема ALU …………………………………… 13
1.6. Функциональная схема MAC…………………………………… 15
1.7. Функциональная схема SHIFTER………………………………. 17
1.8. Функциональная схема программного конвейера…………….. 22
1.9. Система прерываний…………………………………………….. 28
1.9.1. Общие сведения…………………………………………….. 28
1.9.2. Последовательность обслуживания прерываний………… 29
1.9.3. Конфигурирование прерываний…………………………… 29
1.10. Регистры состояния и стек…………………………………….. 31
1.11. Передача данных……………………………………………….. 34
1.11.1. Генераторы адресов……………………………………….. 35
1.11.2. Узел обмена данными…………………………………….. 36
1.12. Последовательные порты……………………………………… 37
1.12.1. Общие сведения…………………………………………… 37
1.12.2. Программирование SPORT……………………………….. 40
1.12.3. Пример конфигурирования последовательных портов… 43
1.12.4. Сжатие данных…………………………………………….. 44
1.12.5. Автобуферизация………………………………………….. 45
1.12.6. Пример программирования автобуферизации…………... 46
1.12.7. Многоканальность…………………………….…………... 47
1.13. Таймер…………………………………………………………... 48
1.14. Системный интерфейс…………………………………………. 50
1.14.1. Сигналы синхронизации………………………………….. 51
1.14.2. Внешние прерывания……………………………………... 53
1.14.3. Флажковые биты…………………………………………... 54
1.14.4. Режим энергосбережения…………………………………. 54
1.15. Контроллер прямого доступа к байтовой памяти (BDMA)…. 56
1.15.1. Общие сведения…………………………………………… 56
1.15.2. Регистры управления BDMA……………………………... 57
1.15.3. Функционирование BDMA……………………………….. 57
1.15.4. Загрузка программ с помощью BDMA…………………... 58
1.16. Порт IDMA……………………………………………………... 59
1.16.1. Сигналы IDMA…………………………………………….. 59
1.16.2. Функционирование IDMA………………………………... 60
1.16.3. Загрузка программ с помощью IDMA…………………… 60
1.17. Система команд………………………………………………… 61
1.17.1. Общие сведения…………………………………………… 61
1.17.2. Методы адресации……………………………………….... 62
1.17.3. Условные обозначения……………………………………. 63
1.17.4. Команды пересылки данных……………………………… 64
1.17.5. Команды ALU……………………………………………... 70
1.17.6. Команды MAC…………………………………………….. 79
1.17.7. Команды SHIFTER………………………………………... 82
1.17.8. Команды управления потоком программы……………… 88
1.17.9. Многофункциональные команды………………………… 92
1.17.10. Прочие команды…………………………………………. 98
1.18. Инструментальные средства разработки программного
обеспечения……………………………………………………. 101
1.18.1. Инструментальные средства для DOS…………………… 101
1.18.2. Инструментальные средства для WINDOWS…………… 102
1.18.3. Создание проекта в VisualDSP…………………………… 102
1.18.4. Загрузка программы в EZ-KIT Lite………………………. 103
1.19. Примеры программирования в среде VisualDSP…………….. 104
1.19.1. Формирование эхо-сигнала………………………………. 104
1.19.2. Эмуляция интерфейса RS-232……………………………. 112
1.19.3. Эмуляция интерфейса RS-232 (смешанный вариант)…... 124
2. АРХИТЕКТУРА СИСТЕМЫ НА ОСНОВЕ ADSP-2181………….. 131
2.1. Структурная схема вычислительной (управляющей) системы на
основе ADSP-2181………………………………………………….131
2.2. Цепи синхронизации и запуска процессора…………………….133
ПРИЛОЖЕНИЕ 1. ФОРМАТ РЕГИСТРОВ УПРАВЛЕНИЯ………... 134
П1.1. System control register………………………………………….. 134
П1.2. Data memory waitstate register…………………………………. 134
П1.3. SPORT0 autobuffer control register……………………………. 135
П1.4. SPORT0 control register………………………………………... 135
П1.5. SPORT1 autobuffer control register……………………………. 136
П1.6. SPORT1 control register……………………………………….. 137
П1.7. Programmable flags & Composite select control………………. 137
П1.8. Programmable flag data………………………………………… 138
П1.9. BDMA word count……………………………………………… 138
П1.10. BDMA control………………………………………………… 138
П1.11. BDMA external address……………………………………….. 139
П1.12. BDMA internal address……………………………………….. 139
П1.13. IDMA control………………………………………………….. 139
П1.14. ICNTL register………………………………………………… 140
П1.15. IMASK register………………………………………………... 140
П1.16. IFC register……………………………………………………. 140
ЛИТЕРАТУРА…………………………………………………………... 141
1. АРХИТЕКТУРА ADSP-2181
1.1. Описание выводов процессора
Условное графическое обозначение процессора ADSP2181 приведено на рис. 1.1. На этом рисунке условно не показаны 6 выводов питания (Vdd = +5V), 11 общих выводов (GND), а также 9 сигналов, которые используются только для связи с эмулятором. Стрелки показывают направления передачи сигналов по отношению к процессору, по сути, тип вывода: вход, выход, вход/выход. Перечеркнутая линия является шиной, а рядом стоящая цифра показывает число ее проводников.
Рис. 1.1. Условное графическое изображение ADSP-2181
Сигналы процессора имеют следующее назначение.
ADDR[13:0] – 14-битная шина адреса (ША) адресных пространств памяти программ (ПП), памяти данных (ПД), ввода/вывода и байтовой памяти (БП), см. п. 1.2. ША работает только на выход.
DATA[23:0] – 24-битная шина данных (ШД) адресных пространств ПП, ПД, ввода/вывода и БП, см. п. 1.2. ШД работает на выход, когда процессор выводит данные в одно из адресных пространств и на вход, когда процессор вводит данные из одного из адресных пространств.
RESET# – входной сигнал начальной установки процессора, см. п. 1.14.1.
IRQ2# (Interrupt Request) – входной сигнал запроса прерывания по уровню или по фронту, см. п. 1.9.
IRQL0#, IRQL1# (Interrupt Request Level) – входные сигналы запроса прерывания по уровню, см. п. 1.9.
IRQE# (Interrupt Request Edge) – входной сигнал запроса прерывания по фронту, см. п. 1.9.
BR# (Bus Request) – входной сигнал запроса шины.
BG# (Bus Grant) – выходной сигнал подтверждения запроса шины.
BGH# (Bus Grant Hung) – выходной сигнал оповещения о том, что процессор, находясь в режиме захвата, завершил все свои внутренние операции и нуждается в шине.
PMS# (Program Memory Select), DMS# (Data Memory Select), IOMS# (Input/Output Select), BMS# (Byte Memory Select), CMS# (Combine Memory Select) – выходные селектирующие сигналы ПП, ПД, ввода/вывода, БП и комбинированный соответственно, см. п. 2.1.
RD# (Read) – выходной сигнал чтения всех видов адресных пространств.
WR# (Write) – выходной сигнал записи во все виды адресных пространств.
MMAP (Memory Map) – входной сигнал выбора карты памяти. Если MMAP = 0, то адреса 0х0000…0x1FFF принадлежат внутренней ПП процессора, а адреса 0x2000…0x3FFF – внешней. В противном случае – наоборот, см. пп. 1.3, 1.14.1, 1.15.4, 1.16.3.
BMODE (Boot Mode) – входной сигнал источника загрузки программы. Действителен только при MMAP = 0, когда адреса 0х0000…0x1FFF принадлежат внутренней ПП (см. выше) и необходима загрузка программы. Если это условие выполнено, то при BMODE = 0 источником программы является БП доступная через порт BDMA (см. п. 1.15.4). В противном случае, загрузка программы осуществляется через порт IDMA (см. п. 1.16.3).
CLKIN (Clock Input), XTAL (Quartz Crystal Input) – входы хронирующей цепи встроенного генератора тактовых импульсов процессора, см. п. 1.14.1.
CLKOUT (Clock Output) – выходной синхросигнал процессора, частота которого в два раза выше частоты входного синхросигнала на входе CLKIN, см. п. 1.14.4.
SPORT0, SPORT1 (Serial Port0, 1) – входы/выходы последовательных портов 0 и 1, см. п. 1.12.
IRD# (IDMA Read), IWR# (IDMA Write), IS# (IDMA Select), IAL (IDMA Address Latch) – управляющие сигналы доступа к портам контроллера прямого доступа к памяти (КПДП) IDMA, см. п. 1.16.
IAD – 16-битная шина адреса/данных КПДП IDMA, см. п. 1.16.
IACK# (IDMA Acknowledge) – подтверждение доступа к портам КПДП IDMA, см. п. 1.16.
PWD# (Power Down) – перевод процессора в режим энергосбережения (при PWD# = 0) , см. п. 1.14.4.
PWDACK (Power Down Acknowledge) – выходной сигнал подтверждения режима энергосбережения, см. п. 1.14.4.
FL2:0 – выходные сигналы внутреннего 3-битного параллельного порта процессора (выходные флаги) , см. п. 1.14.3.
PF7:0 – программируемые входы/выходы процессора, см. п. 1.14.3.
1.2. Структурная схема ADSP-2181
Структурную схему процессора можно условно разделить на две части: базовую (общую для всех процессоров ADSP-21хх, рис 1.2.) и периферийную (характерную, в основном, для процессора ADSP-2181, рис. 1.3).
Рис. 1.2 показывает, что к базовой части процессора отнесены:
- внутренние шины PMA BUS, DMA BUS, PMD BUS DMD BUS, I BUS, R BUS;
- узел обмена данными BUS EXCH(ANGE);
- вычислительные устройства ALU (арифметико-логическое устройство), MAC (Multiplier/ACcumulator - умножитель/аккумулятор) и SHIFTER (устройство сдвига);