Мысловский Э.В. Цифровые сигнальные процесссоры (2003) (1264219), страница 11
Текст из файла (страница 11)
Пояснить, что выполняет и зачем нужна каждая секция в примере?68ГЛАВА 4. Эмулятор EZ-KIT ADSP-2189MЭмуляторEZ-KITпредставляетсобойаппаратно-программныйкомплекс,предназначенный для отладки программного обеспечения. Структурная схема EZ-KITприведена на рис.4.1, (питание 7.5В (+/- 5%) при 4А, температурный диапазон 0-70 град.С).Светодиоды:питание,DT, DRРазъем внешнейпериферииТактовыйгенератор,ResetБлокпитания2.5 В3.5 ВКнопкапрерыванияADSP-2189КнопкаRESETПереключательрежимаПортEZ-ICEFlash память4МбитКодекAD73322ПортRS-232Линейныйвыход/выходРис.4.1 Структурная схема платы EZ-KITОбщий вид платы EZ-KIT приведен на рис.
4.2.Рис.4.2 Общий вид платы EZ-KIT69На плате установлены разъем питания, разъем DB9 для связи с персональнымкомпьютером по RS-232, а так же линейные аналоговые вход и выход. Конфигурированиеплаты осуществляется при помощи перемычек (jumper).JP1 - При установке соединяет вход и выход кодека AD73322AR (по умолчаниювыключен)JP2 - Если установлен - кодак отключен (по умолчанию выключен, кодеквключен)JP3 - Включает/выключает входное и выходное усилениеJP4&JP5 - При установке изменяют коэффициент усиления линейного входа с 47до 400JP6 - Установка запрещает работу последовательного порта.JP8 - Переключает рабочее напряжение I/O с 2.5B до ЗВНа плате имеются так же две кнопки - SW1 кнопка генерирует внешнеепрерывание ADSP- 2189, SW3 - генерирует сигнал Reset.Для включения эмулятора необходимо подключить его к последовательномупорту персонального компьютера (СОМ), включить блок питания и нажать кнопку Reset.1.Подключите эмулятор к персональному компьютеру.2.ВсистемеVisualDSPсоздайтепроект,наберителюбойизвышеописанных примеров, откомпилируйте проект и запустите его в отладчике.
Впошаговом режиме посмотрите, как изменяется состояние процессора.70ГЛАВА 5. Основные сведения об архитектуре семейства 21ххСемействоADSP-21xxпредставляетсобойрядоднокристальныхмикрокомпьютеров, которые объединяет общая архитектура, оптимизированная дляцифровой обработки сигналов и других операций в области высокоскоростной обработкиданных. Сигнальный процессор отличается от обычного микропроцессора следующимихарактерными принципами:•использование гарвардской архитектуры•сокращение длительности командного цикла•применение конвейеризации•применение аппаратного умножителя•включение в систему команд специальных команд ЦОСГарвардская архитектура подразумевает хранение программы и данных вразличных ЗУ.
Соответственно на кристалле есть две адресные шины две шины данных.Конвейерный режим используется для сокращения длительности командногоцикла. Обычно применяется двух- или трехкаскадный конвейер, что позволяет на разныхстадиях одновременно выполнять две или три инструкции.Аппаратный умножитель применяется для сокращения времени выполненияодной из основных операций ЦОС - операции умножения.Специализированные команды ЦОС. Система команд сигнальных процессоровоптимизирована для выполнения базовых задач ЦОС. Обычно добавляются операции:умножение с накоплением, битовые операции, инверсия бит адреса, кольцевые буфера имногое другое.71Последов ательныйпорт 2Последов ательныйпорт 1ХостинтерфейсЯдроОЗУАналоговыйинтерфейсТаймерРис. 5.1 Структурная схема ADSP-21xxПроцессоры семейства 218х имеют в своем составе следующие функциональныеустройства:•арифметико-логическое устройство ALU•множитель накопитель MAC•устройство барабанного сдвига SHIFTER•генераторы адресов данных DAG и генератор адресов инструкций PS•последовательные порты SPORTs•таймер•порт интерфейса с хост-процессором5.1 Вычислительные устройстваК вычислительным устройствам относятся: арифметико-логическое устройствоALU, множитель накопитель MAC, устройство барабанного сдвига SHIFTER.АЛУ выполняет стандартный набор арифметических и логических операций, атак же примитивы деления.
MAC выполняет за один такт операцию умножения исложения/вычитания, операции MAC имеют вид - MR=MX*MY+/-MR. Данная операцияполучила название умножение с накоплением и широко используется при создании72различных фильтров. Вычислительные устройства организованны параллельно, чтопозволяет любому устройству использовать результаты, полученные на предыдущемцикле. Для этой цели служит шина внутренних результатов R.5.1.1 Арифметико-логическое устройствоАЛУвовсехпроцессорахсемейства21ххявляется16разряднымсфиксированной точкой. Знаковые числа представляются в дополнительном коде.Остальные представляются в виде беззнакового числа или строки бит.Операциями со строками бит являются логические операции NOT, AND, OR,XOR. При выполнении этих операций АЛУ не заботиться о знаке числа и положениидесятичной точки.Числа без знака могут принимать только положительные значения и поэтомуимеют вдвое больший диапазон, чем числа со знаком.Знаковые числа представляются в процессоре в формате 1.15, то есть левый битчисла обозначает его знак, остальные 15 бит содержат значение.Операции АЛУ изменяют следующие флаги в регистре состояния процессора:AN - флаг отрицательного числа, устанавливается в 1, если в результате операциибит знака имеет значение 1AV- флаг переполнения, устанавливается в 1 при непредсказуемом смене знака,например если в случае сложения двух положительных чисел - результат отрицателен.АС - флаг переноса, устанавливается в 1, если длина результата операции большедлины регистраAZ - флаг нуля, устанавливается в 1 результат операции нулевой.АО - флаг состояния частного]73Шина данных памяти данныхШина данных памяти программМультиплексорРегистрыAX2x16РегистрыAY2x16МультиплексорМультиплексорAZANAC×РегистрAFYАЛУASAQCIRМультиплексорРегистрARШина результатаРис.5.2 Блок-схема АЛУАЛУ имеет два блока 16 разрядных регистров операндов АХ(АХ0,АХ1) и AY(AY0,AY1) в зависимости от режима установленного битом 0 в регистре состоянияпроцессора (MSTAT) одна пара регистров является основной, например АХО и AY0,другая - теневой.
Это очень удобно для создания программ обработки прерываниявыполняющих арифметические операции, так как нет необходимости сохранять регистрыоперандов в стеке и по - окончанию обработки их оттуда извлекать, достаточно простопереключить блок. Регистром результата является регистр AR. Данные в порт Y могутзагружаться по линии обратной связи через регистр AF.74Таблица 5.1 Источники ввода данных в регистры ввода/вывода АЛУИсточники ввода данных впорт XИсточники ввода данных впорт YНаправление вывода данныхчерез порт RАХО, АХ1AY0, AY1ARARARAFMRO, MR1, MR2SRO, SR1Вышеперечисленные функции следует использовать с учетом таблицы 5.1.Например, рассмотрим операцию вычитания R=X-Y, согласно таблице на месте X могутстоять следующие регистры: АХО, АХ1, AR, MRO, MR1, MR2, SRO, SR1.
На месте Y AYO, AY1, AR, на месте R - AR, AF. Таким образом, АЛУ может произвести следующуюоперацию AF=MR0-AY0.С регистра состояния процессора MSTAT установкой бита 3 устанавливаетсярежим насыщения, то есть в регистр AR загружается максимальное положительное илимаксимальное отрицательное число при возникновении переполнения. Зависит это отсостояния флагов.75Таблица 5.2 Режим насыщенияПереполнение (AV) Перенос (АС)Содержимое AR00В соответствии с АЛУ01В соответствии с АЛУ100111111111111111111000000000000000Режим защелки устанавливается включением бита 2 регистра состоянияпроцессора MSTAT. Суть режима в следующем - после возникновения переполнения битАV остается установленным до тех пор, пока не будет сброшен прямой записью нуля.Пример: Несколько примеров использования АЛУ./* Сложение регистра АХО с AY0 */AR =АХ0 + AY0;/* Вычитание из регистра MR регистра AY0 */AR = MR + AY0;/* Инверсия SR0 */AR = NOT SRO;1.Разработайте программы сложения и вычитания двух чисел.2.Разработайте программу создающую переполнение в регистре AR,проверьте содержимое регистра AR в зависимости от установки бита 3 в регистре MSTATи флагов АV и АС.5.1.2 Умножитель - накопительВ умножителе есть два входных порта X и Y разрядностью 16 бит и выходнойпорт результата Р разрядностью 32 бита.
Результат разрядностью 32 бита передается всумматор разрядностью 40 бит, который прибавляет/вычитает новый результат изсодержимого регистра умножителя MR. Регистр имеет размер 20 бит и аппаратно состоитиз трех регистров MRO, MR1, MR2 размером 16, 16 и 8 бит соответственно.76Шина данных памяти программШина данных памяти данныхMUXРегистрMX 2x16РегистрMY 2x16MUXMUXYXУмножительРегистрMFRСумматор/накопительR0R1R2MUXMUXРегистрMR2РегистрMR1РегистрMR0MUXMUXШина результатаРис.
5.3 Структурная схема умножителя-накопителяПорт ввода X может принимать данные как из регистров MX, так и из любогорегистра подключенного к шине R. Порт ввода Y может принимать данные либо изрегистра MY, либо из регистра MF.Выходное значение может поступать либо в MR, либо в MF. MF являетсярегистром обратной связи и содержит биты 16-31 регистра MR. Стоит заметить, чтозапись и считывание одного регистра в умножителе-накопителе производиться за одинцикл. В умножителе имеется двойной ряд регистров MR, MF, MX, MY.