
на первый
заказ
Курсовая работа на тему: Разработать микропроцессорную систему для реализации определённой матической задачи программным
Купить за 350 руб.Введение
Рассмотрим преимущества цифровой обработки сигналов (ЦОС) на сравнении аналоговых и цифровых фильтров. Цифровые фильтры всё чаще находят своё применение в модемах, радарах, анализаторах спектра, оборудовании обработки речи и изображений (образов), и этому есть причины: в сравнении с аналоговыми фильтрами, цифровые схемы обеспечивают более резкие спады, не требуют калибровки и имеют несоизмеримо лучшую стабильность по времени, температуре, и нестабильности питания. Простые изменения программного обеспечения могут изменить характеристику фильтра в реальном времени, создавая так называемые "адаптивные фильтры", в то время как аналоговые фильтры обычно требуют аппаратных изменений.Но цифровые фильтры хороши не в каждом приложении. Аналоговая техника имеет лучшее соотношение цена/качество в схемах со спадом до 24 дБ/октава. Если же требования к спаду характеристики превышают 24 - 36 дБ/октава, то цифровые фильтры начинают приобретать актуальность. Фактически, в приложениях, требующих таких крутых спадов, многие разработчики находят цифровые фильтры существенно более лёгкими в разработке. Прототипы могут быть легко изменены заменой программ. И ещё, компьютерная симуляция цифрового фильтра даёт точное исполнение фильтра, в то время как компьютерная симуляция аналогового фильтра может только аппроксимировать реальное исполнение фильтра, потому что аналоговые фильтры чувствительны к значениям компонентов, которые изначально неточны и могут существенно изменяться.
Микроконтроллеры, микропроцессоры и процессоры цифровой обработки сигналов.
Традиционные компьютеры особенно хороши для применения в двух областях деятельности: (1) манипуляция данными, например, подготовка текстов и управление базами данных; и (2) математические вычисления, используемые в науке, технике и цифровой обработке сигналов. Однако, большинство компьютеров не могут одинаково хорошо работать в обеих сферах. В компьютерных приложениях, таких как, например, подготовка текстов, данные запоминаются, сортируются, сравниваются, перемещаются и т.д., и время на выполнение этих операций не имеет большого значения до тех пор, пока оно удовлетворяет конечного пользователя. В приложениях, работающих с базами данных, периодически возникает необходимость реализации математических операций, но скорость их выполнения не является главным фактором. В большинстве случаев при проектировании приложений общего назначения компании производители не концентрируют внимания на создании более эффективных программ. Прикладные программы оказываются перегруженными различными дополнительными возможностями, для каждого обновления которых требуется все больше памяти и нужны все более быстрые процессоры.
С другой стороны, для цифровой обработки сигналов важно, чтобы математические операции выполнялись быстро, и время, требуемое на выполнение команд, должно быть известно точно и заранее. Для этого и программа, и аппаратура должны быть очень эффективными. Быстрое выполнение операции умножения с последующим суммированием очень важно для реализации быстрого преобразования Фурье, цифровых фильтров реального времени, умножения матриц, манипуляции с графическими изображениями и т.д.
Проведенное предварительное обсуждение требований, предъявляемых к цифровым сигнальным процессорам, важно для понимания различий между микроконтроллерами, микропроцессорами и цифровыми сигнальными процессорами. Хотя микроконтроллеры при использовании в промышленных устройствах управления процессами могут выполнять такие функции как умножение, сложение, деление, они лучше подходят для приложений, где возможности процессора по реализации ввода-вывода и управления важнее, чем скорость. Микроконтроллеры, например семейства 8051, обычно содержат ЦП, ПЗУ, ОЗУ, последовательный и параллельный интерфейсы, счетчики и схемы прерываний. Микроконвертеры MicroConverter™ компании Analog Devices Inc. содержат не только ядро, построенное по архитектуре 8051, но также высококачественные ЦАП, АЦП и блок энергонезависимой памяти, реализованной по технологии FLASH.
Процессоры ЦОС находят применение везде, где нужны математические вычисления в реальном масштабе времени - это коммуникации, обработка речи, обработка изображений, обработка звука, медицина, инструменты, анализаторы спектра, системы управления в индустрии, военная техника, системы АBS и EPS в автомобилях, и т.д.
В настоящее время на рынок процессоров ЦОС свои продукты предлагают несколько очень крупных фирм, таких как Lucent, Analog Devices Inc., Motorola, Texas Instruments. Каждая из компаний выпускает несколько семейств, среди них процессоры с фиксированной точкой, плавающей точкой и специальные процессоры для конкретных приложений. Кроме готовых процессоров некоторые фирмы предлагают ядра ЦОС, среди этих фирм - Analog Devices Inc., Infineon technologies, DSP Group. Все фирмы продают процессоры одного класса в одной ценовой категории, и если один процессор дешевле другого, то он обычно в чём-то уступает, например, в разрядности обрабатываемых данных.
Модельный ряд фирмы Analog Devices Inc., сегодня представлен 16-ти разрядными процессорами с фиксированной запятой семейств ADSP-21xx и Blackfin™, 32-х разрядные процессоры с плавающей запятой SHARC®, и процессоры, способные обрабатывать данные в различных форматах TigerSHARC®. Кроме отдельных процессоров фирма Analog Devices Inc. Выпускает встроенные процессоры, объединённые с кодеками.
Оглавление
- Введение- Выбор процессора ЦОС
- Описание архитектуры процессоров ЦОС семейства ADSP-219x
- Архитектура ядра
- Описание процессора ADSP-2192
- Периферия процессора ЦОС ADSP-2192
- Архитектура памяти
- Особенности системы команд процессора ЦОС ADSP-2192
- Выбор элементной базы
- Выбор АЦП
- Кодек АD73322
- Реализация последовательного канала связи RS-485
- Выбор микроконтроллера
- Разработка структурной схемы устройства
- Разработка функциональной схемы устройства
- Описание особенностей схемы
- Несколько слов о шине PCI
- 7 Разработка и описание программы. Особенности вводавывода
- Заключение
- Список литературы
- Приложение 1. Алгоритм программы быстрого преобразования Фурье
- Приложение 2. Функциональная схема устройства
Заключение
процессор сигнал преобразованиеВ результате выполнения курсовой работы было спроектировано устройство, способное выполнять быстрое преобразование Фурье на 512 точек сигналов, частотой до 20 кГц в реальном времени. Точность представления информации лучше 0,01%. Устройство состоит из двухпроцессорного кристалла фирмы Analog Devices, Inc. и кодека той же фирмы. В качестве хост-процессора выступает процессор устройства, имеющего шину PCI с питанием 3,3В, и совместимую со стандартром PCI 2.2. К внешней памяти процессор может обращаться по шине PCI, если данная функция поддерживается чипсетом.
В заключение хочется отметить, что программа преобразования Фурье была проверена на тест-драйве фирменного ПО фирмы Analog Devices, Inc. и была работоспособна. Симулирование выполнения программы многопроцессорной системой не удалось по причине ограничений тест-драйва, но проект содержащий ключевые моменты осуществления межпроцессорной коммутации был отослан в центр технической поддержки (DSP.Europe@analog.com <mailto:DSP.Europe@analog.com>), и разработчик Analog Devices проверил работу этого проекта на реальном процессоре ADSP-219212MKST160 и заверил, что программа работает правильно.
Кроме того следует обратить внимание, что ресурсы процессора используются неоптимально - очень большую часть времени процессор простаивает - считывание и вывод данных занимают по 11,5мс, а выполнение БПФ - менее 70мкс. Другими словами, у процессора есть более 11мс свободного времени, которое можно использовать для решения каких либо задач. При включении в программу модулей аппроксимации квадратного корня (имеется в одном из технических заданий на курсовую работу в группе Analog Devices) и арктангенса на выход схемы можно было бы выдавать амплитудный и фазовый спектр входного сигнала. Возможна обработка сигнала с помощью преобразования его спектра и осуществление обратного преобразования Фурье, и т. д.
Не следует делать вывод, что лучше было бы использовать более медленный процессор, потому что в этом случае экономического выигрыша не получится, потому что устаревшие процессоры стоят дороже новых, а новые процессоры, отличающиеся по рабочей частоте на 10-20МГц стоят абсолютно одинаково (www.eltech.spb.ru <http://www.eltech.spb.ru>). Использование двух однопроцессорных кристаллов также не принесёт особой выгоды, т.к. их ресурсы будут ещё менее востребованы в данном приложении, но экономическую выгоду это принести может, но ценой отсутствия интерфейсов АС'97, PCI и USB.
Список литературы
Баскаков С.И. Радиотехнические цепи и сигналы: Учеб. для ВУЗов по спец. "Радиотехника" - М.: Высш. шк., 1988.Гук М. Интерфейсы ПК: справочник - СПб: Питер Ком, 1999.
Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100: Пер. с англ. - СПб.: Санкт-Петербургский государственный электротехнический университет, 1997.
Хоровиц П., Хилл У. Искусство схемотехники: в 3-х томах: Т.1. Пер. с англ. - М.: Мир, 1993.
ADSP-2192 INTERPROCESSOR COMMUNCATIОN - ©2001 Analog Devices, Inc. Printed in the USA.x/2191 DSP Hardware Reference - ©2002 Analog Devices, Inc. Printed in the USA.x DSP Instruction Set Reference - ©2002 Analog Devices, Inc. Printed in the USA.Devices АС'97 SoundMAX® Codec АD-1981А - ©Analog Devices, Inc., 2002. Printed in USA.Devices DSP Microcomputer ADSP-2192М - ©2002 Analog Devices, Inc. Printed in USA.FOR PERFORMANCE ОN THE ADSP-219x - ©2000, Analog Devices, Inc.CMOS Fixed/Adjustable Output Step-Uр Switching Regulators MAX631/632/633. - ©1990 Maxim Integrated Products, Printed USA.
Приложение
Текст программы преобразования Фурье.
/****************************************************************************x Комплексное БПФ с прореживанием по времени
по алгоритму Radix-2
Выполняет БПФ с прореживанием по времени по алгоритму radix-2 с длиной входных данных x(n) 64 или более.
Использование памятиДействительная часть комплексных входных чисел находящихся в ПД в нормальном порядкеМнимая часть комплексных входных чисел находящихся в ПП в нормальном порядкеДействительная часть преобразованных данных, хранящихся в ПД/2Таблица Sin хранящася в ПД/2Таблица Cos хранящася в ПД
Вызываемая информация:(twid_real[N/2])- таблица sin(2pi*n/N) в бит-реверсивном порядке(twid_imag[N/2])- таблица cos(2pi*n/N) в бит-реверсивном порядке
(Inputreal[N]) - действительная часть входного массива, находится в ПД(Inputimag[N]) - мнимая часть входного массива, находится в ПП
Результаты:(Refft[N]) - действительные результаты БПФ в последовательном порядке(Inputreal[N]) - мнимые результаты БПФ в последовательном порядке:
длина БПФ к-во циклов время, мкс 160МГц
Использование памяти:
ПП код программы(24-bit) = 92 слова
ПП данные(24-bit) = N + 2 + N/2 слов
ПД данные(16-bit) = 2N + 4 + N + 1 слов
/**********Константы, представленные ниже дожны быть изменены для различных длин БПФ*******= количество точек БПФ, должно быть 2 в некоторой степени
Refft_Bitrev = Битреверсии адреса выходных действитеьных чисел ПД_Bitrev = Битреверсии адреса выходных мнимых чисел ПД
/* Установка констант для N-точечного БПФ */
/* данные ПД */
/* данные ПД */
/* данные ПД */
/* данные ПП */
.section/рm data2;
/* код вектора прерываний ПП */
.section/рm IVreset;
/* Код программы */
.section/рm program;
start: = page(twid_real);/* Инициализация страницы для данных ПП */= 0;= length(twid_imag);/* Инициализация циркулярного буфера twid_imag*/= twid_imag;(b0) = AX1;/* Инициализация указателя на twid_imag */= 1;= 0;/* Инициализация для модульной адрессации */= 0;= length(twid_real); /* Инициализация циркулярного буфера twid_real*/= twid_real;(b4) = AX1;/* Инициализация указателя на twid_real */= 1;= 0; /* Инициализация для модульной адрессации */= -1;= 0;/* Инициализация для модульной адрессации */ = 0; = 0; = 0; = 8;/* Инициализация счётчика стадий */stage_loop UNTIL СЕ;/* Вычисление всех стадий БПФ */
I1 = Inputreal;/* I1 --> x1 в первой группе данной стадии */= Inputreal;/* I2 --> x0 в первой группе данной стадии */
I4 = twid_real;/* I4 --> С W0 */
I5 = Inputimag;/* I5 --> y1 в первой группе данной стадии */= Inputimag;/* I6 --> y0 в первой группе данной стадии */= DМ(groups);= SI;/* CNTR = # групп данной стадии */
SR = LSHIFT SI ВY 1(LО);(groups) = SR0;= DМ(node_space);/* SI = изменению node_space */
М2 =SI;=SI;(I1,М2);/* I1 --> x1 в первой группе данной стадии */(I5,М7);/* I5 --> y1 в первой группе данной стадии */
DО group_loop UNTIL СЕ;= РМ(I4,М5), MX0 = DМ(I1,М0);/* MY0=С, MX0=x1 */= MX0*MY0(SS), MX1 = РМ(I5,М4);/* МR=С*x1,MX1=y1 */= DМ(I0,М1);/* MY1 = (-S) */= SI;/* CNTR = счётчик бабочки */bfly_loop UNTIL СЕ;= МR-MX1*MY1(RND), AY0 = DМ(I2,М0); /* МR=x1*С-y1*-S, AY0=x0 */= MR1+AY0, AX1 = РМ(I5,М5); /* АR=x0'=x0+(x1*С-y1*-S) */(I2,М1) = АR, АR = AY0-MR1; /* DМ=x0', АR=x1'=x0-(x1*С-y1*(-S)) */= MX0*MY1(SS), DМ(I1,М1) = АR; /* МR=x1*(-S), DМ=x1' */= МR+MX1*MY0(RND), AY1 = РМ(I6,М4), MX0 = DМ(I1,М0); /*МR=x1*(-S)+y1*С, AY1=y0, MX0= следующему x1 */= MR1+AY1, MX1 = РМ(I5,М6); /* АR=y0'=y0+(y1*С+x1*(-S)), MX1= следующему y1 */(I6,М5) = АR, АR = AY1-MR1; /* РМ=y0', АR=y1'=y0-(y1*С+x1*(-S)) */_loop:= MX0*MY0(SS), РМ(I5,М5) = АR; /* РМ=y1' */= РМ(I5,М7), MX0 = DМ(I1,М2); _loop:=РМ(I6,М7), MX0=DМ(I2,М2); =ASHIFT SI ВY -1 (LО);_loop:(node_space)=SR0; = twid_imag/* I0 --> (-S) */= Inputreal;/* I1 --> x1 */= Inputreal;/* I2 --> x0 */
М2 = 2; = Refft_Bitrev;/* Бит-реверсированное Refft */= Mod_Value;/* Бит-реверсированное изменение */
I4 = twid_real;/* I4 --> С */ = Inputimag;/* I5 --> y1 */= Inputimag;/* I6 --> y0 */= 2; (I1,М1);/* I1 -->x1 */(I5,М5);/* I5 -->y1 */= РМ(I4,М5), MX0 = DМ(I1,М2);/* MY0=С, MX0=x1 */= MX0*MY0(SS), MX1 = РМ(I5,М6);/* МR = С*x1, MX1 = y1 */= DМ(I0,М1);/* MY1 = (-S) */= Ndiv2;last_loop UNTIL СЕ;= МR-MX1*MY1(RND), AY0 = DМ(I2,М2); /* МR=x1*С-y1*(-S), AY0=x0 */= MR1+AY0, AY1 = РМ(I6,М4); /* АR=x0'=x0+(x1*С-y1*(-S)), AY1=y0 */
ENA BIT_REV;(I3,М3) = АR, АR = AY0-MR1;/* Чтение действительных данных */= MX0*MY1(SS), DМ(I3,М3) = АR;/*
или зарегистрироваться
в сервисе
удобным
способом
вы получите ссылку
на скачивание
к нам за прошлый год