- •11.Структура умножителя adsp2181 и его инструкции, реализация операций mac) Умножитель-аккумулятор производит следующие операции:
- •15.Система команд процессора adsp2181
- •1. Команды управления программой к этим командам относятся команды перехода jump, вызова подпрограммы call, возврата из подпрограммы rts и прерыва-ний rti, цикла do until.
- •4. Команды вычислений
- •Описание выводов последовательного порта
- •18.Реализация нерекурсивного цифрового фильтра на цсп adsp2181
- •19.Реализация функции Sin(X) на цсп adsp2181
- •22.Процессоры с плавающей точкой adsp sharc. Особенности и характеристики
- •29.Процессоры с54хх и с55хх. Схемы и особенности
- •30.Платформа омар.Система на кристалле.
- •31 Алу и умножитель процессора с54
- •41.Основные направления развития процессоров обработки сигнала.
19.Реализация функции Sin(X) на цсп adsp2181
Основных методов формирования гармонического колебания два: табличный (эталонный) и метод аппроксимации. При табличном методе в память данных процессора предварительно записываются значения функции синуса на периоде, например, из математического справочника, с некоторым шагом ∆ф . При шаге 1 градус нужны 360 ячеек памяти. Затем в соответствии с программой формируются адреса ячеек памяти и из них вызываются значения функции с шагом ∆ϕ1 более крупным, чем начальный в таблице. Так для формирования функции с достаточной точностью можно взять 12 выборок с шагом 30 градусов. При заданной частоте синуса 100 Гц тактовая частота равна 1,2 КГц. Из той же таблицы возможно получить при одной тактовой частоте два гармонических колебания разной частоты: для этого шаг выборки по фазе берется разный. Вызванные отсчеты, если нужно, умножаются на коэффициент амплитуды, пересылаются в регистр передачи последовательного порта и с его выхода поступают на ЦАП. Полученное колебание фильтруется аналоговым фильтром нижних частот с целью удаления гармоник.
При втором методе используется аппроксимация функции синус степенным рядом [5, 6, 12]
у = sin(x) = 3,140625x + 0,02026367х^2 - 5,32519 х^3 + 0,54467778x^4 + 1,800293x^5.
Синус данного аргумента вычисляется путем суммирования результатов умножения последовательных степеней угла на соответствующие коэффициенты.
Вычисления по формуле выполняются для первого квадранта, поскольку при этом обеспечивается максимальная точность соответствующих значениям аргумента от 0 до 0,5 или от 0. до 90°. Для других квадрантов используются соотношения: sin(x) = -sin x, sin (180 — φ) = sin φ, sin (φ - 180) = - sin φ .В первом квадранте обеспечивается максимальная точность, в других квадрантах при прямом вычислении точность хуже, поэтому для расчетов siruc в 2, 3 и 4 квадрантах используется указанное соотношение. В программе имеются условные переходы определения квадранта и вычисление соответствующих значений. Значения х представляются в дробном формате 1.15. Углу 180° в этом формате соответствует максимальное положительное значение х 0x7FFF (примерно единица), углу -180° максимальное отрицательное число х 0x8000 (минус 1). Коэффициенты полинома инициализируются в буфере sin_coef памяти данных в формате 4.12, содержащем разряд знака, 3 разряда целой части и 12 разрядов дробной - мантиссы. Процессор выполняет вычисления значений функции с погрешностью до двух младших разрядов. Подпрограмма вычисления синусоидальной функции методом аппроксимации приведена в Приложении 3. Для реализации функции синус используется 25 циклов. Частота дискретизации выбирается из условия Fd = 60 fс . Точность реализации функции синус определяется, во-первых, числом членов ряда, во-вторых, разрядностью коэффициентов ряда, и точностью вычислений в процессоре, зависящей от разрядности.Подпрограмма вычисления синусоидальной функции методом аппроксимации приведена в Приложении 3. Для реализации функции синус используется 25 циклов. Частота дискретизации выбирается из условия Fd = 60 fс . Точность реализации функции синус определяется, во-первых, числом членов ряда, во-вторых, разряд-ностью коэффициентов ряда, и точностью вычислений в процессоре, зависящей от разрядности.
20.Реализация на ЦСП ADSP2181 алгоритма БПФПри спектральном анализе и цифровой фильтрации широко ис-пользуется алгоритм быстрого преобразования Фурье (БПФ ) [2, 3]. Входная выборка из N временных отсчетов с выхода АЦП может быть действительной и комплексной. Комплексная выборка пред-ставляет собой, например, отсчеты косинусной и синусной состав-ляющих с выхода квадратурного приемника. В данной главе рас-сматривается реализация БПФ по комплексной выборке. Следует заметить, что результаты вычислений по алгоритму БПФ такие же, как и при вычислениях ДПФ, однако, БПФ более эффективен по числу выполняемых типовых операций.
Наиболее
прост и эффективен алгоритм БПФ по
основанию 2, когда длина выборки
представляет собой степень 2 [2]. При
этом полное вычисление БПФ разбивается
на комбинацию и расчет двухточечных
ДПФ, называемых «бабочка». Иногда, но
редко используется БПФ по основанию
4. При реализации ДПФ необходимо выполнить
N2 операций MAC (см. формулу в 1.1), а при БПФ
степени 2 требуется вычислить (N12)
log2
N
«бабочек».
Каждая такая операция включает операцию
комплексного умножения на поворачивающий
множитель, комплексное сложение и
вычитание, то есть операцию MAC и вычитание.
Схема типовой операции «бабочка»
показана на рис. 4.4. Эффективность
алгоритма БПФ растет с увеличением N,
Так,
при N
=
1024 эффективность БПФ выше примерно в
200 раз.
Различаются алгоритмы БПФ с разрежением по времени и по частоте [2, 3]. Алгоритмы отличаются только порядком вычислений, в частности, отличны схемы «бабочки». В обоих случаях необходима перестановка бит (бит-реверс), чтобы выходная последовательность отсчетов спектра следовала попорядку, то есть сначала коэффициент постоянной составляющей - нулевой гармоники, затем первой, второй и т. д. При вычислении спектра по алгоритму БПФ (ДПФ) отдельные спектральные составляющие имеют вид sin х / х, то есть имеются боковые пики, попадающие в соседние каналы. Для их ослабления используется умножение входных отсчетов на весовые коэффициенты bп, п = 0, 1,2, .. .N-1. (функции Хэмминга, Тейлора и др.). Схема ввода данных и вычисления БПФ на процессоре дана на рис. 4.5. Косинусная и синусная оставляющие поступают на два
AЦП,
с выхода которых входные отсчеты
вводятся через приемные каналы
последовательных портов в память
процессора ( DM ). В памяти программ (РМ)
процессора хранятся отсчеты косинусных
и синусных составляющих поворачивающих
множителей и коэф-фициенты весовой
функции. Далее происходит умножение
входных отсчетов на весовые коэффициенты
и вычисления программе алгоритма БПФ.
Вычисленные коэффициенты спектра
выводятся через каналы передачи
последовательных портов. Поворачивающие
множители представляются в виде
WN
=
ехр (- 2πn/N)
=
cos
(2πn/N)
- sin
(2πn/N)
= С + jS.
В
соответствии с графом «бабочки»
производятся следующие вычисления
V0
= Х0+СХ1-(-S)
Y1.
ZO
= Y0
+
СY1
+ (-S)
X1.
V1=X0
–CX1-(-S)Y1.
Z1
= Y0-СY1
+ (-S)
X1.Входные
и выходные операнды комплексные.
Блок-схема про-граммы вычисления БПФ
представлена на рис. 4.6.
На каждой ступени вычисляется N/ 2 «бабочек». При этом чис-ло разрядов выходных данных может увеличиваться по сравнению с входными до двух бит, за счет чего возможно переполнение. Для избежания ошибок за счет этого производится операция масштаби-рования выходных данных. Программа вычисления БПФ содержит три подпрограммы: первая разбиения входных данных на две под-последовательности половинной длины и перестановки бит, вторая
собственно вычисления БПФ и третья - масштабирования выходных данных. Изменяемыми величинами являются: число групп, число «бабочек» в группе, поворачивающие множители. Подпрограмма реа-лизации алгоритма БПФ на ADSP 2181 приведена в Приложении 4.
21.Процессоры ADSP BF5xx BlackFin. Схема и характеристики, применениеФирма Analog Devices выпустила семейство 16-разрядных процессоров с фиксированной точкой на новой технологии 0,18 мкм и с развитой периферией BF531/533/535 Blackfin [А1, А2]. Архитектура ЦСП - модифицированная гарвардская плюс иерар-хическая структура памяти. Процессор базируется на микросиг-нальной структуре (MSA), соответствующей комбинации двойно-го MAC ЦСП и RISC микропроцессора на основе принципа «про-стые инструкции и много данных» (SIMD). Структурная схема процессора представлена на рис 5.1. В состав процессора входят: Ядро процессора, включающее в себя высокоэффективный па-раллельный вычислитель, адресный блок и устройство управления программой. Рис. 5.1. Схема процессоров Blackfin
Блок
памяти (L), состоящий из ПЗУ программ,
кэш памяти, SRAM данных 64Кх16, сверхоперативной
памяти 4Kxi6); памяти инструкций и данных
конфигурируются как оперативная память
(RAM), или как КЭШ память. Периферия,
включает блок системного интерфейса,
параллельный порт вход/выход, интерфейс
внешней памяти, порт ПДП и два таймера,
один из которых - сторожевой таймер,
следящий за периодом и длительностью
тактовых импульсов. Блок системного
интерфейса управляет - последовательными
портами SP1, SP2 и SPI - последовательным
периферийным интерфейсом и таймером,
а также портом UART - (universal asynchronous
receiver/transmitter) - универсальный асинхронный
приемо-передатчик, производящий
управление последовательными портами,
преобразуя поток байтов в асинхронный
поток бит и наоборот). В процессор также
входят блоки системного контроля. Ядро
процессора показано на рис. 5.2.
Вычислительный блок включает два 16
битных умножителя-аккумулятора (MAC),
два 40 битных АЛУ, 4 видео АЛУ для обработки
видеосигналов и 40 битный кольцевой
сдвигатель (КС). Каждый MAC производит
умножение 16xi6 за время одной инструкции.
Два 40 разрядных АЛУ накапливают два 40
разрядных числа или четыре 16 битных
Данные
представляются 8-, 16- или 32-битными
операндами. Для 8-разрядных данных
реализуется алгоритм обработки
RGB-пиксел. Также имеются специальные
команды для обработки видеосигналов.
Например, дискретное косинусное
преобразование, суммирование абсолютных
значений разностей, алгоритмы сжатия
видеосигналов MPEG2, MPEG4, JPEG. С вычислителем
связан файл регистров R0-R7. Устройство
управления программой состоит из
устройства контроля следования команд
(Sequencer), выравнивателя задержек (Align),
декодера и кольцевого буфера (Loop Buffer),
регистра указателя стека SP , устройства
защиты файлов (FP) и указателей адресов
Р0-Р5.
Разрядность процессоров 16 бит. Технология 0,18 мкм. Корпус RFGA 260, питание ядра 0,7 В, вход/выход - 1,2/3,3 В. Области применения процессоров Blackfin: • биометрические системы;
• бытовые аудиосистемы; • терминалы электронной почты; • модемы; • Интернет-применение;
• игровое и обучающее оборудование;. информационные системы, . широкополосная передача данных. Возможна реализация алгоритмов MPEG-4, Windows Media. Подключение линеек видеокодеров/декодеров формата ITU-R656. Высокоскоростные АЦП/ЦАП до 65 MSPS (миллионов отсчетов в секунду). Архитектура включает три вида операций: пользователя, су-первизора и эмуляции. Архитектура оптимизирована под компи-лятор Си.
Analog Devices разработала новую версию отладки программ-ного обеспечения Visual DSP ++3.1 для BF.
