А. В. Комаров цифровые сигнальные процессоры

Вид материалаДокументы

Содержание


1. Архитектура adsp-2181
PMS# (Program Memory Select), DMS
WR# (Write) – выходной сигнал записи во все виды адресных пространств. MMAP
1.2. Структурная схема ADSP-2181
генераторы адресов данных DAG1 и DAG2, регистр команд INSTRUCTION REGISTER и программный конвейер PROGRAM SEQUENCER.
1.5. Функциональная схема ALU
1.6. Функциональная схема МАС
1.7. Функциональная схема SHIFTER
Узел формирователя следующего адреса
Счетчик циклов и его стек
Компаратор циклов и его стек
1.9.1. Общие сведения
1.9.2. Последовательность обслуживания прерывания
1.9.3. Конфигурирование прерываний
Работа с регистром ICNTL
Работа с регистром IMASK
Глобальное разрешение/запрещение прерываний
Работа с регистром IFC
Временные задержки
1.10. Регистры состояния и стек состояния
...
Полное содержание
Подобный материал:
  1   2   3   4   5   6   7   8   9   ...   26



А.В. КОМАРОВ


ЦИФРОВЫЕ СИГНАЛЬНЫЕ ПРОЦЕССОРЫ


ОБНИНСК 2003


Комаров А.В. Цифровые сигнальные процессоры. – Обнинск, 2003, - 141 с.


Настоящее издание является учебным курсом для изучения архитектуры цифровых сигнальных процессоров (и систем на их основе) на примере процессора ADSP-2181. Пособие поддерживает кур­с Процессоры цифровой обработки сигналов, который обычно читается студентам спе­ци­альности 22.01 - Вычислительные машины, комплексы, системы и сети.

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

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


 А. Комаров, 2003 г.

СОДЕРЖАНИЕ

  1. АРХИТЕКТУРА 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 (устройство сдвига);