История развития сигнальных процессоров на этом не заканчивается, и можно было бы продолжать ее повествование, но целью данной книги является не исторический рассказ, а практическое руководство по освоению и приобретению навыков работы с этими перспективными компонентами. Поэтому я хочу остановиться на более подробном описании внутренней архитектуры и практического применения одного из сигнальных процессоров фирмы Analog Devices. Именно об этом и пойдет речь в следующей главе.
Глава 2. Архитектура
В этой главе описывается внутренняя архитектура одного из сигнальных процессоров фирмы Analog Devices ADSP-2181 и примеры его подключения.
Фирма Analog Devices разработала целые семейства сигнальных процессоров и постоянно продолжает выпускать на рынок новые модели. В настоящее время существуют следующие семейства: ADSP-21XX, Shark DSP, BlackFin DSP и др. Но, несмотря на все многообразие этих групп, все они имеют похожую друг на друга архитектуру. Отличие семейств друг от друга заключается, например, в арифметических блоках, которые поддерживают вычисления с фиксированной или плавающей запятой. Кроме того, семейства отличаются производительностью, разрядностью шин данных, структурой внутренних регистров, интерфейсами и т.п. Отличие процессоров друг от друга внутри семейства состоит в основном в объеме и организации внутренней памяти и типе встроенных интерфейсов. В состав каждого из процессоров этого семейства входят следующие функциональные устройства.
• Арифметико-логическое устройство АЛУ.
• Умножитель-накопитель.
• Устройство сдвига.
• Два генератора адреса данных.
• Программный автомат.
• Таймер.
• Последовательный многоканальный порт.
Ниже приведена табл. 2.1 с отличительными характеристиками сигнальных процессоров семейства ADSP-21XX.
Таблица 2.1.
Ресурсы | 2101 | 2103 | 2105 | 2111 | 2115 | 21msp58 | 2171 | 2173 | 2181 | 2183 |
---|---|---|---|---|---|---|---|---|---|---|
Объем оперативной памяти программ (слов) | 2K | 2K | 1K | 2K | 1K | 2K | 2K | 2K | 16K | 16K |
Объем оперативной памяти данных (слов) | 1K | 1K | 512 | 1K | 512 | 2K | 2K | 2K | 16K | 16K |
Второй последовательный порт | - | - | - | - | - | - | - | - | + | + |
Порт хост-интерфейса | - | - | - | + | - | + | + | + | - | - |
Порт прямого доступа к памяти | - | - | - | - | - | - | - | - | + | + |
Максимальная внешняя тактовая частота, МГц | 20 | 10,24 | 13,82 | 20 | 20 | 16,67 | 16,67 | 16,67 | 20 | 20 |
Аналого-цифровые преобразователи и фильтры | - | - | - | - | - | + | - | - | - | - |
Режим малого потребления | - | - | - | - | - | + | + | + | + | + |
Напряжение питания, В | 5 | 3,3 | 5 | 5 | 5 | 5 | 5 | 3,3 | 5 | 3,3 |
Количество сигнальных выводов | 68 | 68 | 68 | 100 | 68 | 100 | 128 | 128 | 128 | 128 |
Остановимся на рассмотрении архитектуры одного из самых распространенных на сегодняшний день процессоров семейства 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, предназначенных для инвертирования бит адреса во время выполнения процессором операций быстрого преобразования Фурье (БПФ).
Программный автомат осуществляет поддержку операций с условными переходами, вызов подпрограмм и возврат в основную программу, ускоряя тем самым работу процессора в целом.