
МП
.pdf
Федеральное агентство связи Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение высшего образования
«МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ»
С.С.Шаврин, С.В.Мельник
Учебное пособие по курсу «Технологии микропроцессорных систем в
инфокоммуникациях» для магистров по направлению 11.04.02
«Инфокоммуникационные технологии и системы связи»
Москва, 2020 г.
УДК 621.327.8; 5002000000
Шаврин С.С., Мельник С.В. Учебное пособие по курсу «Технологии микропроцессорных систем в инфокоммуникациях» для магистров по направлению 11.04.02 «Инфокоммуникационные технологии и системы связи» - М.: МТУСИ, 2020. - 92 с.
Разработка пособия преследовала цель обеспечения студентов, с одной стороны, некоторым введением в технологическую базу, используемую для реализации основных операций цифровой обработки сигналов, а с другой – справочным пособием для курсового проектирования, помогающим оперативно соотнести аппаратное и программное взаимодействие.
Рассмотрены архитектура процессора ADSP-2181, система команд,
прерываний, правила записи программ на языке ассемблера в среде
VisualDSP++. На примерах рассмотрены основные вопросы программирования внутренней периферии. Целью настоящего пособия является попытка «сгладить» горб сопротивления в восприятии при обучении специалистов начальным навыкам и базовым принципам разработки и реализации микропроцессорных средств цифровой обработки сигналов.
Ил. 36; табл. 1; список лит. 5 назв.
Рецензенты:
Душин С.В., с.н.с. ИПУ РАН, к.т.н.
Чурсинов В.А., Ген. директор ЗАО «КОРД», к.т.н.
Московский технический университет связи и информатики 2020
2
Введение
Разработка пособия преследовала цель обеспечения студентов, с одной стороны, некоторым введением в технологическую базу, используемую для реализации основных операций техники цифровой обработки сигналов, а с другой – справочным пособием для курсового проектирования, помогающим оперативно соотнести аппаратное и программное взаимодействие.
Как показывает практика, для процесса освоения курса «Технологии микропроцессорных систем в инфокоммуникациях» характерен «горб сопротивления», хорошо известный в теории движения судов по водной поверхности. Наиболее существенным образом сопротивление восприятию возрастает на тех разделах, которые объединяют разнородные по логике или тематике подходы и понятия, такие как процессор и его аппаратные средства,
цифровая обработка сигналов, разработка алгоритмов и программирование,
двоичная арифметика и т.п.
Существующее положение усугубляется необходимостью объединением в дисциплине двух разных подходов к представлению и обработке информации, принятых в теории кодирования и в вычислительной технике. Так, в теории и технике кодирования сообщений принято представление кодовых слов начиная с младших разрядов. Это связано, по-
видимому, с историческим фактом реализации принципов кодирования на основе господствовавшей в то время элементной базе "жесткой" логики – регистрах, счетчиках, дешифраторах, мультиплексорах и др. логических структурах. В соответствии с действовавшими тогда довольно строгими правилами оформления конструкторской документации, размещение элементов в электрических схемах регламентировалось входами в левую сторону, а выходами – в правую; таким образом, число (кодовая комбинация), записываемое в регистр сдвига или формируемое в счетчике,
оказывалось представленным младшими разрядами влево (по отношению к схеме). Нумерация разрядов в кодовом слове начинается с младшего
3
(самого левого), который обозначается как первый. Соответственно,
операция умножения в технике кодирования традиционно ассоциируется со
сдвигом кодовой комбинации вправо. Такую форму представления чисел будем далее называть векторной, по сложившейся в теории кодирования информации традиции. В отличие от теории кодирования информации,
вычислительная техника в качестве информационных элементов оперирует с понятием чисел, а не кодовых комбинаций. Числа в теории вычислительной техники изначально представлялись как целые в своей естественной форме начиная со старшего разряда. Нумерация разрядов осуществлялась справа налево в соответствии с весом разряда; таким образом, самый правый младший разряд нумеровался (и нумеруется) как нулевой. Операция умножения на число, равное основанию системы счисления, в
вычислительной технике эквивалентна сдвигу числа на один разряд влево.
Это и некоторые другие несоответствия обусловили необходимость совмещенного изложения материала в данном пособии, а также его привязку
к программной реализации.
Главным замыслом настоящего пособия является попытка «сгладить»
горб сопротивления в восприятии курса.
Пособие посвящено описанию элементной базы – 16-разрядного
сигнального процессора ADSP-2181.
Рассматриваемый в настоящем пособии сигнальный процессор общего назначения ADSP-2181 обеспечивает выполнение основных операций обработки сигналов в формате дробных и целых чисел: сдвигов, сложения,
вычитания, умножения, |
деления, логических операций "и", "или", |
"исключающее или" и |
оснащен двумя последовательными портами, |
ориентированными на взаимодействие с первичными цифровыми потоками Е1. Последнее обстоятельство выглядит особенно привлекательным с точки зрения реализации средств цифровой обработки сигналов, передаваемых по
4
каналам связи, поскольку обеспечивает возможность включения процессора
"в разрыв" первичного цифрового потока.
Еще одним – и отнюдь не маловажным с точки зрения обучения – доводом в пользу выбранного типа процессора является чрезвычайно простой и наглядный язык Ассемблера, близкий по форме к записи обычных математических выражений и избавляющий программиста от необходимости заучивания аббревиатур весьма разветвленной системы команд, что само по себе способствует снижению сопротивления восприятия.
Описание процессора сопровождается большим количеством практических примеров и разъяснений. Объем и подробность изложения материала замысливались таким образом, чтобы на этапе подготовки первая часть служила учебным пособием, изучение которого даст возможность сгладить проблемы восприятия материалов второй части, а позже – справочным пособием к лабораторным и курсовой работам.
5
1. Сигнальный процессор ADSP-2181. Основные возможности.
ADSP-2181 представляет собой один из наиболее мощных 16 -
разрядных процессоров семейства ADSP -21XX, производимых фирмой
Analog Devices.
Процессор построен по оригинальной пятишинной архитектуре,
оптимизированной с ориентацией на обработку сигналов в формате с фиксированной точкой.
Производительность процессора обеспечивает возможность решения задач обработки сигналов высокой сложности на уровне каналов первичного цифрового потока:
- минимальное значение времени машинного цикла составляет 25
наносекунд;
- за один машинный цикл может быть выполнено от одной до трех команд процессора (до семи элементарных операций, включая умножение),
выполнение любой операции занимает не более одного машинного цикла;
-последовательные порты процессора обеспечивают прием / передачу сигналов первичного цифрового потока с поканальным разделением сигнала
вячейки закрепленных кольцевых буферов с возможностью автоматической компрессии или экспандирования сигналов в соответствии со стандартом для систем передачи законами А и ;
-в состав архитектуры процессора включены аппаратные средства,
поддерживающие выполнение базовых операций обработки сигнала, в том
числе:
*умножение знаковых и беззнаковых целых и дробных 16 -
разрядных чисел с накоплением результата в 40 - разрядном регистре и возможностью его корректного преобразования в 16 - разрядное число с округлением и ограничением, минимизирующими уровень
дополнительных шумов перегрузки и округления;
6
*преобразование чисел в форму с плавающей точкой, актуальные при измерениях с большим объемом выборки усреднения;
*арифметические и логические сдвиги в 32 - разрядном поле;
*деление для знаковых и беззнаковых чисел.
2. Архитектура
Архитектура процессора в усеченном объеме представлена в виде функциональной схемы на рис. 1. В ее состав входят следующие функциональные узлы:
АЛУ - арифметико - логическое устройство, поддерживающее выполнение основных арифметических и логических операций, а также операций деления. При выполнении одиночных или групповых операций может быть обеспечено отслеживание факта переполнения разрядной сетки,
а также активизирована функция автоматического ограничения по переполнению, аналогичная функции ограничителя амплитуд в системах передачи.
Умножитель - поддерживает функции знакового и беззнакового умножения над 16 - разрядными операндами, представленными в формате целых или дробных чисел, и сложение (вычитание) вычисленного произведения с (из) содержимым 40 - разрядного аккумулятора. Содержимое аккумулятора может быть округлено по 16 младшим разрядам по принципам, минимизирующим дополнительные шумы, а также ограничено по 8 старшим разрядам; эти функции актуальны, например, в том случае,
если результатом действий является сигнал, предназначенный для дальнейшей передачи или для преобразования в аналоговую форму.
7

Сдвигатель - поддерживает функции арифметических и логических сдвигов 16 - разрядных операндов в 32 - разрядном поле с возможностью логического сложения с содержимым поля, а также функции преобразования многоразрядных операндов в форму с плавающей точкой и обратного преобразования.
Последовательные порты SPORT0 и SPORT1 - предназначены для организации последовательного обмена информацией с внешними устройствами. Оба порта обеспечивают режимы пословного и группового обмена (приема и передачи), при этом длина передаваемого (принимаемого)
слова может быть установлена в пределах от 3 до 16 бит. При групповом обмене осуществляется последовательная передача слов из ячеек и прием слов в ячейки закрепленных за портами кольцевых буферов; размер буферов устанавливается пользователем по своему усмотрению. В дополнение к описанным функциям, порт SPORT0 обеспечивает, синхронизуясь по цикловому синхроимпульсу, возможность доступа к произвольной группе канальных интервалов 24-х (Т1) или 32-х (Е1) канального потока; для порта
SPORT1 аналогичная функция может быть организована программно.
Компандеры - обеспечивают возможность (при необходимости)
автоматического экспандирования информации в процессе приема и ее ввод в процессор в форме линейно закодированного сигнала и автоматическую компрессию линейно закодированного сигнала в процессе его вывода во внешние цепи. Компандеры поддерживают оба стандартных для систем передачи закона компандирования А и .
Флаги - предназначены для обмена информацией с внешними устройствами. Восьмиразрядный двунаправленный порт пользовательских флагов РF может быть использован, например, для обмена информацией с 8
- разрядными микроконтроллерами. Флаги FL0...FL2 обеспечивают возможность программной установки сигнала высокого или низкого
9

