Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Курсовий проект
з дисципліни
« Методи, алгоритми та засобицифрової обробки сигналів та зображень »
на тему:
„Розробка процесора ШПФ”
Варіант № 40
Завдання до курсового проекту
Розробити процесор ШПФ з такими вхідними даними:
Варіант №
Розмірність, N
Основа
Тип прорідж-ення (T – часове,F- частотне)
Вагова функція
Час обробки, мс
Розрядність вхідних даних, біт
(Re +Im)
Такт поступлення вхідних даних, нс
Тип зовнішнього інтерфейсу
Тип зовнішнього
пристрою
Тип процесора
4
40
16384
2
T
Гауса
12,0
32 (16+16)
-
USB
ЦАП (12р, f=20МГц)
ADSP-21061
Анотація
В даному курсовому проекті розглянуто спосіб реалізації алгоритму ШПФ за основою 2 для сигнального процесора ADSP-21061для 32-розрядних (16+16) вхідних даних з часовим прорідженням, детально описано механізми обчислення швидкого перетворення Фур`є за заданою основою, властивості та основні характеристики процесора, на якому планується реалізація, підраховано часові ресурси для виконання обчислення, створена функціональна схема системи та написана програма, що реалізує вказаний алгоритм ШПФ на заданому процесорі.
Зміст
Вступ 5
1.Теоретичний розділ 6
1.1 Області застосування перетворення Фур’є. 6
1.2 Опис швидкого перетворення Фур’є з прорідженням за часом. 6
1.3 Алгоритм перетворення. 11
1.3.1 Алгоритм ШПФ із проріджуванням за часом. 12
1.3.2 Алгоритм двійково-інверсної перестановки. 12
1.4 Характеристики сигнального процесора ADSP-21061. 13
2.Розробка блок-схеми . 21
3.Розрахунковий розділ 24
4.Розробка функціональної схеми 27
5.Розробка програми виконання заданої функції 35
Висновки 36
Література 37
Додатки 38
Вступ
Аналіз Фур'є закладає основи багатьох методів, що застосовуються в області цифрової обробки сигналів (ЦОС). По суті справи, перетворення Фур'є (фактично існує кілька варіантів таких перетворень) дозволяє співставити сигналу, заданому в часовій області, його еквівалентне представлення в частотній області, і навпаки, якщо відома частотна характеристика сигналу, то зворотне перетворення Фур'є дозволяє визначити відповідний сигнал у часовій області.
Крім того, ці перетворення корисні при проектуванні фільтрів. Частотна характеристика фільтра може бути отримана за допомогою перетворення Фур'є його імпульсної реакції. І навпаки, якщо визначена частотна характеристика сигналу, то необхідна імпульсна реакція може бути отримана за допомогою зворотного перетворення Фур'є над його частотною характеристикою.
Набір алгоритмів, званих алгоритмами швидкого перетворення Фур’є (ШПФ), включає різноманітні методи зменшення часу обчислення дискретного перетворення Фур’є (ДПФ). Оскільки обчислення ДПФ є основною операцією в більшості задач спектрального аналізу, то використовування ШПФ в деяких практичних випадках, дозволяє прискорити обчислення ДПФ в 100 і більше разів у порівнянні з методом прямого обчислення ДПФ.
Той факт, що одновимірний масив чисел можна виразити через двовимірний масив більш ніж одним способом, пояснює різноманіття алгоритмів ШПФ. Звідси витікає, що математична операція переходу з одновимірного простору в двовимірний є основою всіх алгоритмів ШПФ. При такому єдиному підході до алгоритму ШПФ його різні варіанти можуть бути отриманий порівняно простим способом.
Теоретичний розділ.
Області застосування перетворення Фур’є.
Цифровий спектральний аналіз
Аналізатори спектра
Обробка мови
Обробка зображень
Розпізнавання образів
Проектування фільтрів
Обчислення імпульсної характеристики по частотній
Обчислення частотної характеристики по імпульсній
Аналіз Фур'є закладає основи багатьох методів, що застосовуються в області цифрової обробки сигналів (ЦОС). По суті справи, перетворення Фур'є дозволяє зіставити сигналу, заданому в часовій області, його еквівалентне представлення в частотній області. І навпаки, якщо відома частотна характеристика сигналу, то зворотнє перетворення Фур'є дозволяє визначити відповідний сигнал у тимчасовій області. На додаток до частотного аналізу, ці перетворення корисні при проектуванні фільтрів.
Частотна характеристика фільтра може бути отримана за допомогою перетворення Фур'є його імпульсної реакції. І навпаки, якщо визначена частотна характеристика сигналу, то необхідна імпульсна реакція може бути отримана за допомогою зворотнього перетворення Фур'є над його частотною характеристикою. Цифрові фільтри можуть бути створені на основі їхньої імпульсної реакції, оскільки коефіцієнти фільтра з кінцевою імпульсною характеристикою ідентичні дискретній імпульсній реакції фільтра.
. Опис швидкого перетворення Фур’є з прорідженням за часом.
Швидке перетворення Фур'є (ШПФ) - це простий алгоритм для ефективного обчислення дискретного перетворення Фур'є (ДПФ).
Дискретний матеріальний сигнал у вигляді кінцевої часової послідовності x(nТ) запишемо як x(nТ), де - число відліків, N – число відліків, T - період дискретизації.
N - точкове дискретне перетворення Фур'є (ДПФ) задається формулою:
де X(k) - частотний k-ий відлік чи k-а спектральна складова сигналу (визначає вихідну частотну послідовність, спектр сигналу),
комплексна експонента, W - ядро перетворення.
При зміні значення n*k на величину кратну N ядро не змінюється (у силу періодичності синуса і косинуса). Тобто ядро по верхньому індексу є періодичною функцією з періодом N. Тому замість добутку n*k можна вставити залишок від ділення його на N , тобто (n*k) mod N. Спектральна функція X(k) також має період N по аргументу k.
Число множень дійсних відліків сигналу на комплексне ядро в (1) дорівнює N2, а число додавань комплексних чисел - (N -1)N. Кількість цих операцій різко зростає із збільшенням N і приводить до занадто великого часу перетворення.
ШПФ стало широко застосовуватися після винаходу швидких алгоритмів, в основі яких лежить принцип зведення багатоточкового перетворення до малоточкового. Один з них (що став уже класичним) називається ШПФ із проріджуванням за часом. Цей алгоритм отриманий за умови, якщо N є ступенем числа 2, тобто N = 2v, де ν - ціле число, ν≥0.
Основні формули перетворення, до яких ми прийдемо, виходять при розбивці суми в (1) на дві суми, що містять відліки з парними і непарними номерами
Власне кажучи ця операція являє собою зміну порядку сумування (перегрупування доданків), від якого сума не міняється.
Можна записати , . З врахуванням цього (2) прийме вигляд:
Зауважимо, що суми в (3) являють собою N/2 - точкові ДПФ часових відліків з парними номерами в першій сумі, і непарними номерами в другій сумі.
Позначимо, згідно з [1],
X(k) = Xν(k) - ДПФ усіх вхідних відліків дискретного сигналу,
вхідних відліків з парними номерами (перше число в нижньому індексі дорівнює ν - 1, а друге - парному числу (нулю)) ,
вхідних відліків з непарними номерами (друге число в нижньому індексі дорівнює непарному числу (одиниці)).
З урахуванням введених позначень одержимо коротку форму запису (3)
Спектри і є періодичними функціями з періодом N/2 (у ядрі перетворення замість N стоїть N/2). Величина називається повертаючим множником і володіє наступною цікавою властивістю
Ця властивість надає при обчисленні з номерами k від N/2 до (N -1) використовувати відповідні значення раніше обчислених з номерами від 0 до (N/2 -1) (потрібно тільки змінити знак).
За звичай формулу (4) розбивають на два співвідношення для зазначених вище номерів і одержують основні формули (базові співвідношення) перетворення Фур'є у вигляді:
Базові співвідношення вже можна назвати швидким перетворенням Фур'є (ШПФ), тому що число операцій зменшилося. Число множень матеріальних відліків сигналу на комплексне ядро дорівнює . До цього потрібно додати множень комплексних чисел. Число додавань дорівнює
Процес розбиття за схемою базових співвідношень можна продовжувати до тих пір, доки не прийдемо до перетворень Фур'є одиничних відліків (що збігаються із самими відліками). Необхідне число операцій при цьому буде значно менше. У такому вигляді це ШПФ називають ШПФ із проріджуванням за часом.
Для пояснення процесу розбиття розглянемо більш детально, приклад ШПФ при N = 23 = 8.
Позначимо оператор ДПФ визначених вхідних відліків через F і запишемо відповідності між символами ДПФ, введеними вище, і цим оператором.
Зв'язок між ДПФ із великим і меншим числом точок відповідно до базових співвідношень записується в такий спосіб:
Роботу ШПФ можна пояснити графічно, якщо базові співвідношення, записані в дуже короткій формі, або зобразити графом
Верхній стрілці відповідає додавання, а нижній - віднімання. Попередньо bm-1 домножається на множник повороту WN.
Використовуючи вищенаведене і розташовуючи символи ДПФ у впорядкованому вигляді, зобразимо ШПФ геометрично за допомогою графа на рис. 1.1.
Відзначимо, що відліки вхідної послідовності переходять у відповідні ДПФ нульового рівня відповідно до інверсії їхній двійкових номерів (операція називається перестановкою вхідних відліків). Наприклад, десятковий номер 4|10 у двійковому вигляді запишеться як 100|2. Інверсія числа 100|2 (у прочитанні з права на ліво) запишеться як 001|2 = 1|10. Таким чином, вхідний відлік під номером 4 співпаде з першим ДПФ X0,1(0). Перестановку для всіх відліків можна показати стрілками переходу: 0 → 0, 1 → 4, 2 → 2, 3 → 6, 4 → 1, 5→ 5, 6 → 3, 7 → 7.
Рис.1.1. Граф ШПФ із проріджуванням за часом за основою 2 при N=8
Для наочності приведемо направлений граф алгоритму ШПФ за основою два з часовим прорідженням для N=32:
Рис.1.2. Направлений граф алгоритму ШПФ за основою два з часовим прорідженням для N=32.
. Алгоритм перетворення.
Алгоритм ШПФ можна скласти, спираючи на граф ШПФ при N=8. Зауважимо, що ДПФ з однаковим числом точок на графі розташовані у вигляді стовпців. Пронумеруємо ДПФ у кожнім стовпці цифрами від 0 до 7 (від 0 до N-1 у загальному випадку) зверху вниз. Вихідні значення ДПФ - комплексні числа, які можна зберігати у деякому масиві. Перехід відповідно до базових співвідношень від ДПФ попереднього стовпця до ДПФ із подвоєним числом точок наступного стовпця назвемо кроком перетворення. З огляду на послідовний характер кроків перетворення, вихідні значення ДПФ кожного стовпця можна зберігати в тому самому масиві (це повинен бути масив комплексних чисел). Остаточно масив буде містити результуючі значення ШПФ.
Графи базових співвідношень на кожному кроці візуально групуються. Групи складаються з окремих графів чи декількох графів, що перетинаються між собою. У прикладі на першому кроці графа є 4 групи, у другому – 2 і на третьому - 1.
Введемо позначення:
- число відліків сигналу, що обробляється, чи число точок перетворення;
v - число кроків перетворення;
step - номер кроку, step = 0,..., v - 1;
group - номер групи графів, group = 0, ..., (group_max - 1), де group_max - число груп (залежить від номера кроку);
іnput - номер ДПФ, вихід якого з'єднаний з верхнім входом графа базового співвідношення;
іnput +add - номер ДПФ, вихід якого з'єднаний з нижнім входом цього графа;
add - різниця відповідних номерів;
pow - ступінь множника повороту (у тексті pow відповідає показнику k в ) .
Змінні зв'язані між собою в такий спосіб:
Ці співвідношення отримані при аналізі графа ШПФ.
Для приведеного графа побудована таблиця, у якій для кожного кроку перетворення занесені індекси і їхні межі зміни, що використані в циклах програми. Нижче приведений алгоритм програми. Його особливість - результат виходить у масиві вхідних даних. Алгоритм побудований для випадку комплексних вхідних даних, як більш загальний випадок.
Алгоритм ШПФ із проріджуванням за часом.
Вхідні дані в алгоритмі:
Х(k), k = 0,..., N -1 - масив комплексних вхідних і вихідних даних.
Для k = 0,..., N -1 встановити:
Встановити:
1. Перестановка елементів масиву Х(k).
2. Якщо step = v, перейти до кроку 9.
3. group←0.
4. Якщо group = group_max: step←step+1, add←add * 2,
group_max←group_max/2, перейти до кроку 2.
5. іnput ← group 2step +1.
6. Якщо іnput = group 2step+1+2step: group←group+1, перейти до кроку 4.
7. [Базова операція]
pow ←group_max *<input>2step+1,
t← X(іnput + add) * W(pow +1),
X(іnput +add) ←X(іnput) - t,
X(іnput) ←X(іnput) + t.
8. input←input+1, перейти до кроку 6.
9. Завершення.
Алгоритм двійково-інверсної перестановки.
1. k←0.
2. Якщо k = N, то виконання алгоритму припиняється.
3. n← m← 0 (n←0,m←0 ).
4. Якщо m = v : перейти до кроку 7.
5. Якщо біт з номером m (0-ий біт - наймолодший) числа k дорівнює 1,
то n←n + 2v - m - 1.
6. m←m+1, перейти до кроку 4.
7. Якщо k < n : X(k)↔ X(n).
8. k←k+1, перейти до кроку 2.
1.4.Характеристики сигнального процесора ADSP-21061.
1.1.1.Призначення ADSP-21061.
ADSP-21061 SHARC – комп’ютер із супергарвардською архітектурою , що є високо продуктивним 32-розрядним цифровим сигнальним процесором для обробки прикладних програм мови, звуку, графіки і растрових зображеннь. SHARC є системою на кристалі, оскільки базується на ядрі сімейства ADSP-21000, додаючи двохпортову пам’ять на чипі SRAM, інтегровані зовнішні пристрої вводу-виводу з підтримкою розподілених шин вводу-виводу. Завдяки кешу інструкцій процесор може виконувати майже кожну команду в одному (окремому) циклі. Чотири незалежних шини для даних, команд та шин вводу-виводу плюс перехресні переключення між зв’язками пам'яті – все це включає супергарвардська архітектура ADSP-21061.
ADSP-21061 SHARC представляє собою новий стандарт інтегрування для цифрових сигнальних процесорів, комбінуючи високо ефективне з плаваючою крапкою ядро DSP з вбудованим інтерфейсом хост-процесора, контролером прямого доступу до пам’яті, послідовними портами, link-портами, та із загальнодоступними шинами в багатопроцесорному режимі.
1.1.2.Властивості ADSP-21061.
Чотири незалежних шини для вибірки даних, інструкції, і шини вводу-виводу.
32 бітні з рухомою комою обчислювальні блоки стандарту ІЕЕЕ, вузол множення, ALU, та зсувач.
Двопортова SRAM на кристалі та вбудований процесор вводу – виводу для периферії – складають System-оn-а-сhіp.
Вбудовані засоби мультиобробки.
40 MІPS, 25 ns цикл виконання інструкцій, кожна інструкція виконується за один цикл.
80 MFLOPS – постійна продуктивність двох генераторів адреси та даних з частково-зворотнім адресуванням.
Ефективний програмований засіб впорядкованого планування з нульовим переповнюючим циклом.
ІEEE JTAG стандарт 1149.1 тестових портів доступу та емуляції на кристалі.
32-бітний з фіксованою точністю та 40-бітний з розширюваною точністю ІEEE формати даних з рухомою комою, і 32 розрядний формат даних з фіксованою крапкою.
Одноциклові операції множення і арифметико-логічні виконуються паралельно із вибіркою даних чи інструкцій з пам’яті.
Двопортова 4Мbit SRAM є доступною як для ядра процесора, так і для DMA.
4 Gіgawords зовнішня пам’ять підтримує сторінковий режим доступу.
На рис.1 зображена блок-діаграма процесора ADSP-21061, на якій показані всі його основні вузли та зв’язки між ними. Основними вузлами є:
32-розрядні з рухомою комою обчислювальні блоки – АЛП, вузол множення, зсувач;
регістровий файл даних;
генератори адреси даних (DAG1,DAG2);
програмний автомат (Program Sequencer) та кеш інструкцій;
періодичний таймер;
двопортова SRAM;
зовнішній порт для зв'язку із зовнішньою пам'яттю та периферійними пристроями;
інтерфейс хост процесора та багатопроцесорний інтерфейс;
контролер DMA;
послідовні порти;
JTAG тест;
ADSP-21061 – процесор з модифікованою гарвардською архітектурою, що містить 4Мбітну SRAM на кристалі, яка складається з двох блоків по 2 Mбіти кожен, і яка може бути сконфігурована для зберігання різних комбінацій інструкцій і даних. Подвійний доступ (тобто в один момент часу може відбуватися операція запису і читання) до кожного блоку пам'яті відбувається в єдиному циклі ядром процесора, процесором вводу/виводу чи контролером DMA.
В ADSP-21061 пам'ять може бути сконфігурована максимум з 128Кслів по 32-біти , з 256Кслів по 16-бітів для даних, та 80Кслів по 48-біт для інструкцій (чи 40-бітові дані), чи з різних комбінацій довжин слів, які поміщаються у 4Мбіти. Але до пам'яті можна звертатися лише по 16-, 32-, чи 48бітних шинах.
У режимі мультиобробки дозволяється підключення шістьох процесорів ADSP-21061 і паралельне їх функціонування. Єдиний адресний простір дозволяють прямі міжпроцесорні доступи до внутрішньої пам'яті кожного ADSP-21061. Розподілена логіка арбітражу шини керує даним режимом і розподіляє ресурси процесорів між собою. Арбітраж надає шині вибраний чи встановлений пріоритет. Максимальна швидкодія при міжпроцесорній передачі даних складає 240 Mbytes/s по link-портах чи по зовнішньому порту.
Рис.1.1: блок – діаграма процесора ADSP-21061
1.1.3.Розширення рівня системи (системні покращення)
Процесори сімейства ADSP-21000 мають декілька особливостей, що спрощують розробку системи. Ці доповнення внесені у три ключові області:
архітектурні особливості, що підтримують мови високого рівня та операційні системи;
ІЕЕЕ 1149.1 JTAG, що забезпечує послідовне сканування і емуляцію на кристалі
підтримка ІЕЕЕ форматів з рухомою крапкою.
Мови високого рівня. Архітектура сімейства ADSP-21000 має кілька особливостей, що безпосередньо підтримують компілятори мов високого рівня та операційні системи:
універсальні дані і адреси регістрів файлу
32-розрядні типи даних
великий адресний простір
пре- і пост - модифікація адресування
розміщення циклічного буфера даних без заборони на його розміщення в пам’яті;
стек лічильника команд, стек циклу і стек стану, що розміщенні на кристалі;
Додатково, архітектура сімейства ADSP-21000 розроблена спеціально для підтримання ANSІ-стандарту Numeric C-розширення – це перша трансльована мова, що підтримує векторні типи даних і оператори для числових і сигнальних процесів обробки сигналів.
Особливості послідовного сканування і емуляції. Процесори сімейства ADSP-21000 підтримують стандарт ІЕЕЕ1149.1 Joint Test Action Group (JTAG) для відлагодження системи. Цей стандарт визначає метод спеціального послідовного сканування стану вводу-виводу кожного компонента в системі. Послідовний порт JTAG також використовується емулятором ADSP-2106XEZ-ІCЕ для отримання можливостей емуляції на кристалі.
Формати ІЕЕЕ. Сімейство ADSP-21000 підтримує ІЕЕЕ формати даних із рухомою крапкою. Це означає, що дане сімейство, можна використовувати з ІEEE-сумісними процесорами без затрат на додаткове обладнання.
1.1.4.Опис виводів
Рис.1.2. Процесор ADSP-21061
В табл.1.1. використовуються такі позначення:
A – асинхронний;
G – земля;
І – вхід;
О -- вихід;
P -- електроживлення;
S – синхронний;
(A/D) – активний управляючий
(O/D) -- з відкритим стоком (open drain);
T -- з третім станом;
Таблиця 1. 1 Опис виводів
Назва сигналу
Тип
Призначення
ADDR 31-0
І/O/T
Зовнішня шина адрес (Extrenal Bus Address). Вихідна шина, що використовується для адресування зовнішньої пам'яті і периферійних пристроїв. В мультипроцесорній системі для одного процесора використовується при адресуванні в операціях читання/запису до внутрішньої пам'яті чи регістра ІOP іншого ADSP-21061.
DATA 47-0
І/O/T
Зовнішня шина даних (Extrenal Bus Data). Двонаправлена шина даних та інструкцій. 32-бітні дані одинарної точності з рухомою комою і 32-бітові дані з фіксованою крапкою передаються лише по частині (47 - 16 ) шини, 40-бітові дані з розширюваною точністю з рухомою комою – 47 - 8, короткі 16 бітні дані – 31 – 16, в режимі ЕPROM завантаження 8-бітові дані – 23 - 16. Використання навантажуючого резистора на вході не обов’язкове.
MS 3-0
O/T
Лінії вибору пам’яті(Memory Select Lines). Сигнал на цих лініях виставляється(низький рівень) для вибору кристала для необхідного банку зовнішньої пам’яті. Розмір банку пам'яті повинен бути визначений у регістрі контролю системи (SYSCON). Це є лінії декодованої адреси пам’яті, стан яких змінюється у той самий час, як і на інших лініях адреси. Коли доступ до зовнішньої пам'яті не використовується, MS 3-0 - лінії перебувають у третьому стані; вони є активними, коли виконується умовна інструкція доступу до пам'яті ,незалежно від результату. MS 0 може використовуватися із сигналом PAGE для реалізації банку DRAM (банк 0). У багатопроцесорних системах сигнал встановлюється ведучим процесором.
RD
І/O/T
Строб читання пам’яті (Memory Read Strobe). Виставляється (низький рівень) , коли процесор читає із зовнішньої пам’яті або внутрішньої пам’яті іншого процесора (багатопроцесорний режим) та при звертанні зовнішніх пристроїв до внутрішньої пам’яті процесора в режимі читання. У багатопроцесорних системах сигнал встановлюється ведучим процесором.
WR
І/O/T
Строб запису до пам’яті(Memory Wrte Strobe). Встановлюється (низький рівень) , коли процесор виконує запис у зовнішню пам’ять або внутрішню пам’ять іншого процесора (багатопроцесорний режим) та при звертанні зовнішніх пристроїв до внутрішньої пам’яті процесора в режимі запису. У багатопроцесорних системах сигнал встановлюється ведучим процесором.
PAGE
O/T
Межа сторінки DRAM(DRAM Page Boundarу). Встановлюється при перетині межі сторінки у зовнішній динамічній пам’яті. Розмір цієї сторінки має бути визначений у контрольному регістрі WAIT. DRAM може бути реалізована лише у банку 0 зовнішньої пам’яті, тому даний сигнал використовується лише до цього банку. У багатопроцесорних системах сигнал встановлюється ведучим процесором.
ADRCLK
O/T
Вихід опорного сигналу тактової синхронізації(Clock Output Referense). У багатопроцесорних системах сигнал встановлюється ведучим процесором.
SW
І/O/T
Вибір синхронізованого запису(Sуnchronous Write Select). Використовується для синхронної взаємодії ADSP-21061 з пристроями пам’яті. Процесор встановлює сигнал(низький рівень), щоб забезпечити попереднє вказання того, що незабаром буде виконаний запис, який може і не відбутися, якщо пізніше не буде встановлений сигнал. Має бути стверджений у той самий момент часу, що і вихідна адреса. У багатопроцесорних системах сигнал встановлюється ведучим процесором. Цей сигнал вказує на тип звертання в простір зовнішньої пам’яті в багатопроцесорній системі. Виставляється, коли виводиться адреса.
ACK
І/O/S
Підтвердження доступу до пам’яті(Memory Acknowledge). Скидається зовнішніми пристроями у низький рівень, що забезпечує додавання додаткових циклів очікування при доступі до зовнішньої пам’яті. Використовується пристроями вводу/виводу, контролерами пам’яті та іншою периферією для продовження доступу до зовнішньої пам’яті.
SBTS
І/S
Перевід шини у третій стан(Suspent Bus Three-State). Зовнішні пристрої можуть встановити даний сигнал у низький рівень для переводу зовнішніх шин адреси і даних, ліній вибору пам’яті і стробів у стан з високим опором на час наступного циклу. Якщо процесор звертається до зовнішньої пам’яті доки цей сигнал встановлений (низький рівень), то таке звертання не буде закінчене до того часу, доки сигнал не буде перепідтверджений. Може використовуватися лише для виходу із стану взаємного блокування хост процесора і ADSP-21061 або при використанні контролера DRAM.
IRQ2-0
І/A
Лінії запиту переривань(Interrupt Request Lines). Можуть спрацьовувати по фронту чи по рівню.
FLAG3-0
І/O/A
Виводи прапорців(Flag Pins). Двонаправлені лінії: як вхідні сигнали використовуються як умова виконання певної операції, як вихідні – сигнали, що поступають на периферійні пристрої.
TIMEXP
O
Лічильник таймера пустий(Timer Expired). Рівний „1” протягом чотирьох циклів після зменшення вмістимого регістру TCOUNT до 0 при включеному таймері.
HBR
І/A
Запит шини хост-процесором (Host Bus Request). Встановлюється хост процесором для захоплення зовнішньої шини.
HBG
І/O
Передача шини хост-процесору (Host Bus Grant). Відповідь на попередній запит, яка дозволяю захоплення хост процесором зовнішньої шини.
CS
І/A
Вибір кристалу(Chip Select). Стверджується хост процесором для вибору ADSP-21061.
REDY(O/D)
O
Підтвердження управління шиною хост-процесору (Host Bus Acknowledge). ADSP-21061 скидає даний сигнал (низький рівень) для додавання циклів очікування при асинхронному доступі хост процесором до внутрішньої пам’яті чи розміщених у пам’яті регістрів вводу/виводу. По замовчуванню використовується як вихід з відкритим стоком; стан активного управляючого виходу програмується бітом ADREDY в регістрі SYSCON.
DMAR1
І/A
DMA Request 1. Запит 1 DMA контролера, що використовується каналом 7.
DMAR2
І/A
DMA Request 2. Запит 2 DMA контролера, що використовується каналом 8.
DMAG1
O/T
DMA Grant 1. Сигнал підтвердження на DMAR1.
DMAG2
O/T
DMA Grant 2. Сигнал підтвердження на DMAR2.
BR6-1
І/O/S
Запит шини в багатопроцесорній системі (Multiprcessing Bus Request). Використовується при багатопроцесорному режимі для арбітражу зовнішньої шини.
ID2-0
І
Багатопроцесорний ідентифікатор(Multiprocessing ID). Визначає, який сигнал запиту шини BR1-6 використовується конкретним ADSP. Ці лінії визначають конфігурацію системи, тому апаратно управляються чи змінюються лише при скиді.
RPBA
І/S
Rotating Priority Bus Arbitration Select. Встановлює кругову пріоритетність при арбітражі зовнішньої шини для багатопроцесорного режиму. Коли RPBA рівний 0 – фіксовану пріоритетність.
CPA(O/D)
І/O
Пріоритетний доступ ядра(Core Priority Access). Дозволяє ядру ведучого процесора перервати фонові передачі DMA та отримати доступ до зовнішньо шини. Використовується при багатопроцесорному режимі.
DTx
O
Передача даних(Data Transmit). Використовується послідовними портами для передачі даних.
RDx
І
Приймання даних(Data Receive). Використовується послідовними портами для приймання даних.
TCLKx
І/O
Тактова синхронізація передачі(Transmit Clock). Тактова частота передачі даних послідовними портами.
RCLKx
І/O
Тактова синхронізація приймання(Receive Clock). Тактова частота приймання даних послідовними портами.
TFSx
І/O
Кадрова синхронізація передачі(Transmit Frame Sync). Використовується послідовними портами.
RFSx
І/O
Кадрова синхронізація приймання(Receive Frame Sync). Використовується послідовними портами.
LxDTA3-0
І/O
Дані link-порта(Link Port Data). Використовується link-портами.
LxCLK
І/O
Тактова синхронізація link-порта(Link Port Clock). Використовується link-портами.
LxACK
І/O
Підтвердження зв’язку через link-порти(Link Port Acknowledge). Використовується link-портами.
EBOOT
І
Вибір початкового завантаження з EPROM(EPROM Boot Select). Дозвіл режиму EPROM при початковій ініціалізації.
LBOOT
І
Вибір початкового завантаження через link-порт(Link Boot). Дозвіл режиму link при початковій ініціалізації.
BMS
І/O/T
Вибір пам’яті для початкового завантаження (Boot Memory Select). Вихід – як сигнал chip select пристрою EPROM. Вхід – при низькому рівні, визначає, що не відбувається жодного режиму початкового завантаження (“no booting”) і вибираються інструкції із зовнішньої пам’яті. Цей сигнал визначає конфігурацію системи, тому апаратно управляється чи змінюється лише при скиді.
CLKIN
І
Вхід тактової синхронізації(Clock In). Вхідний тактовий сигнал від зовнішнього тактового генератора. Цикл виконання інструкції рівний даному сигналу. Сигнал на вході CLKIN не може зупинятися чи змінюватися, а його частота не може бути нижчою за встановлене мінімальне значення.
RESET
І/A
Скид процесора(Processor Reset). Сигнал початкового установки. Після подачі даного сигналу на ядро процесора починається вибір першого слова команди із заданої комірки пам’яті по певній адресі.
TCK
І
Вхід сигналу тактової синхронізації операцій тестової логіки(Test Clock). Асинхронні такти для сканування границь JTAG.
TMS
І/S
Вибір тестового режиму(Test Mode Select). Використовується для контролю тестовим кінцевим автоматом.
TDI
І/S
Вхід тестових даних(Test Data Input). Забезпечує послідовні дані на пристрій JTAG сканування.
TDO
O
Вихід тестових даних(Test Data Output). Забезпечує видачу послідовних даних при скануванні JTAG.
TRST
І/A
Тестовий скид(Test Reset). Сигнал початкової установки вузла сканування.
EMU(O/D)
O
Стан емуляції(Emulation Status). Задає стан процесу емуляції.
ICSA
O
Зарезервований.
VDD
P
Power Supply. Джерело живлення.
GND
G
Power Supply Return. Земля.
NC
Не під’єднано.
2. Розробка блок-схеми
Вище представлено обчислення ШПФ з використанням алгоритму з прорідженням за часом. Розглянемо його детальніше з заданою кількістю точок 128. Цей метод потребує, щоб алгоритм реверсії був застосований до адрес вхідних відліків x(n).
На першому етапі алгоритму переводимо відліки вхідної послідовності у відповідні ДПФ нульового рівня відповідно до інверсії їхніх двійкових номерів. Перестановку для всіх вхідних відліків подано у таблиці 2.1.
Табл. 2.1. Біт-інверсне перетворення.
Вхідна послідовність
Біт-інверсна послідовність
0
0000000
0000000
0
1
0000001
1000000
64
2
0000010
0100000
32
3
0000011
1100000
96
4
0000100
0010000
16
…
…
…
…
16
0010000
0000100
4
17
0010001
1000100
68
18
0010010
0100100
36
…
…
…
…
16383
11111111111111
11111111111111
16383
ШПФ відбувається за 14 кроків згідно з формулою v = logrN (log216384 =14), де r – основа ШПФ, а N – розрядність ШПФ.
Отже на другому етапі алгоритму виконуються 8192 двохточкові ШПФ від елементів кожного стовпця. Потім проводяться повороти, причому показники експонент повертаючих множників вказані перед позначенням елементів пам’яті другого етапу. Потім обидва рядки проріджуються шляхом формування з них матриць розміром (2 X 2) і перетворяться по схемі 4-точкового ШПФ з основою 2, вже з іншими повертаючими множниками. Отже всього виконується 7 таких етапів перетворень.
У таблиці 2.2 наведені групи відліків, які беруть участь в базових операціях при виконанні алгоритму ШПФ при N=16384.
Табл.2.2. Порядок слідування відліків для кожного ярусу.
Номер базової операції
Номер ітерації або ярусу
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
1
2
4096
8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
12288
12288
6144
3072
1536
768
384
192
96
48
24
12
6
3
3
2048
2048
8192
4096
2048
1024
512
256
16
64
32
16
8
4
10240
6144
10240
5120
2560
1280
640
320
48
80
40
20
10
5
4
6144
10240
12288
6144
3072
1536
768
384
80
96
48
24
12
6