Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Архитектура цифровых сигнальных процессоров




Рассмотрим внутреннюю архитектуру одного из сигнальных процессоров фирмы Analog Devices -2181 и примеры его подключения.

Фирма Analog Devices разработала несколько семейств сигнальных процессоров. В настоящее время существуют следующие семейства: ADSP-21xx, Sharc DSP, DlackFin DSP и др. Все они имеют похожую друг на друга архитектуру. Отличие семейств друг от друга заключается, например, в арифметических блоках, которые поддерживают вычисления с фиксированной или плавающей запятой. Кроме того, семейства отличаются производительностью, разрядностью шин данных, структурой внутренних регистров, интерфейсами и т.п. Отличие процессоров друг от друга внутри семейства состоит, в основном, в объеме и организации внутренней памяти и типе встроенных интерфейсов.

В состав каждого из процессоров этого семейства входят следующие функциональные устройства:

· Арифметико-логическое устройство (АЛУ);

· умножитель-накопитель;

· устройство сдвига;

· два генератора адреса данных;

· программный автомат;

· таймер;

· последовательный многоканальный порт.

В таблице 2 приведены отличительные характеристики сигнальных процессоров семейства ADSP -21xx.

Таблица 2.

Ресурсы                  
Объем оперативной памяти программ (слов) 16К 16К
Объем оперативной памяти данных (слов)     16К 16К
Второй последовательный порт + +
Порт Хост интерфейса + + +
Порт прямого доступа к памяти + +
Максимальная тактовая частота, МГц   10,24 13,82    
АЦП и фильтры
Режим малого потребления + + + +
Напряжение питания, В   3,3         3,3   3,3
Число сигнальных выводов                  

Рассмотрим архитектуру самых распространенных на сегодняшний день процессоров семейства – ADSP -2181. Он является самым развитым в своем семействе и включает в себя наибольший объем памяти и множество встроенных интерфейсов.

Сигнальный процессор ADSP -2181 представляет собой однокристальную ИМС в 128 контактном корпусе. Его внутренняя архитектура с указанием разрядности внутренних и внешних шин представлена на рис. 18.

Как видно из рис.18, процессор имеет сильно развитую структуру внутренних шин адреса и данных. К их числу относятся шина адреса памяти программ PROGRAM MEMORY ADDRESS (PMA), шина адреса памяти данных DATA MEMORY ADDRESS (DMA), шина данных памяти программ PROGRAM MEMORY DATA (PMD) и шина данных памяти данных DATA MEMORY DATA (DMD). Это позволяет распараллелить множество процессов, выполняемых одновременно, и повысить тем самым производительность. Слева на схеме изображен базовый блок архитектуры всего семейства ADSP -2100 (BASE ARCHITECTURE), включаемый в состав любого из процессоров данного семейства. Он состоит из блока генераторов адреса данных (DATA ADDRESS GENERATORS), программного автомата (PROGRAM SEQUENCER) и арифметического блока (ARITHMETIC UNITS).

 

Рис.18. Структурная схема сигнального процессора ADSP -2181.

 

Блок генераторов адреса данных содержит два генератора – DATA ADDRESS GENERATORS №1 и DATA ADDRESS GENERATORS №2, предназначенных для модификации бит адреса во время выполнения процессором операций быстрого преобразования Фурье.

Программный автомат (PROGRAM SEQUENCER) осуществляет поддержку операций с условными переходами, вызов подпрограмм и возврат в основную программу, ускоряя тем самым работу процессора в целом.

Арифметический блок (ARITHMETIC UNITS) включает в себя арифметико-логическое устройство (ALU), умножитель с накопителем (MAC) и устройство сдвига (SHIFTER). Первый из этих блоков предназначен для выполнения арифметических и логических операций над данными. Второй из блоков предназначен для выполнения арифметического умножения чисел. SHIFTER позволяет нормировать числа после выполнения арифметических операций.

Рассмотрим блоки, расположенные справа вверху на рис. 18. Блок управления питанием (POWER DOWN CONTROL) обеспечивает управление процессором для перехода в режим пониженного потребления после выполнения соответствующей инструкции и возврат из этого режима после возникновения прерывания или перезапуска. Блок памяти (MEMORY) состоит из памяти данных (DATA SRAM) и памяти программ (PROGRAM SRAM). Таким образом, оперативная память всего процессора разделена на две части. Блок ввода/вывода (PROGRAMMABLE I/O) позволяет запрограммировать несколько выводов по усмотрению разработчика на ввод или на вывод битовых сигналов, что обеспечивает возможность их гибкого применения. Блок флагов (FLAGS) управляет тремя битовыми выводами, организованными как сигнальные выходы. Наконец, блок байтового контроллера прямого доступа к памяти (BYTE DMA CONTROLLER), сокращенное и часто употребляемое название которого (BDMA), обеспечивает быстрый аппаратный ввод и вывод байтовых данных через внешнюю шину данных процессора.

