Шрифт:
Блок генераторов адреса данных содержит два генератора: 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/O | Функция |
---|---|---|
А0…А13 | O | Адресные выводы для адресации области внешней памяти программ, памяти данных, байтовой памяти (BDMA) и устройств ввода-вывода |
D0…D23 | I/O | Выводы данных для обмена данными с внешней памятью программ и памятью данных. Восемь старших разрядов также используются как адрес байтовой памяти. |
– WR | O | Сигнал записи |
– RD | O | Сигнал чтения |
– IOMS | O | Выбор области памяти |
– BMS | O | Выбор байтовой памяти |
– DMS | O | Выбор памяти данных |
– CMS | O | Выбор комбинированной памяти |
– PMS | O | Выбор программной памяти |
FL0, FL1, FL2 | О | Выходы-флаги |
PF0…PF7 | I/O | Программируемые выводы |
MMAP | I | Выбор карты памяти процессора |
– PWD | I | Управление потреблением |
BMODE | I | Режим загрузки 0 — ROM, 1 — IDMA |
PWDACK | O | Контроль низкого потребления питания |
XTAL | I | Соединение с кварцем |
CLKIN | I | Внешний генератор, или соединение с кварцем |
CLKOUT | O | Выходная тактовая частота |
– RESET | I | Сброс процессора |
– ERESET | I | Разрешение сброса |
– IRQL0 | I | Потенциальный запрос прерывания 0 |
– IRQL1 | I | Потенциальный запрос прерывания 1 |
– IRQ2 | I | Динамический или потенциальный запрос прерывания 2 |
– IRQE | I | Динамический запрос прерывания |
– BR | I | Внешний запрос шины |
– BG | O | Внешнее предоставление шины |
– BGH | O | Внешнее предоставление шины, подтянутое к питанию |
IAD0…IAD15 | I/O | Шина адреса/данных порта IDMA |
– IACK | O | Подтверждение доступа к порту IDMA |
– IWR | I | Вход записи в порт IDMA |
– IRD | I | Вход чтения из порта IDMA |
– IS | I | Вход выборки порта IDMA |
IAL | I | Вход защелки адреса порта IDMA |
DT0 | O | Передача данных |
TFS0 | I/O | Кадровая синхронизация передачи |
RFS0 | I/O | Кадровая синхронизация приема |
DR0 | I | Прием данных |
SCLK0 | I/O | Программируемый генератор порта 0 |
DT1/FO | O | Передача данных, или выходной флаг |
TFS1/IRQ1 | I/O | Кадровая синхронизация передачи, или внешний запрос прерывания 1 |
RFS1/IRQ0 | I/O | Кадровая синхронизация приема, или внешний запрос прерывания 0 |
DR1/FI | I | Прием данных, или входной флаг |
SCLK1 | I/O | Программируемый генератор порта 1 |
– EMS | Сигналы, используемые только в режиме эмуляции | |
ЕЕ | ||
ECLK | ||
ELOUTELIN | ||
EINT | ||
– EBR | ||
– EBG | ||
GND | Выводы заземления | |
VDD | Выводы питания |
Примечание: I — вход, О — выход; минус перед сигналом означает низкий активный уровень сигнала.
Способ подключения к процессору различных периферийных устройств показан на структурной схеме, приведенной на рис. 2.5. В качестве примера, на этой схеме показано, как подключаются следующие устройства: