МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
Курсовий проект
з курсу «Проектування комп’ютерних засобів обробки сигналів та зображень»
на тему
«Розробка процесора ШПФ»
Львів – 2015
Завдання до курсового проекту
Розробити процесор ШПФ з такими вхідними даними:
Варіант №
18
Розрядність, N
2048
Основа
2
Тип прорідження
F (частотне)
Час обробки, мс
1,4
Розрядність вхідних даних, біт (Re + Im)
14 (7 + 7)
Тип вхідного інтерфейсу, пристрою, часові параметри
USB
Тип вихідного інтерфейсу, пристрою
MEM
Тип процесора
ADSP-BF504F
Анотація
В даному курсовому проекті розглянуто реалізацію алгоритму ШПФ за основою 2 на процесорі ADSP-BF504F для 14-розрядних вхідних даних з частотним прорідженням, описано механізми обчислення швидкого перетворення Фур’є за заданою основою, характеристики процесора, розраховано основні параметри створеної системи, створена функціональна схема системи та написана програма, що реалізує вказаний алгоритм ШПФ.
Зміст
Вступ 5
1. Теоретичний розділ 6
1.1. Опис алгоритму ШПФ з прорідженням по частоті 6
1.2. Характеристики процесора ADSP-BF504F 11
2. Розробка граф-схеми алгоритму ШПФ 15
3. Розрахунковий розділ 17
3.1. Розрахунок часу виконання 17
3.2. Розрахунок об’єму пам’яті 19
4.Розробка функціональної схеми 21
4.1. Розробка вузла синхронізації 21
4.2. Розробка вузла скиду 22
4.3. Підключення вихідного інтерфейсу USB 24
4.4. Підключення вихідного інтерфейсу MEM 25
4.5. Підключення зовнішньої ПЗП типу EEPROM. 26
Висновки 29
Список використаної літератури 30
Додатки 31
Лістинг А. Текст програми 31
Лістинг B. Результати виконання програми 32
Вступ
Перетворення Фур'є використовується в багатьох галузях науки – в фізиці, теорії чисел, комбинаториці, обробці сигналів, теорії ймовірності, статистиці, криптографції, акустиці, океанології, оптиці, геометрії, та багатьох інших. При обробці сигналів різної природи перетворення Фур'є звичайно розглядається як трансформація сигналу з часової ділянки в частотну.
Дискретне перетворення Фур'є (ДПФ) грає важливу роль при аналізі, синтезі та розробці систем та алгоритмів цифрової обробки сигналів. Одна з причин того, що аналіз Фур'є грає таку важливу роль в цифровій обрабці сигналів, полягає в існуванні ефективних алгоритмів дискретного перетворення Фур'є. Ці перетворення зворотні, при чому зворотнє перетворення має практично таку ж саму форму, що й пряме перетворення.
Швидке перетворення Фур'є (швидкий спосіб обчислення ДПФ) застосовується в багатьох галузях: радіолокації, стисненні відео та зображень, геології. Багато з цих задач вимагають виконання перетворень в реальному часі, з мінімальною часовою затримкою обчислень. На практиці широке поширення одержали алгоритми ШПФ за основою 2, де кожен функціональний вузол виконує базову операцію ‒ двовходового «метелика». Ці алгоритми орієнтовані, насамперед, на зведення до мінімуму числа операцій множення.
Послідовність обчислень будь-якого ШПФ можна описати у виді графа, вузли якого виконують фактично звичайне дискретне перетворення, але з меншою розмірністю вхідних векторів (меншою основою). У залежності від вибору основи міняється як загальне число арифметичних операцій, так і кількість ярусів графа.
1. Теоретичний розділ
1.1. Опис алгоритму ШПФ з прорідженням по частоті
Швидке перетворення Фур'є є не більш ніж алгоритмом для прискореного обчислення ДПФ шляхом скорочення необхідного числа операцій множення і додавання. Дане перетворення було запропоновано Кулі і Тюкі (J.W.Cooley і J.W.Tukey) у 1960-х роках і фактично було відкриттям заново ідеї Рунге, Даніельсона і Ланкоса (Runge (1903), Danielson і Lanczos (1942)). Перше згадування даної ідеї зустрічається ще задовго до появи комп'ютерів і калькуляторів, коли чисельні обчислення могли займати багато годин. Крім того, більш ніж сторіччям раніш даний метод використовував німецький математик Карл Фрідріх Гаусс (1777 - 1855).
Для розуміння основних концепцій ШПФ і його походження, корисно звернути увагу, що ДПФ, може бути сильно спрощено, якщо використовувати властивості симетрії і періодичності коефіцієнтів повороту. Швидке перетворення Фур'є вимагає тільки (N/2)log2(N) множень комплексних чисел. Обчислювальна ефективність ШПФ у порівнянні з ДПФ стає досить істотною, коли кількість крапок ШПФ збільшується до декількох тисяч. Очевидно, що ШПФ обчислює усі компоненти вихідного спектра. Якщо необхідно розрахувати тільки кілька крапок спектра, ДПФ може виявитися більш ефективним. Обчислення одного вихідного відліку спектра з використанням ДПФ вимагає тільки N множень з комплексними числами.
Дискретний матеріальний сигнал у вигляді кінцевої часової послідовності x(nТ) запишемо як x(nТ), де – число відліків, N – число відліків, T – період дискретизації.
N - точкове дискретне перетворення Фур'є (ДПФ) задається формулою:
де X(k) - частотний k-ий відлік чи k-а спектральна складова сигналу (визначає вихідну частотну послідовність, спектр сигналу),
комплексна експонента, W- ядро перетворення.
При зміні значення n*k на величину кратну N ядро не змінюється (у силу періодичності синуса і косинуса). Тобто ядро по верхньому індексу є періодичною функцією з періодом N. Тому замість добутку n*k можна вставити залишок від ділення його на N, тобто (n*k) mod N. Cпектральна функція X(k) також має період N по аргументу k.
Число множень дійсних відліків сигналу на комплексне ядро в (1) дорівнює N2, а число додавань комплексних чисел - (N -1)N. Кількість цих операцій різко зростає із збільшенням N і приводить до занадто великого часу перетворення.
ДПФ стало широко застосовуватися після винаходу швидких алгоритмів, в основі яких лежить принцип зведення багатоточкового перетворення до малоточкового. Один з них (що став уже класичним) називається ШПФ із проріджуванням по частоті. Цей алгоритм отриманий за умови, якщо N є ступенем числа 2, тобто , де ν - ціле число, ν≥0.
Основна ідея ШПФ з прорідженням по частоті полягає в поетапному обчисленні N-точкового ДПФ на ν етапах, на кожному з яких ДПФ визначається через ДПФ вдвічі більшої розмірності (рис 1.1.1.).
Структура алгоритму ШПФ з прорідженням по частоті :
Початкові умови :
N-точкова послідовність не проріджується , зберігається звичний порядок слідування відліків n=0,1, … ,N-1;
На першому етапі визначаються N/2-точкові ДПФ N/2-точкових послідовностей (двох половин вхідної послідовності);
На другому етапі визначаються N/4-точкові ДПФ як комбінація N/2-точкових ДПФ;
● ● ●
На і-тому етапі визначаються 2і-1-точкові ДПФ як комбінація 2і-точкових ДПФ;
● ● ●
На ν-тому (останньому ) етапі визначаються 2-точкові ДПФ як комбінація 4-точкових ДПФ. Послідовність із N/2 2-точкових ДПФ являє собою шукане N-точкове ДПФ. Відліки слідують в біт-інверсному порядку двійкових номерів.
Для реалізації даного алгоритму треба знати загальну формулу розрахунку ДПФ на будь-якому і-му етапі так звану базову операцію "метелик". Структура її подана на рис 1.1.2. Звідси загальна формула розрахунку ДПФ для і-го етапу має вигляд :
де і – номер етапу ;
m – номер ДПФ;
k – номер відліку ДПФ;
М – кількість ДПФ (М = 2ν-і) ;
L – розмірність ДПФ (L = 2i) ;
Хm і(k) – L-точкове ДПФ;
Х2m і-1(k), Х2m+1 і-1(k) – парне і непарне L/2-точкове ДПФ відповідно.
Таким чином ця формула описує алгортм швидкого обчислення ДПФ (алгортм ШПФ з прорідженням по частоті ) – ν-етапну процедуру типу «цикл в циклі», де:
Зовнішній цикл організовується по змінній і : і=ν, (ν-1), … , 1;
Перший внутрішній цикл (при фіксованому і) – по змінній m: m=0,1,…,М-1;
Другий внутрішній цикл (при фіксованому і та m) – по змінній k:
k=0,1, … ,(L/2-1). В циклі обчислюється k-й відлік L/2-точкового ДПФ по вище згаданій формулі.
Розмірність ДПФ Етап і
ДПФN
Рис 1.1.1. Ідея алгоритму ШПФ з прорідженням по частоті
Рис 1.1.2. Направлений граф базової операції ШПФ з прорідженням по частоті («метелик»)
Наведомо у вигляді графа алгоритм ШПФ за основою 10 з прорідженням по частоті для 8-точок (рис 1.1.3.)
Рис 1.1.3. Направлений граф алгоритму ШПФ за основою два з частотним прорідженням для N=8
На першому етапі вихідний сигнал ділиться на 2 половини (червоні і сині стрілочки). Далі обчислюються:
Тоді якщо виконати ДПФ , то отримаємо парні відліки спектра, а якщо ДПФ ‒ то непарні відліки спектру. Таким чином одне ДПФ тривалості N = 8 замінили двома ДПФ тривалості N/2 = 4. Для обчислення кожної з ДПФ половинної тривалості знову застосуємо прорідження по частоті. В результаті отримаємо:
В результаті отримали 4 ДПФ по 2 точки кожне, які також можна виконати за допомогою графа «метелика». На виході отримаємо спектральні відліки, які будуть переставлені. На першому рівні перетворення виходили парні і непарні відліки спектра, на другому рівні парні і непарні відліки ділилися знову на парні і непарні. В результаті для розстановки спектральних відліків на місця необхідно застосувати двійково-інверсну перестановку.
Розглянемо двійкове представлення номерів елементів і займаних ними місць при реверсивній перестановці біт. Елемент з номером 0 (двійкове 000) після всіх перестановок займає позицію 0 (000), елемент 6 (110) - позицію 3 (011), елемент 4 (100) - позицію 2 (010) і тд. Неважко помітити зв'язок між двійковим представленням позиції до перестановок і після всіх перестановок: вони дзеркально симетричні. Двійкове представлення кінцевої позиції виходить із двійкового представлення початкової позиції перестановкою бітів у зворотному порядку і навпаки.
Характеристики процесора ADSP-BF524С
Останнє на сьогоднішній день сімейство процесорів компанії Analog Devices - це Blackfin ADSP BF5xx. В основі процесорів Blackfin лежить «мікросігнальная архітектура» (MSA, Micro сигналу Architecture), розроблена Analog Devices спільно з компанією Intel. Не секрет, що архітектура класичних сигнальних процесорів, оптимізованадля інтенсивних однотипних математичних обчислень, далеко не настількиефективна там, де традиційно застосовуються мікроконтролери, наприклад, взадачах управління, організації призначеного для користувача інтерфейсу,підтримки стеків мережевих протоколів і т. д. При створенні архітектури MSA переслідувалася мета об'єднання достоїнств двох класів процесорів вєдиному пристрої.
В основі всіх процесорів ADSP BF5xx лежить ядро процесора Blackfin, структурна схема якого наведена на рис. 1.3
Рис. 1.3. Ядро ADSP BF524C
Основу обчислювального блоку складають два помножувача-накопичувача(MAC), кожен з яких представляє собою комбінацію 16-розрядногопомножувача і 40-розрядного акумулятора. Також до складу обчислювального блоку входять два 40-розрядних АЛУ,виконують стандартні арифметичні і логічні операції над 16 - і 32-розряднимиданими, 40-бітове пристрій зсуву і чотири 8-розрядних відео-АЛП, що підтримують ряд операцій над 8-розрядними даними, характерних для задачобробки відеозображень. В одному циклі обчислювальний блок може виконувати декілька операцій над 16 - або 32-бітними даними з ФТ в режимі SIMD.
2. Розробка граф-схеми алгоритму ШПФ
Розробка граф-схеми алгоритму ШПФ
На рис. 2.1. наведена блок-схема роботи алгоритму 1024 точкового ШПФ.
Рис. 2.1. Блок-схема алгоритму 1024 точкового ШПФ
Таблиця 2.1. Біт-інверсне перетворення
Відліки
Вхідна послідовність
Біт-інверсія
0
00000000
00000000
1
00000001
10000000
…
…
…
254
11111110
01111111
255
11111111
11111111
Рис. 2.2. Граф-схема алгоритму ШПФ
3. Розрахунковий розділ
3.1. Розрахунок часу виконання
Для розрахунку часу виконання алгоритму ШПФ на процесорі ADSP BF524C потрібно визначити кількість операцій додавання, множення та читання/запису з/до пам’яті однієї операції «метелик». На рис. 3.1 наведено базову операцію “метелик” ШПФ за основою 2 з прорідженням по часу.
Рис. 3.1. Метелик ШПФ за основою 2 з прорідженням по частоті
Формули обчислення метелика:
X’1 = X1 + X2
X’2 = (X1 – X2)*W
Розклад формул для обчислення метелика на дійсну та уявну частину:
X1 = A1 + jA2
X2 = B1 + jB2
W=W1 + jW2
W = e-j() = cos () – j sin ()
X’1 = A1 + jA2 + B1 + jB2 = A1 + B1 + j(A2 + B2)
X’2 = (A1 + jA2 – B1 – jB2)*(W1 + jW2) = A1W1 + jA1W2 + jA2W1 – A2W2 –
– B1W1 – jB1W2 – jB2W1 + B2W2 = A1W1 – A2W2 – B1W1 + B2W2 +
+ j(A1W2 + A2W1 – B1W2 – B2W1)
Re(X’1) = A1 + B1
Im (X’1) = A2 + B2
Re(X’2) = A1W1 – A2W2 – B1W1 + B2W2 = W1(A1 – B1) – W2(A2 – B2)
Im(X’2) = A1W2 + A2W1 – B1W2 – B2W1 = W2(A1 – B1) + W1(A2 – B2)
Операції:
Додавання – 12
Множення – 8
Читання з пам'яті – 6
Запис в пам’ять – 4
Кількість операцій: 30
Nметел. на 1 ярус = N / r =2048 / 2 = 1024
Nк-сть ярусів = logr N = log2 2048 = 11
Nметел. = Nметел. на 1 ярус ∙ Nк-сть ярусів = 1024 ∙ 11 = 11264
Тзаг = Твх + Твагове + Тшпф + Твих
Твх = V / u1, де
V – об’єм інформації;
u1 – пропускна здатність.
У вхідному інтефейсі USB пропускна спроможність 480 Мбіт/с.
V = N ∙ розрядність вх. даних = 2048 ∙ 14 = 28672 (біт)
u1 = 3,4 Мбіт/с
Твх = 28672/ (480 ∙ 106) = 59,733 (мкс)
Твагове = N ∙ 2 ∙ t1 опер.
t1 опер. = 1 / f = 1 / 600 MГц = 1,3 (нс)
Твагове = 2048 ∙ 2 ∙ 1,667 ∙ 10-9 = 6,824 (мкс)
Тшпф = Nметел. ∙ t1 метел.
t1 метел. = к-сть операцій * t1 опер. = 30 ∙ 1,667 ∙ 10-9 = 50 (нс)
Тшпф = 2048 ∙ 50 ∙ 10-9 =102,4 (мкс)
Тривалість надходження даних у процесор для обробки визначаємо із особливостей інтерфейсу MEM. Його пропускна здатність дорівнює 160 мбіт/с, об’єм даних, що треба отримати, 14 (7+7) розрядів, отже обчислюємо час надходження вхідних даних за формулою:
Твих = V / u2
u2 = 160 Мбіт/с.
Твих = 28672/ (160 ∙ 106) = 179,2 (мкс)
Загальний час виконання алгоритму буде дорівнювати:
Тзаг = 59,73 ∙ 10-6 +6,824 ∙ 10-6 + 102,4 ∙ 10-6 + 179,2 ∙ 10-6 = 348,154 (мкс)
Тзаг задовольняє умову завдання – 348,154 мкс < 1,4 мс. Для виконання алгоритму достатньо одного процесора. Нижче наведена часова діаграма роботи системи.
Рис. 3.1.2. Часова діаграма роботи процесора
3.2. Розрахунок об’єму пам’яті
Для збереження вхідних даних уявної (Im) і дійсної (Re) частин потрібно ОЗП об`ємом: 2048 ∙ 2 ×2 × 7 = 57344 біт. Ці дані зберігатимуться в оперативній пам’яті (RAM). Об’єм пам’яті дорівнює VП = 132КБ = 1081344 біт. Отже під’єднувати зовнішню пам'ять цього типу не потрібно.
На рис. 3.2.1. та рис. 3.2.2. наведено карту пам’яті для ОЗП і ПЗП відповідно.
Рис. 3.2.1. Ділянка пам`яті внутрішньої ОЗП, де зберігаються результати обробки
Рис. 3.2.2. Ділянка пам`яті зовнішньої ПЗП, де зберігаються коефіцієнти вагової функції та повертаючі множники
4.Розробка функціональної схеми
Процесор ШПФ складається із мікроконтролера, інтерфейсу MEM, інтерфейсу USB, схем скиду та синхронізації. Функціональна схема наведена у додатку.
Опис виводів:
RESET
Сигнал скиду
PB0/SCL1
Сихронізація даних для MEM.
PB0/SDA1
Прийом/передача даних по MEM-інтерфейсу.
AMI_ADDR[31:0]
Зовнішні адреси.
AMI_DATA[17:0]
Зовнішні дані.
RD
Зовнішній порт читання з пам’яті.
WD
Зовнішній порт запису в пам'ять.
CLKIN
Сигнал зовнішньої синхронізації.
XTAL
Кварцовий резонатор. Використовується з CLKIN.
4.1. Розробка вузла синхронізації
синхронізації забезпечує стабільну і точну роботу контролера і відповідно всієї схеми. Можуть використовуватися різні типи реалізації цього вузла, в залежності від призначення проекту і потрібностей схеми.
В документації на контролер вузол синхронізації може під’єднуватись наступним чином:
Рис. 4.1.1. Підключення вузла синхронізації
Після потрапляння в контролер, тактовий сигнал подається на вузол PLL. На цьому вузлі відбувається «підйом» тактової частоти до робочого рівня контролера. На функціональній схемі зображення цього вузла буде спрощено.
4.2. Розробка вузла скиду
Вузол скиду використовується для того, щоб при ввімкненні контролера певний проміжок часу утримати на ньому сигнал скиду. За цей час контролер встигне ініціалізувати свої вузли і після цього буде коректно працювати. Для формування цього вузла можна використовувати пасивні компоненти – резистор і конденсатор. Їхні параметри підбираються згідно очікуваного часу активності сигналу скиду за формулою: t = R*C, де R – значення величини опору резистора, C – значення величини ємності конденсатора.
Проте, на теперішній час, існує велика кількість готових рішень у форм-факторі мікросхем. Такі елементи працюють значно краще, і мають у собі підтримку контролю живлення. Одним з таких представників є мікросхема LM810 (інша назва такого типу мікросхем - супервізор).
Рис. 4.2.1. Зображення супервізора LM810
Даний супервізор має наступні характеристики:reset
моніторинг систем з живленням 5В, 3,3В та 3В;
мінімальна затримка сигналу скиду 140 мс (активним є низький рівень);
коректно працює при живленні від 1,1В.
Сигнал скиду у контролера виведений на пін AC7, відповідно, до нього і буде приєднано супервізор. На функціональній схемі зображення цього вузла буде спрощено.
Часова діаграма вузла скиду наведена на рисунку 4.2.2.
Рис. 4.2.2 Часова діаграма тактових імпульсів генератора і скидання схеми.
4.3. Підключення вхідного інтерфейсу USB
USB — універсальна послідовна шина, призначена для з'єднання периферійних пристроїв обчислювальної техніки.
Стандарт USB розробили сім компаній: «Compaq», «Digital Equipment», IBM, Intel, «Microsoft», NEC і «Northern Telecom». З листопада 1994 до листопада 1995 року було анонсовано кілька версій протоколу (USB 0.7, 0.8, 0.9, 0.99, 1.0 Release Candidate). Влітку 1996 року на ринку з'явилися перші комп'ютери з портами USB.
Шина USB — послідовний інтерфейс передавання даних для середньо- та низько швидкісних периферійних пристроїв. Для високошвидкісних пристроїв кращою вважалася шина FireWire, хоча з випуском пристроїв на базі USB 3.0 це твердження стало сумнівним.
USB-кабель — це, по суті, дві звиті пари: однією з них передаються дані в кожному напрямку (диференціальне включення), а інша використовується для живлення периферійного пристрою (+5 В, 500 мА). Вбудовані лінії живлення дозволяють використовувати USB-пристрої, що не мають власного блоку живлення, чи заряджати акумулятори переносних пристроїв (фото- та відеокамер, плеєрів тощо), якщо ці пристрої споживають струм силою до 500 мА. Стандарт USB 3.0 допускає навантаження лінії живлення струмом до 900 мА.
З'єднання USB-кабелями формує інтерфейс між USB-пристроями та USB-хостом. Як хост використовується керований з операційної системи USB-контролер, до складу якого входить USB-концентратор, або ж хаб. Цей хаб є відправною точкою в створенні ланцюжка пристроїв, що відповідають вимогами топології «зірка». Він має спеціальну назву — кореневий концентратор. До роз'ємів його портів під'єднується інше USB-приладдя та зовнішні хаби. Загальні їх кількість не може перевищувати 127 пристроїв, увімкнених не більш ніж у п'ять каскадів, не рахуючи рівень кореневого хаба.
Конструкція USB-конекторів розрахована на «гаряче» приєднання та від'єднання пристроїв до хоста (від нього). Це забезпечено більшою довжиною контакту заземлення GND проти інших. Внаслідок цього потенціали корпусів вирівнюються ще до замикання сигнальних контактів, а це убезпечує електроніку приладу від пошкодження статичною електрикою.
Рис. 4.3.1 передачах даних по лініях USB
4.4. Підключення вихідного інтерфейсу MEM
Зовнішня пам’ять типу Flash підсистеми побудова з використанням модуля S29AL004D виробництва Spansion. Це пам’ять типу Flash, в якій зберігається програма, що завантажується при ввімкнені системи, або при апаратному скиді. Дана пам’ять має програмовані порти, що можуть використовуватися для збільшення кількості керуючих сигналів, замість дешифратора. 20-ти розрядні входи адрес пам’яті, під’єднанні до відповідних сигналів шини адрес підсистеми. 16-ти розрядні виходи даних під’єднанні до відповідних ліній магістралі даних.
Рис. 4.3.1. Схема підключення Flash-пам’яті.
На рисунку нижче наведена карта пам’яті S29AL004D.
Рис. 4.3.2 Карта пам’яті S29AL004D
Опис виводів пам’яті Flash:
RESET
Сигнал скиду.
FCE
Дозвіл роботи Flash.
FRESET
Сигна скиду Flash.
AMS3–0
Лінії вибору.
ARDY
Контроль готовності апаратури.
ARE
Дозвіл на читання.
AWE
Дозвіл на запис.
ADDR[13:0]
Шина адрес.
VDDEXT
Напруга живлення для Flash.
DATA[13:0]
Шина даних.
4.5. Підключення зовнішньої ПЗП типу EEPROM.
EEPROM ( Electrically Erasable Programmable Read-Only Memory) — постійний запам'ятовувальний пристрій, що програмується та очищується за допомогою електрики, один з видівенергонезалежної пам'яті. Пам'ять такого типу може очищуватися та заповнятися інформацією декілька десятків тисяч разів. Використовується в твердотільних накопичувачах. Одним з різновидів EEPROM є флеш-пам'ять (Flash Memory). ПЗП використовується для зберігання вагових коефіцієнтів та повертаючих множників. Для розвязання цієї задачі було обрано ПЗП 28LV256 (32К × 8) фірми Turbo IC (рис 4.5.1.). Для підключення ПЗП був використаний інтерфейс зовнішньої памяті EMIFB. Схема підключення його зображена на рисунку 4.5.2. В таблиці 4.5.1 описано призначення кожної з ліній.
28LV256 має 64-байт сторінок операції запису, що дозволяє всій пам'яті, зазвичай записуються в менш 5,0 секунд. Під час циклу запису адреси та дані внутрішньо замкнені, звільняючи адресу і дані шини для інших операцій мікропроцесора. Процес програмування автоматично керується пристроєм за допомогою внутрішнього таймеру управління. Дані опитування на одному або всіх входів/виходів може бути використані для визначення кінця циклу програмування.
Рис. 4.5.1. Корпус EEPROM 28LV256
Рис. 4.5.2. Схема підключення через EMIFB
Таблиця 4.5.1 Призначення та розпіновка інтерфейсу EMIFB
№
Ім’я
Пін
Призначення
1
BEA15
D11
Лінія передачі адрес
2
BEA14
C11
3
BEA13
B11
4
BEA12
A11
5
BEA11
D10
6
BEA10
C10
7
BEA9
B10
8
BEA8
A10
9
BEA7
D9
10
BEA6
C9
11
BEA5
B9
12
BEA4
A9
13
BEA3
D8
14
BEA2
C8
15
BEA1
A8
16
BED7
C7
Лінії передачі даних
17
BED6
B6
18
BED5
D7
19
BED4
B7
20
BED3
C8
21
BED2
A7
22
BED1
D9
23
BED0
B9
24
A10
Вибір кристалу
25
B9
Вибір виходу (відкриття вихідного буфера)
26
C9
Дозвіл зипису
Висновки
Під час виконання курсового проекту було розглянуто приклад реалізації обчислювальної системи, в основі якої лежить алгоритм швидкого перетворення Фур’є з частотним прорідженням, розроблено функціональну схему. Дана система обробляє вхідний сигнал, що є 18-розрядним. Вхідні і вихідні сигнали подаються на задані у варіанті периферійні вузли. Вхідні дані представляються 18-ма вхідними відліками, що містять дійсну та уявну частину.
У якості обчислювального процесора взято цифровий сигнальний мікропроцесор TMS320C40. Для реалізації заданого алгоритму використано один такий процесор. Це потужний обчислювальний вузол, що має у своєму складі різноманітну периферію, що полегшує обробку сигналів.
В результаті набуто досвід у проектуванні обчислювальної системи, розглянуто основні компоненти, з яких вона складається, засвоєно алгоритми, на основі яких виконується обчислення.
Список використаної літератури
Цифровые фильтры и устройства обработи сигналов на интегральных микросхемах: Справочное пособие/Ф.Б.Высоцкий, В.И. Алексеев, В.П. Пачин и др.; Под ред. Б.Ф.Высоцкого.-М.: Радио и связь, 1984.-216с.
Куприянов М. С., Матюшкин Б. Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования. – Спб. : Политехника, 1998.
Марков С. Цифровые сигнальные процессоры. Книга 1, М.:фирма МИКРОАРТ, 1996-144 с.
Мельник А.А. Проектирование поточного процессора БПФ на специализированных БИС.- Львов, 1990.- 43с.
Применение цифровой обработки сигналов/ Под ред. Э.Оппенгейма.- М. Мир, 1980.- 552с.
Бондарев В.Н., Трестер Г., Чернега В.С. Цифровая обработка сигналов: методы и средства. Учебное пособие для вузов. 2-е изд. – Х.: Конус, 2001.- 398 с.
Цифровая обработка сигналов/ А.Б.Сергиенко – СПб.:Питер, 2002.-608с.
http://www.analog.com
fido7.su.hardw.schemes/
Додатки
Лістинг А. Текст програми
файл test.m:
clc;
clear all;
[Y, FS, BITS] = wavread('1.wav');
Y = wavread('1.wav',[10000 50000]);
figure(1);
plot(Y), title('Input file, one sample');
N = 2048;
r=2;
M=size(Y);
for k=1:N
if (k > -N/2) && (k < (N/2)-1)
W(k)=1-abs(k)/N;
end;
end;
figure(2)
plot((W));
y = Y (20001:20065);
y=my_fft(y);
y=abs(y);
figure(3);
plot(abs(y)), title('One sample, my_fft');
Лістинг B. Результати виконання програми
Рис. B1 Вхідний сигнал
Рис. B3 Вихідний сигнал з ШПФ