Теперь рассмотрим блоки, расположенные справа внизу на рис.18. Одним из самых популярных и полезных является блок последовательных многофункциональных портов (SERIAL PORTS), который включает в себя два последовательных порта (SERIAL PORT 0 и SERIAL PORT 1). Отличительной особенностью этих портов является то, что они являются программируемыми, синхронными и многоканальными. Каждый из этих портов способен принимать и передавать информацию от однословного до 32-словного последовательного потока бит. Каждое слово в потоке может иметь длину от трех до шестнадцати бит. Этот формат передачи данных часто применяется при построении телекоммуникационных систем. К такому порту можно подключить одновременно до 32-х кодеков и получить на их выходе соответственно 32 аналоговых канала ввода/вывода. Это мощный инструмент, который можно применять во многих областях. Кроме того порты могут программироваться на внешнюю или внутреннюю синхронизацию. Управляющие выводы портов также могут быть запрограммированы на ввод или вывод.

Следующий блок (TIMER) обеспечивает организацию отсчета необходимых интервалов времени и прерываний по таймеру. Прерывание генерируется каждый раз, когда обнуляется счетчик таймера, который после обнуления загружается значением из шестнадцатиразрядного регистра, хранящего период таймера.

И, наконец, блок внутреннего порта (INTERNAL DMA PORT), сокращенное название которого – IDMA, предназначен для организации прямого доступа к памяти данных и памяти программ процессора по 16-разрядной внешней шине. Этот порт играет важную роль при работе с процессором, поскольку позволяет загружать программу и данные до его старта, запускать процессор и производить операции чтения и записи данных в память во время его работы, незначительно влияя при этом на производительность.

С внешним миром процессор общается посредством 14-разрядной шины адреса (EXTERNAL ADRESS BUS), 24-разрядной шины данных (EXTERNAL DATA BUS) и 16-разрядной шиной (DMA BUS).

В таблице 3 дается описание назначения выводов процессора.

 

Таблица 3.

Наименование Вывод I/O Функция
A0–A13 O Адресные выводы, для адресации области внешней памяти программ, памяти данных, байтовой памяти (BDMA) и устройств ввода/вывода.
D0–D23 I/O Выводы данных, для обмена данными с внешней памятью программ и памятью данных. Восемь старших разрядов также используются, как адрес байтовой памяти.
WR/ RD/ IOMS/ BMS/ DMS/ CMS/ PMS/ O O O O O O O Сигнал записи Сигнал чтения Выбор области памяти Выбор байтовой памяти Выбор памяти данных Выбор комбинированной памяти Выбор программной памяти
FL0, FL1, FL2 PF0… PF7 O I/O Выходы–флаги Программируемые выводы
MMAP PWD/ BMODE PWDACK I I I O Выбор карты памяти процессора Управление потреблением Режим загрузки 0–ROM, 1–IDMA Контроль низкого потребления питания
XTEL CLKIN CLKOT I I O Соединение с кварцевым резонатором Внешний генератор/соединение с кварцевым резонатором Выход тактовой частоты
RESET/ ERESET/ I I Сброс процессора Разрешение сброса
IRQL0/ IRQL1/ IRQ2/ IRQE/ I I I I Потенциальный запрос прерывания 0 Потенциальный запрос прерывания 1 Динамический или потенциальный запрос прерывания 2 Динамический запрос прерывания
BR/ BG/ BGH/ I O O Внешний запрос шины Внешнее предоставление шины Внешнее предоставление шины подтянутое к питанию
IAD0–IAD15 IACK/ IWR/ IRD/ IS/ IAL I/O O I I I I Шина адреса/данных порта IDMA Подтверждение доступа к порту IDMA Вход записи в порт IDMA Вход чтения из порта IDMA Вход записи в порт IDMA Вход защелки адреса порта IDMA
DT0 TFS0 RFS0 DR0 SCLK0 O I/O I/O I I/O Передача данных Кадровая синхронизация передачи Кадровая синхронизация приема Прием данных Программируемый генератор порта 0
DT1/FO TFS1/IRQ1   RFS!/IRQ0   DR1/F1 SCLK1 O I/O   I   I/O Передача данных или выходной флаг Кадровая синхронизация передачи или внешний запрос прерывания 1 Кадровая синхронизация приема или внешний запрос прерывания 0 Прием данных или входной флаг Программируемый генератор порта 1
EMS/ EE ECLK ELOUT ELIN EINT EBR/ EBG/     –     Сигналы, используемые только в режиме эмуляции
GND Общий
VDD Выводы питания

 

