Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
razrabotka_ustroystv_na_osnove_tsifrovyih_signa...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.57 Mб
Скачать

Глава 2. Архитектура

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

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

• Арифметико-логическое устройство АЛУ.

• Умножитель-накопитель.

• Устройство сдвига.

• Два генератора адреса данных.

• Программный автомат.

• Таймер.

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

Ниже приведена табл. 2.1 с отличительными характеристиками сигнальных процессоров семейства ADSP-21XX.

Таблица 2.1. Характеристики сигнальных процессоров семейства ADSP-21XX

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

Сигнальный процессор ADSP-2181 представляет собой однокристальный чип, выпускаемый в 128 выводных корпусах типа PQFP-128 или TQFP-128. Из вышеприведенной информации уже можно составить общее представление о возможностях, заложенных в данный процессор. Но для полноты картины рассмотрим структурную схему внутренней архитектуры этого чипа, приведенную на рис. 2.1.

Рис. 2.1. Структурная схема внутренней архитектуры чипа

Процессор имеет сильно развитую структуру внутренних шин адреса и данных. К их числу относятся шина адреса памяти программ PROGRAM MEMORY ADDRESS, шина адреса памяти данных DATA MEMORY ADDRESS, шина данных памяти программ PROGRAM MEMORY DATA и шина данных памяти данных DATA MEMORY DATA.

Слева на схеме изображен базовый блок архитектуры всего семейства ADSP-2100 BASE ARCHITECTURE включаемый в состав любого из процессоров данного семейства. Он состоит из блока генераторов адреса данных DATA ADDRESS GENERATORS, программного автомата PROGRAM SEQUENCER и арифметического блока ARITHMETIC UNITS.

Блок генераторов адреса данных содержит два генератора: DAG1 и DAG2, предназначенных для инвертирования бит адреса во время выполнения процессором операций быстрого преобразования Фурье (БПФ).

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

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

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

Теперь рассмотрим блоки, расположенные справа внизу по схеме. Одним из самых популярных и полезных является блок последовательных многофункциональных портов SERIAL PORTS, который включает в себя два последовательных порта SPORT1 и SPORT2. Отличительной особенностью этих портов является то, что они программируемые, синхронные и многоканальные. Т.е. каждый из этих портов способен принимать и передавать информацию от однословного до тридцатидвухсловного последовательного потока бит. Каждое слово в потоке может иметь длину от трех до шестнадцати бит. Этот формат передачи данных часто применяется при построении телекоммуникационных систем. К такому порту можно подключить одновременно до 32 кодеков и получить на их выходе соответственно 32 аналоговых канала ввода-вывода. Согласитесь — это мощный инструмент, который можно применить во многих областях. Кроме того, порты могут программироваться на внешнюю или внутреннюю синхронизацию. Управляющие выводы портов также могут быть запрограммированы на ввод или вывод.

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

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

С внешним миром процессор общается посредством четырнадцатиразрядной шины адреса EXTERNAL ADDRESS BUS, двадцати четырехразрядной шины данных EXTERNAL DATA BUS и шестнадцатиразрядной шины IDMA DMA BUS.

На рис. 2.2 приведена более подробная структурная схема процессора, с указанием разрядности внутренних и внешних шин и более детальным изображением всех описанных выше блоков.

Рис. 2.2. Структурная схема процессора

Более подробную структуру процессора мы рассмотрим позже, когда будем изучать его внутренние регистры и примеры программ.

На рис. 2.3 и 2.4 представлены варианты исполнения процессора в корпусах PQFP-128 и TQFP-128, соответственно. На этих же рисунках изображено назначение всех контактов процессора и приведена их нумерация.

Рис. 2.3. Вариант исполнения процессора в корпусе PQFP-128

Рис. 2.4. Вариант исполнения процессора в корпусе TQFP-128

Изображения дают вид сверху TOP VIEW, выводами вниз PINS DOWN. Сигналы с низкими активными уровнями имеют обозначения с чертой над сигналом. Выводы двойного назначения, определяемого программированием этих выводов, обозначаются через символ «/».

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

Таблица 2.2 Описание выводов процессора ADSP-2181

Примечание: I — вход, О — выход; минус перед сигналом означает низкий активный уровень сигнала.

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

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

Последовательные устройства SERIAL DEVICE, например кодеки.

Системный интерфейс или микроконтроллер SYSTEM INTERFACE OR MICROCONTROLLER.

Байтовая память BYTE MEMORY.

До 2048 периферийных устройств ввода-вывода I/O SPACE PERIPHERALS.

Внешняя память OVERLAY MEMORY.

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

При использовании внешней памяти, допускается подключение двух 8К-словных сегмента памяти программ TWO 8К РМ SEGMENTS и двух 8К-словных сегмента памяти данных TWO 8К DM SEGMENTS.

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

На рис. 2.6 показан способ подключения кварцевого резонатора к сигнальному процессору. Конденсаторы должны иметь номинальную емкость от 22 до 33 пФ, а максимальная частота кварцевого резонатора должна быть вдвое ниже максимальной внутренней частоты процессора, поскольку внутри процессора производится аппаратное умножение внешней задающей тактовой частоты. Эта удвоенная частота выводится на сигнальный вывод CLKOUT процессора. Вместо кварцевого резонатора, для формирования задающей частоты синхронизации можно использовать интегральный генератор, который, однако, несколько дороже резонатора. В этом случае выход генератора необходимо подключить к выводу CLKIN процессора, а вывод XTAL оставить неподключенным.

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

Карта памяти процессора изображена в табл. 2.3. На первых двух фрагментах таблицы показаны режимы использования памяти программ. Эти режимы задаются с помощью внутреннего регистра PMOVLAY и подключения внешнего вывода процессора MMAP к нулевому потенциалу или к источнику питания соответственно. При сбросе процессора регистр PMOVLAY обнуляется, и подключается внутренняя память. В процессе выполнения программы содержимое этого регистра можно изменить, и переключить тем самым процессор на использование внешней памяти программ. Адресация памяти приведена в шестнадцатеричном формате записи.

Таблица 2.3. Карта памяти процессора

Память программ может быть внутренней INTERNAL, т.е. размещенной на кристалле самого процессора, или внешней EXTERNAL, т.е. размещенной во внешних микросхемах памяти. Поскольку память программ организована 24 разрядными словами, суммарный объем внутренней памяти программ процессора может быть равен (8К слов+8К слов) × 3байта = 48 Кбайт.

На последнем фрагменте рисунка приведена карта памяти данных. Ее режим работы, как внешней или внутренней, определяется с помощью внутреннего регистра процессора DMOVLAY, который аналогично регистру PMOVLAY обнуляется при сбросе или включении процессора, обеспечивая тем самым включение режима использования внутренней памяти данных. В самой верхней области памяти данных размещены 32 служебных регистра процессора, которые организованы как память данных. Поэтому память данных усечена по объему на это количество ячеек памяти. Память данных организована шестнадцатиразрядными словами, поэтому суммарный объем внутренней памяти данных процессора составляет (8К слов + 8К слов) × 2байта = 32 Кбайт.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]