МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
Курсовий проект
з курсу «Проектування комп’ютерних засобів обробки сигналів та зображень»
на тему
«Розробка процесора ШПФ»
Завдання до курсового проекту
Розробити процесор ШПФ з такими вхідними даними:
Варіант №
5
Розрядність, N
2048
Основа
2
Тип прорідження
T (часове)
Час обробки, мс
10
Розрядність вхідних даних, біт (Re + Im)
12 (6 + 6)
Тип вхідного інтерфейсу, пристрою, часові параметри
I2C
Тип вихідного інтерфейсу, пристрою
UART
Тип процесора
ADSP-BF547
Анотація
В даному курсовому проекті розглянуто реалізацію алгоритму ШПФ за основою 4 на процесорі ADSP-BF547 для 12-розрядних вхідних даних з часовим прорідженням, описано механізми обчислення швидкого перетворення Фур’є за заданою основою, характеристики процесора, розраховано основні параметри створеної системи, створена функціональна схема системи та написана програма, що реалізує вказаний алгоритм ШПФ.
Зміст
Вступ……………………………………………………………………..………….….5
Теоретичний розділ………………………………..…………...…..........…….…6
. Опис алгоритму ШПФ основа 2 з прорідженням по часу..….………...…6
. Вплив вагової функції на вхідний сигнал………………………………….11
. Характеристика процесора ADSP-BF547…..…….………...……..……….15
Розробка граф-схеми алгоритму ШПФ ………………………………………….18
Розрахунковий розділ………………………….……………………...…………..20
. Розрахунок часу виконання…………………….……………………………20
. Розрахунок об’єму пам’яті…..………………………...…………………….22
Розробка функціональної схеми………………………………………………….24
. Розробка вузла синхронізації..………………………...…………………….24
. Розробка вузла скиду…….…..………………………...…………………….25
. Підключення вхідного інтерфейсу I2C..……………...………………….27
. Підключення вихідного інтерфейсу UART………...…………………….29
. Підключення зовнішньої ПЗП типу EEPROM..……...…………………….30
Висновки……………………………………………………………………………….33
Список використаної літератури…………………………………..…………………34
Додатки………………………………………………………………………………...35Вступ
Перетворення Фур'є використовується в багатьох галузях науки – в фізиці, теорії чисел, комбинаториці, обробці сигналів, теорії ймовірності, статистиці, криптографції, акустиці, океанології, оптиці, геометрії, та багатьох інших. При обробці сигналів різної природи перетворення Фур'є звичайно розглядається як трансформація сигналу з часової ділянки в частотну.
Дискретне перетворення Фур'є (ДПФ) грає важливу роль при аналізі, синтезі та розробці систем та алгоритмів цифрової обробки сигналів. Одна з причин того, що аналіз Фур'є грає таку важливу роль в цифровій обрабці сигналів, полягає в існуванні ефективних алгоритмів дискретного перетворення Фур'є. Ці перетворення зворотні, при чому зворотнє перетворення має практично таку ж саму форму, що й пряме перетворення.
Швидке перетворення Фур'є (швидкий спосіб обчислення ДПФ) застосовується в багатьох галузях: радіолокації, стисненні відео та зображень, геології. Багато з цих задач вимагають виконання перетворень в реальному часі, з мінімальною часовою затримкою обчислень. На практиці широке поширення одержали алгоритми ШПФ за основою 2, де кожен функціональний вузол виконує базову операцію ‒ двовходового «метелика». Ці алгоритми орієнтовані, насамперед, на зведення до мінімуму числа операцій множення.
Послідовність обчислень будь-якого ШПФ можна описати у виді графа, вузли якого виконують фактично звичайне дискретне перетворення, але з меншою розмірністю вхідних векторів (меншою основою). У залежності від вибору основи міняється як загальне число арифметичних операцій, так і кількість ярусів графа.
1. Теоретичний розділ
1.1. Опис алгоритму ШПФ основа 2 з прорідженням по часу
Дискретний матеріальний сигнал у вигляді кінцевої часової послідовності 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.
Основні формули перетворення, до яких ми прийдемо, виходять при розбивці суми в (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) розбивають на два співвідношення для зазначених вище номерів і одержують основні формули (базові співвідношення) перетворення Фур'є у вигляді
Базові співвідношення вже можна назвати швидким перетворенням Фур'є (ШПФ), тому що число операцій зменшилося. Число множень матеріальних відліків сигналу на комплексне ядро дорівнює . До цього потрібно додати множень комплексних чисел. Число додавань дорівнює
Процес розбиття за схемою базових співвідношень можна продовжувати до тих пір, доки не прийдемо до перетворень Фур'є одиничних відліків (що збігаються із самими відліками). Необхідне число операцій при цьому буде значно менше. У такому вигляді це ШПФ називають ШПФ із проріджуванням за часом.
Для пояснення процесу розбиття розглянемо більш детально, приклад ШПФ при .
Позначимо оператор ДПФ визначених вхідних відліків через F і запишемо відповідності між символами ДПФ, введеними вище, і цим оператором.
Зв'язок між ДПФ із великим і меншим числом точок відповідно до базових співвідношень записується в такий спосіб:
Роботу ШПФ можна пояснити графічно, якщо базові співвідношення, записані в дуже короткій формі
або зобразити графом
Верхній стрілці відповідає додавання, а нижній - віднімання. Попередньо bm-1 домножається на множник повороту WN.
Використовуючи вищенаведене і розташовуючи символи ДПФ у впорядковано-му вигляді, зобразимо ШПФ геометрично за допомогою графа.
Рис. 1 - Граф ШПФ із проріджуванням за часом при N=8
Відзначимо, що відліки вхідної послідовності переходять у відповідні ДПФ нульового рівня відповідно до інверсії їхній двійкових номерів (операція називається перестановкою вхідних відліків). Наприклад, десятковий номер 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.2. Вплив вагової функції на вхідний сигнал
Для пояснення впливу вагової функції нижче буде розглянуто дві ситуації. У першому випадку співвідношення між частотою дискретизації та частотою вхідного синусоїдального сигналу таке, що в вибірці міститься в точності ціле число періодів синусоїдального сигналу (обчислення ДПФ припускає, що вибірка повторюється нескінчене число раз до і після досліджуваного фрагмента сигналу, формуючи таким способом нескінченний безперервний періодичний сигнал, як показано на рис. 1.2.1). При таких умовах форма вхідного сигналу являє собою безперервну синусоїдальну функцію, і на виході ДПФ або БПФ буде один ненульовий частотний відлік, відповідний частоті вхідного сигналу.
Рис .1.2.1 Сигнал з цілим числом періодів у вибірці
Рисунок нижче (1.2.2) відображає ситуацію, коли у вибірці немає цілого числа періодів синусоїдального сигналу. Розриви, які утворюються в кінцевих точках вибірки, призводять до розширенню спектра аналізованого сигналу внаслідок появи додаткових гармонік. На додаток до появи бічних пелюсток, відбувається розширення основного пелюстки, що призводить до зниження роздільної здатності по частоті. Цей процес еквівалентний перемножування вхідного синусоїдального сигналу з прямокутним імпульсом, який має відому частотну характеристику sin(x)/x та пов'язані з цим широкий основний пелюстка і бічні пелюстки.
Рис .1.2.2 Сигнал з нецілим числом періодів у вибірці
Зверніть увагу, що перший бічний пелюстка тільки на 12 дБ нижче основного, і що бічні пелюстки мають спад лише 6 дБ / октаву. Така ситуація неприйнятна для більшості завдань аналізу спектра. Оскільки в практичних додатках БПФ для спектрального аналізу точні вхідні частоти невідомі, слід зробити певні кроки до зменшення бічних пелюсток. Воно досягається вибором віконної функції з більш складною формою, ніж прямокутна. Вхідні відліки за часом множаться на відповідну функцію вікна, що тягне за собою обнулення сигналу на краях вибірки, як показано на рис.1.2.3. Вибір функції вікна є, передусім, компромісом між збільшенням ширини основного пелюстка і розміром бічних пелюсток.
Рис. 1.2.3 Вигляд сигналу після використання вагової функції
Математичні функції, що описують чотири популярні віконні функції (Хеммінга, Блекман, Хеннінга), представлені нижче:
Оцифровані віконні функції зазвичай обчислюються попередньо і зберігаються в пам'яті DSP з метою мінімізації обчислень безпосередньо при реалізації ШПФ. Частотні характеристики прямокутного вікна, вікон Хеммінга і Блекмана представлені на рис.1.2.4.
Рис. 1.2.4 Частотні характеристики популярних вагових функції
1.3. Характеристики процесора ADSP-BF547
ADSP-BF547 процесор повністю сумісний з іншими процесорами Blackfin. Відрізняється від Blackfin наступним: продуктивністю, кількістю і типом периферійних пристроїв і об’ємом та типом пам'яті на кристалі.
Особливості:
Високопродуктивний процесор BlackFin. Два 16-бітних ГДК, два 40-бітових АЛП, чотири 8-бітних АЛП відео, 40-бітний перемикач. RISC-подібні регістри та моделі інструкцій для зручності програмування. Розширений Debug, Trace та моніторинг. Широкий діапазон робочих напруг. Програмований вбудований регулятор напруги. До 324К байт пам’яті на кристалі. Додаткова 8М-флеш. Блок управління пам’ятю, що забезпечує захист пам’яті. Зовнішній контролер памяті для SDRAM, SRAM, флеш і ПЗП. Гнучкі варіанти завантаження пам’яті з SPI та зовнішньої пам’яті.
Основні параметри:
ЦП: Ядро
Blackfin
ЦП: F,МГц
від 0 до 600
Пам’ять: RAM,КБайт
132
I/O (макс.),шт.
152
Таймери: 32-біт,шт
11
Таймери: RTC
Так
Інтерфейси: UART,шт
4
Інтерфейси: SPI,шт
3
Інтерфейси: USB,шт
1
Інтерфейси: DMA,шт
1
VCC,В
Від 2.7 до 3.6
ICC,мА
22
TA,°C
від -40 до 85
Корпус
CSPBGA-400
Периферія:
Велика швидкість USB On-the-go (OTG) з інтегрованим диспетчером PHY SD/SDIO, диспетчери ATA/ATAPI-6 до 4 синхронних серійних портів (SPORT), до 3 послідовних периферійних інтерфейсів (SPI-сумісних), до 4 Uart інтерфейсів, два з автоматичним управлінням H/W потоком даних? до 2 CAN (мережа області диспетчера) 2.0B інтерфейси до 2 TWI (2-дротяний інтерфейс) диспетчери 8- або 16-розрядні асинхронні інтерфейси. Багаторазові збільшені паралельні периферійні інтерфейси (EPPIs) рідного прямого доступу до пам'яті, підтримуючи відео ITU-R BT.
Процесори Blackfin відповідають процесорам світового класу з енергетичним управління. Вони проектуються, використовуючи низьку енергетичну і низьку методологію напруги і змальовують динамічне енергетичне управління, яке є здатністю змінити як напругу, так і частоту дії, щоб значно знизити повний енергетичний вжиток. Зміна напруги і частоти може приводити до істотного пониження в енергетичному вжитку, змінюючи лише частоту дії.
Нижче наведена функціональна блок-діаграма даного процесора (рис 1.3.1.):
Рис. 1.3.1. Функціональна блок-діаграма процесора ADSP-BF547
Розробка граф-схеми алгоритму ШПФ
На рис. 2.1. наведена блок-схема роботи алгоритму 1024 точкового ШПФ.
Рис. 2.1. Блок-схема алгоритму 1024 точкового ШПФ
Таблиця 2.1. Біт-інверсне перетворення
Відліки
Вхідна послідовність
Біт-інверсія
0
00000000
00000000
1
00000001
10000000
…
…
…
254
11111110
01111111
255
11111111
11111111
Рис. 2.2. Граф-схема алгоритму ШПФ
Розрахунковий розділ
3.1. Розрахунок часу виконання
Для розрахунку часу виконання алгоритму ШПФ на процесорі ADSP-BF547 потрібно визначити кількість операцій додавання, множення та читання/запису з/до пам’яті однієї операції «метелик». На рис. 3.1.1. наведено базову операцію «метелик» ШПФ за основою Алгоритм базової операції ШПФ за основою 4 і проріджування за часом можна представити у вигляді
А'1 = А1 + A2W1 + A3W2 + A4W3 = (А1 + A3W2) + (A2W1 + A4W3),
A'2 = A1 jA2W1 – A3W2 ± jA4W3 = (A1 – A3W2 ) j(A2W1 - A4W3 ),
де A'1, A'2 - результати базової операції; А1, А2 - вхідні відліки; W1 - комплексні коефіцієнти; j - уявна одиниця, верхній знак перед j відповідає прямому, нижній - оберненому ШПФ.
ReA'1 = [ReА1 + (ReA2*ReW2 - ІmA3*ImW2)] + [(ReA2*ReW1 - ImA2*ImW1) + (ReA4 *ReW3 – ImA4*ImW3)],
ІмA'1 = [Іm A1 + (Re A3*Im W2 + ImA3*Re W2)] + [(ReA2*ImW1 + ІmA2*ReW1) + (ReA4*ImW3 + ImA4*Re W3)],
RеA'2 = [ReA1 - (ReA3*ReW2 - ImA3*ImW2)] ± [(ReA2*ImW1 + ImA2*ReW1) – (ReA4*ІmW3 + ImA4*ReW3)],
ImA'2 = [ImA1 - (ReA3*ІmW2 + ImA3*ReW2)] [(ReA2*ReW1 - ImA2*ImW1) - (ReA4*ReW3 - ImA4*ImW3)],
Операції:
Додавання – 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 – пропускна здатність.
У вхідному інтефейсі I2C пропускна спроможність 3,4 Мбіт/с.
V = N ∙ розрядність вх. даних = 2048 ∙ 12 = 24576 (біт)
u1 = 3,4 Мбіт/с
Твх = 24576 / (3,4 ∙ 106) = 7,228 (мкс)
Твагове = N ∙ 2 ∙ t1 опер.
t1 опер. = 1 / f = 1 / 733 MГц = 1,3 (нс)
Твагове = 2048 ∙ 2 ∙ 1,3 ∙ 10-9 = 3,15 (мкс)
Тшпф = Nметел. ∙ t1 метел.
t1 метел. = к-сть операцій * t1 опер. = 30 ∙ 1,3 ∙ 10-9 = 39,9 (нс)
Тшпф = 2048 ∙ 39,9 ∙ 10-9 =81,92 (мкс)
Тривалість вивантаження опрацьованих даних визначаємо із особливостей інтерфейсу UART. Його пропускна здатність дорівнює 10 мбіт/с, об’єм даних, що треба отримати, 12 (6+6) розрядів, отже обчислюємо час надходження вхідних даних за формулою:
Твих = V / u2
u2 = 10 Мбіт/с.
Твих = 24576/ (10 ∙ 106) = 2,457 (мкс)
Загальний час виконання алгоритму буде дорівнювати:
Тзаг = 7,228 ∙ 10-3 +3,15 ∙ 10-6 + 81,92 ∙ 10-6 + 2,457 ∙ 10-3 = 9,77 (мс)
Тзаг задовольняє умову завдання – 9,77 мс < 10 мс. Для виконання алгоритму достатньо одного процесора. Нижче наведена часова діаграма роботи системи.
Рис. 3.1.2. Часова діаграма роботи процесора
3.2. Розрахунок об’єму пам’яті
Для збереження вхідних даних уявної (Im) і дійсної (Re) частин потрібно ОЗП об`ємом: 2048 ∙ 2 ×2 × 6 = 49152 біт. Ці дані зберігатимуться в оперативній пам’яті (RAM). Об’єм пам’яті дорівнює VП = 324КБ = 2654208 біт. Отже під’єднувати зовнішню пам'ять цього типу не потрібно.
На рис. 3.2.1. та рис. 3.2.2. наведено карту пам’яті для ОЗП і ПЗП відповідно.
Рис. 3.2.1. Ділянка пам`яті внутрішньої ОЗП, де зберігаються результати обробки
Рис. 3.2.2. Ділянка пам`яті зовнішньої ПЗП, де зберігаються коефіцієнти вагової функції та повертаючі множники
Розробка функціональної схеми
Процесор ШПФ складається із мікроконтролера, UART, інтерфейсу I2C, схем скиду та синхронізації. Функціональна схема наведена у додатку.
Опис виводів:
RESET
Сигнал скиду
PB0/SCL1
Сихронізація даних для I2C.
PB0/SDA1
Прийом/передача даних по I2C-інтерфейсу.
ADDR[11:0]
Зовнішні адреси.
DATA[11: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. Підключення вхідного інтерфейсу I2C
I²C використовує дві двонаправлених лінії, Наведені до напруги живлення такеровані через відкритий коллектор або відкритий стік – послідовна лінія даних (SDA, англSerial DAta.) І послідовна лінія тактових імпульсів (SCL, англ Serial CLock). Стандартні напруги +5 В або +3,3 В, однак допускаються й інші.Класична адресація включає 7-бітови адресний простір з 16 зарезервованими адресами. Це означає до 112 вільних адрес для підключення периферії на одну шину. Основний режим роботи - 100 кбіт / с, 10 кбіт / с в режимі роботи зі зниженою швидкістю. Зауважимо, що стандарт допускає призупинення тактових імпульсів для роботи з повільними пристроями.
Після перегляду стандарту в 1992 році стає можливим підключення ще більшої кількості пристроїв на одну шину (за рахунок можливості 10-бітної адресації), а також велику швидкість до 400 кбіт / с в швидкісному режимі.Відповідно, доступне кількість вільних вузлів зросла до 1008. Максимальна допустима кількість мікросхем, приєднаних до однієї шині, обмежується максимальною ємністю шини в 400 пФ.
Версія стандарту 2.0, випущена в 1998 році представила високошвидкісний режим роботи зі швидкістю до 30 Мбіт / с зі зниженим енергоспоживанням.Остання версія 2,1 2001 включила лише незначні доопрацювання. На рисунку 4.4.1 зображено передачу даних по лініях I²C.
Рис. 4.4.1 передачах даних по лініях I²C
4.4. Підключення вихідного інтерфейсу UART
Універсальний асинхронний приймач (англ. Universal Asynchronous Receiver-Transmitter (UART)) - вузол обчислювальних пристроїв, призначенийдля зв'язку з іншими цифровими пристроями.
Перетворює заданий набір даних в послідовний вид так, щоб було можливо передати їх за по однонаправній лінії іншому аналогічному пристрою. Метод перетворення добре стандартизований і широко застосовувався в комп'ютерній техніці.Являє собою логічну схему, з одного боку підключену до шини обчислювального пристрою, а з іншого має два або більше висновків длязовнішнього з'єднання. UART може являти собою окрему мікросхему або бути частиною великої інтегральної схеми. Використовується для передачі даних через послідовнийпорт комп'ютера, часто вбудовується в мікроконтролери. Схема підключення його зображена на рисунку 3.4
Рис. 3.4. Схема підключення UART до Мікроконтролера
4.5. Підключення зовнішньої ПЗП типу EEPROM.
EEPROM ( Electrically Erasable Programmable Read-Only Memory) — постійний запам'ятовувальний пристрій, що програмується та очищується за допомогою електрики, один з видівенергонезалежної пам'яті. Пам'ять такого типу може очищуватися та заповнятися інформацією декілька десятків тисяч разів. Використовується в твердотільних накопичувачах. Одним з різновидів EEPROM є флеш-пам'ять (Flash Memory). ПЗП використовується для зберігання вагових коефіцієнтів та повертаючих множників. Для розвязання цієї задачі було обрано ПЗП 24AA512 (512К × 16) фірми Microchip (рис 4.5.1.). Для підключення ПЗП був використаний інтерфейс зовнішньої памяті EMIFB. Схема підключення його зображена на рисунку 4.5.2. В таблиці 4.5.1 описано призначення кожної з ліній.
Характеристики 24AA512:
Напруга живлення до 1.7V;
Малопотужна Технологія CMOS: - Активний струм 400 uA, типовий – Резервний струм 100 nA;
Каскад з можливістю підключення до 8 пристроїв;
Входи тригера для шумового придушення;
Вихідний похилий понтроль, щоб виключити «стрибок землі»;
100 kHz і 400 kHz сумісність годинника;
Тривалість запису сторінки 5 ms максимум;
128-байтовий буфер сторінки запису;
Захист ESD >4000V;
Більше 1 мільйона циклів читання/запису;
Корпус 8-провідний PDIP;
Температурні Діапазони: - Індустріальний (I): -40C до +85C - Саморушний (E) :-40C до +125C
Рис. 4.5.1. Корпус EEPROM 24AA512
Таблиця 4.5.1 Призначення та розпіновка пам’яті EEPROM
№
Ім’я
Пін
Призначення
1
A0
D1
Лінія передачі даних.
2
A1
3
A2
4
CE
D4
Вибір кристалу.
5
WE
D5
Дозвіл на запис.
6
OE
D6
Дозвіл виходу даних.
7
I/O
D8
Лінія передачі адрес.
Висновки
Під час виконання курсового проекту було розглянуто приклад реалізації обчислювальної системи, в основі якої лежить алгоритм швидкого перетворення Фур’є за основою 4 з часовим прорідженням, розроблено функціональну схему. Дана система обробляє вхідний сигнал, що є 12-розрядним. Вхідні і вихідні сигнали подаються на задані у варіанті периферійні вузли. Вхідні дані представляються 2048-ма вхідними відліками, що містять дійсну та уявну частину.
У якості обчислювального процесора взято цифровий сигнальний мікропроцесор ADSP-BF547. Для реалізації заданого алгоритму використано один такий процесор. Це потужний обчислювальний вузол, що має у своєму складі різноманітну периферію, що полегшує обробку сигналів.
В результаті набуто досвід у проектуванні обчислювальної системи, розглянуто основні компоненти, з яких вона складається, засвоєно алгоритми, на основі яких виконується обчислення.
Список використаної літератури
Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов /Пер. с англ. А.Л.Зайцева, Э.Г.Назаренко, Н.Н.Тетекина; Под ред. Ю.Н.Александрова. - М.:Мир, 1978. - 848 с.
Цифровые фильтры и устройства обработи сигналов на интегральных микросхемах: Справочное пособие/Ф.Б.Высоцкий, В.И. Алексеев, В.П. Пачин и др.; Под ред. Б.Ф.Высоцкого.-М.: Радио и связь, 1984.-216с.
Куприянов М. С., Матюшкин Б. Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования. – Спб. : Политехника, 1998.
Марков С. Цифровые сигнальные процессоры. Книга 1, М.:фирма МИКРОАРТ, 1996-144 с.
http://www.analog.com.
http://www.ti.com.
Бабак В.П., Хандецький А.І., Шрюфер Е. Обробка сигналів: підручник для вузів., К., Либідь, 1996.- 390с.
Применение цифровой обработки сигналов/ Под ред. Э.Оппенгейма.- М. Мир, 1980.- 552с.
Яцимірський М. М. Швидкі алгоритми ортогональних тригонометричних перетворень. - Львів: Академічний Експрес, 1997. - 219 с.
Додатки
Лістинг А. Текст програми
файл zaritskyi.m:
clc;
clear all;
y=wavread('guruch.wav', [1001 17384]);
figure(1);
subplot(3,1,1), plot(y), title('Input signal');
r=4;
N=length(y);
n=-floor(N/2):floor(N/2)-1;
W=zeros(1, length(N));
for i=1:N
W(i)=1-abs(n(i))/N;
y(i)=y(i)*W(i);
end
figure(1);
subplot(3,1,2), plot(W), title('Window function');
subplot(3,1,3), plot(y), title('Input signal after window function');
figure(2);
dpf=abs(fft(y));
subplot(2,1,1), plot(dpf), title('Library FFT');
neworder = zeros(1, length(N));
for nnn=0:1:N-1
neworder(nnn+1)=y(BIT_REV_radix4(nnn)+1);
end;
y=neworder;
for z=1:1:log(N)/log(r)
for q=1:1:N/r
n=q+3*floor((q-1)/r^(z-1))*4^(z-1);
bb=4^(log(N)/log(r)+1-z);
Wn1=exp(-j*2*pi*n/4^(z));
Wn2=exp(-j*2*pi*2*n/4^(z));
Wn3=exp(-j*2*pi*3*n/4^(z));
x(n)=y(n)+y(n+N/(bb))*Wn1+y(n+2*N/(bb))*Wn2+y(n+3*N/(bb))*Wn3;
x(n+N/(bb))=y(n)-j*y(n+N/(bb))*Wn1-y(n+2*N/(bb))*Wn2+j*y(n+3*N/(bb))*Wn3;
x(n+2*N/(bb))=y(n)-y(n+N/(bb))*Wn1+y(n+2*N/(bb))*Wn2-y(n+3*N/(bb))*Wn3;
x(n+3*N/(bb))=y(n)+j*y(n+N/(bb))*Wn1-y(n+2*N/(bb))*Wn2-j*y(n+3*N/(bb))*Wn3;
end;
y=x;
end;
y=abs(y);
figure(2);
subplot(2,1,2), plot(y), title('My FFT');
Лістинг B. Результати виконання програми
Рис. B1 Вхідний та вихідний сигнали
Рис. B2 Результат роботи бібліотечної та власної функції ШПФ