логического уровня на одноименных выводах процессора; могут быть использованы, например, для целей индикации или управления внешними устройствами.
ОЗУ данных - объемом 16К 16 - разрядных слов, предназначено для хранения операндов и промежуточных результатов вычислений. Ячейки ОЗУ с адреса 3FE0 по 3FFFH распределены в качестве управляющих регистров процессора и не могут быть использованы для хранения информации.
ОЗУ программ - объемом 16К 24 - разрядных слов, предназначено для хранения кодов 24 - разрядных команд данных. Исполнение запоминающего устройства программ в виде ОЗУ обусловлено высоким быстродействием процессора, осуществляющего обращение к ячейкам памяти за 5 наносекунд.
Типовое значение времени обращения к ячейкам интегральных ПЗУ и энергонезависимой памяти лежит в пределах 70...120 нс, поэтому ADSP-2181
требует для работы подключения внешнего ПЗУ с записанной программой,
из ячеек которого по рестарту программа автоматически считывается с той скоростью, которая может быть обеспечена ПЗУ, во внутреннее ОЗУ программ, после чего активизируется процесс ее выполнения.
ГАД1, ГАД2 - генераторы адреса данных, обеспечивающие возможность организации в памяти процессора кольцевых буферов
(массивов ячеек) с косвенной поставтомодифицирующей системой адресации. ГАД2 обеспечивает доступ и к ОЗУ данных и к ОЗУ программ.
ГАД1 обеспечивает доступ только к ОЗУ данных, поддерживая при этом как обычный, так и бит - реверсный порядок адресации, актуальный при реализации быстрого преобразования Фурье по основанию 2.
Взаимодействие функциональных узлов, входящих в архитектуру
ADSP-2181, поддерживается с помощью пяти шин. Шины адреса и данных памяти программ и памяти данных (ШАПП, ШАПД, ШДПП и ШДПД соответственно) составляют модифицированную Гарвардскую архитектуру,
10