- •Цифровые сигнальные процессоры
- •Содержание
- •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.12.7. Многоканальность
SPORT0 поддерживает многоканальность. Это означает, что к SPORT0 ведущего процессора можно подключить до 32-х SPORT0 ведомых процессоров. Очевидно, что передача данных в этом случае может осуществляться только в режиме временного мультиплексирования, т.е. в текущий промежуток времени канал связи может занимать только один из ведомых процессоров. Возможность подключения выходов DT0 всех ведомых процессоров к входу DR0 ведущего процессора (исключение конфликта) обеспечивается тем, что выходы DT имеют третье состояние, которое снимается только на время выдачи данных.
В одноканальном режиме сигналы RFS0 и TFS0 обеспечивают начало передачи/приема единственного слова или потока слов от одного источника (см. п. 1.12.2). При этом передача и прием происходят независимо друг от друга. В многоканальном режиме сигнал RFS0 (выводы RFS0 ведущего процессора и всех ведомых процессоров объединены) определяет начало передачи блока из 24 или 32 слов от каждого из ведомых процессоров, при этом операции приема/передачи протекают параллельно. Функции сигнала TFS0 описываются ниже.
Многоканальные операции разрешаются установкой бита 15 (МСЕ) в регистре управления SPORT0 (0x3FF6, см. п. П1.4). Это также переопределит назначение некоторых битов этого регистра. В частности бит 9 становится битом, который определяет длину блока данных в многоканальном режиме (MCL). Если MCL = 0, то блок данных содержит 24 слова (канала), в противном случае (MCL = 1) блок данных содержит 32 слова. Длина слов, как и прежде, определяется полем SLEN регистра управления SPORT0 и может изменяться от 3 до 16 бит.
Биты 13…10 регистра управления SPORT0 в многоканальном режиме определяют значение многоканальной задержки фрейма (MFD = 0…15). Значение MFD определяет задержку (в импульсах сигнала SCLK0) появления первого бита первого передаваемого слова блока данных из 24 или 32 слов после выдачи сигнала RFS0 ведущим процессором.
Для конфигурирования SPORT0 в многоканальном режиме используются также регистры разрешения приема блока данных Receive Word Enables (RWE, 0x3FF9 - младший регистр и 0x3FFA - старший регистр) и разрешения передачи блока данных Transmit Word Enables (TWE, 0x3FF7 - младший регистр и 0x3FF8 - старший регистр). Единица в любом бите этих регистров разрешает прием/передачу соответствующего канала, ноль – запрещает.
Принимаемые слова от запрещенных каналов игнорируются приемником – они не записываются в регистр RX0, не формируются запросы на прерывания по приему и автобуферизации. При передаче запрещенного канала (выход DT находится в третьем состоянии) также не формируются запросы на прерывания по передаче и автобуферизации.
Для приема данных от двух ведомых процессоров во все биты регистра RWE ведущего процессора необходимо записать единицы, в регистры TWE первого ведомого процессора необходимо записать единицы во все четные биты, а во втором ведомом процессоре – во все нечетные биты.
Функционирование SPORT0 в многоканальном режиме во многих отношениях совпадает с функционированием в одноканальном режиме (см. пп. 1.12.1…1.12.6). В частности, это относится к длине передаваемых/принимаемых слов (SLEN), внутреннему и внешнему фреймингу (IRFS), инверсии фреймовых сигналов (INVRFS), компандингу (DTYPE) и автобуферизации. Следует только помнить, что сигнал RFS формируется один раз для всего блока данных.
Сигнал TFS0 имеет функции подтверждения действительности передаваемых данных (TDV) и активизируется только на промежуток времени передачи данных разрешенного канала. Уровень активности определяется битом 7 регистра управления SPORT0 (в многоканальном режиме он называется INVTDV), если INVTDV = 0, то уровень TDV высокий, в противном случае – низкий. Сигналы TDV обычно используются внешними узлами процессоров (или совсем не используются).