Способ подключения к процессору различных периферийных устройств показан на структурной схеме, приведенной на рис. 19. В качестве примера на этой схеме подключены следующие устройства:

· Внешний генератор или кварцевый резонатор с половинной тактовой частотой процессора (1/2x CLOCK OR CRYSTAL);

· последовательные устройства (SERIAL DEVICE), например, кодеки;

· системный интерфейс или микроконтроллер (SYSTEM INTERFACE OR MICROCONTROLLER);

· байтовая память (BYTE MEMORY);

· до 2048-и периферийных устройств ввода/вывода (I/O SPACE PERIPHERALS);

· внешняя память (OVERLAY MEMORY).

При использовании внешней памяти допускается подключение сегментов памяти программ (TWO 8K PM SEGMENTS) объемом 8К слов и сегментов памяти данных (TWO 8K DM SEGMENTS) того же объема.

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

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

Рис.19. Способ подключения кварцевого резонатора.

 

Эта удвоенная частота выводится на сигнальный вывод CLKOUT процессора (рис. 20). Вместо кварцевого резонатора для формирования задающей частоты синхронизации можно использовать интегральный генератор, который, однако, несколько дороже резонатора. В этом случае выход генератора необходимо подключить к выводу CLKIN процессора, а вывод XTAL оставить неподключенным.

Карта памяти процесора приведена в табл.4.

Таблица 4.

Память программ Адрес
8К слов – внутренние (PMOVLAY=0, MMAP=0) или 8К слов – внешние (PMOVLAY=1 или 2, PMOVLAY =0) 0×3FFF…0×2000
8К слов – внутренние 0×1FFF…0×0000
Память программ Адрес
8К слов – внутренние (PMOVLAY=0, MMAP=1) 0×3FFF…0×2000
8К слов – внешние 0×1FFF…0×0000
Память данных Адрес
32 регистра 0×3FFF…0×3FF0
8160 слов – внутренние 0×3FDF…0×2000
8К слов – внутренние (DMOVLAY=0) или 8К слов – внешние (DMOVLAY=1 или 2) 0×1FFF…0×0000

 

В первых двух парах строк таблицы показаны режимы использования памяти программ. Эти режимы задаются с помощью внутреннего регистра PMOVLAY и подключения внешнего вывода процессора MMAP к общему проводу или источнику питания.

Рис.20. Структурная схема подключения периферийных устройств.

 

При сбросе процессора регистр PMOVLAY обнуляется и подключается внутренняя память. В процессе выполнения программы содержимое этого регистра можно изменить и переключить тем самым процессор на использование внешней памяти программ. Адресация памяти приведена в шестнадцатеричном коде. Память программ может быть внутренней (INTERNAL), т.е. размещенной на кристалле самого процессора, или внешней (EXTERNAL), т.е. размещенной во внешних ИМС памяти. Поскольку память программ организована 24-разрядными словами, суммарный объем внутренней памяти программ процессора может быть равен

(8К слов + 8К слов)×3 байта=48К байт.

В трех последних строках табл.4 приведена карта памяти данных. Ее режим работы, как внешней или внутренней, определяется с помощью внутреннего регистра процессора DMOVLAY, который аналогично регистру PMOVLAY обнуляется при сбросе или включении процессора, обеспечивая тем самым включение внутренней памяти данных. В самой верхней области памяти данных размещены 32 служебных регистра процессора, которые организованы как память данных. Поэтому память данных усечена по объему на это число ячеек. Память данных организована 16-разрядными словами, поэтому суммарный объем внутренней памяти данных процессора составляет

(8К слов + 8К слов)×2 байта=32К байт.

С учетом разрядности банков памяти программ и памяти данных суммарная емкость памяти процессора составляет 80К байт. Это довольно большой объем, достаточный для решения многих задач, написанных на языке ассемблер.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...