Міністерство освіти і науки України
Національний університет «Львівська політехніка»
ІКТА
Кафедра ЕОМ
Курсовий проект
з дисципліни
«Методи, алгоритми та засоби цифрової обробки сигналів та зображень»
на тему:
«Розробка процессора ШПФ»
Львів-2007
Завдання
Варіант № 33
Розробити процесор ШПФ з такими вхідними даними:
Тип процесора АDSP- Blackfin 535
Кількість точок N 1024
Основа ШПФ 4
Прорідження Частотне (F)
Вагова функція Пуасона
Час обробки 1,8 мс
Розрядність вхідних даних 24 (12 +12)
Тип зовнішнього інтерфейсу SPORT
Анотація
В даному курсовому проекті розглянуто спосіб реалізації алгоритму ШПФ за основою 4 для сигнального процессора ADSP-BF535 для 24-розрядних вхідних даних з частотним прорідженням, детально описано механізми обчислення швидкого перетворення Фур`є за заданною основою, властивості та основні характеристики процесора, на якому планується реалізація, підраховано часові ресурси для виконання обчислення, створена функціональна схема системи та написана програма, що реалізує вказаний алгоритм ШПФ на заданому процесорі.
Зміст
Вступ
Аналіз Фур'є закладає основи багатьох методів, що застосовуються в області цифрової обробки сигналів (ЦОС). По суті справи, перетворення Фур'є (фактично існує кілька варіантів таких перетворень) дозволяє співставити сигналу, заданому в часовій області, його еквівалентне представлення в частотній області, і навпаки, якщо відома частотна характеристика сигналу, то зворотне перетворення Фур'є дозволяє визначити відповідний сигнал у часовій області.
Крім того, ці перетворення корисні при проектуванні фільтрів. Частотна характеристика фільтра може бути отримана за допомогою перетворення Фур'є його імпульсної реакції. І навпаки, якщо визначена частотна характеристика сигналу, то необхідна імпульсна реакція може бути отримана за допомогою зворотнього перетворення Фур'є над його частотною характеристикою. Цифрові фільтри можуть бути створені на основі їхньої імпульсної реакції, оскільки коефіцієнти фільтра з кінцевою імпульсною характеристикою (КІХ) ідентичні дискретній імпульсній реакції фільтра.
1.Теоретичний розділ
1.1. Характеристики сигнального процесора ADSP-BF535
1.1.1.Призначення ADSP-BF535.
Процесор ADSP-BF535 входить в склад сімейства процесорів Blackfin. Архітектура ядра процесора комбінує механізм подвійної МАС обробки сигналу. Має RISC-подібну систему команд, та одну команду для множення даних (SIMD), підтримує мультимедійні можливості в одному коді команди.
Blackfin процесори підтримують динамічне керування живленням, можуть змінювати як і напругу так і частоту, щоб забезпечити низьке енергоспоживання.
Процесор ADSP-BF535 використовує поняття ядро та система для опису власної архітектури:
• Ядро означає: процесор, пам'ять першого рівня L1, контролер подій, основний таймер, і регістри контролю продуктивності.
• Система означає: периферійну множину,шину PCI, контролер зовнішньої пам’яті (EBIU), контролер прямого доступу до пам’яті (DMA), і інтерфейси між цими компонентами в системі та зовнішні ресурси.
1.1.2. Ключові особливості ADSP-BF535:
високопродуктивне ядро процесора Вlackfin з частотою 350 МГц;
два 16-бітові акумулятори множення (МАС);
два 40-бітові АЛП;
40-бітовий регістр зсуву;
чотири 8-ми бітові відео АЛП;
два 40-бітові акумулятори;
RISC – подібна регістрова пам’ять та система команд, для зручного програмування та компіляції, потужна система відлагодження програм, контроль продуктивності ядра мікропроцесора, 1.0 V – 1.6 V з динамічним енергетичним управлінням;
напруга вводу виводу 3.3 V.
Пам’ять:
Мікропроцесор ADSP-BF535 має 4 Гбайт-ний адресний простір, який охоплює як пам’ять на кристалі так і зовнішню пам’ять, та карту пам’яі ресурсів вводу/виводу. 285 Мбайт пам’яті виділено для внутрішніх ресурсів процесора Рис. 1. У цей внутрішній простір входить декілька типів пам’яті мікропроцесора:
16K Bytes пам’ять команд L1 SRAM/Cache
32K Bytes пам’ять даних L1 SRAM/Cache
4K Bytes резервна пам’ять L1 SRAM
256K Bytes високошвидкісна пам’ять з малим часом доступу L2 SRAM
DMA, контроле[Введите цитату из документа или краткое описание интересного события. Надпись можно поместить в любое место документа. Для изменения форматирования надписи, содержащей броские цитаты, используйте вкладку "Работа с надписями".]
р прямого доступу до пам’яті:
Пристрій керування пам’яттю, призначений для захисту пам’яті, приєднанням зовнішніх контролерів пам’яті, синхронізації SDRAM, підтримка асинхронних SRAM, Flash, ROM.
Карта зовнішньої пам’яті
Карта внутрішньої пам’яті
Рис. 1.
Периферія:
32-Bit, 33 MHz, 3.3 V, PCI 2.2 послідовний шинний інтерфейс з підтримкою режиму Master і Slave.
інтегрований послідовний інтерфейс USB 1.1;
два порти UART, та один порт IrDA®;
два SPI послідовні порти;
два дуплексних, синхронних, паралельних порти (SPORT)
чотири таймери/лічильники, три широтно імпульсних модулятора PWM;
шістнадцять двонаправлених програмованих портів вводу/виводу;
Watchdog Timer;
Real-Time Clock, годинник реального часу;
PLL на кристалі від 1 до 31 фазова автонастройка частоти.
Завантажувальний сектор
DMA
контролер
Інтерфейс блоку системної шини
Функціональна схема:
Рис. 2
ADSP-BF535 Периферія
Процесор ADSP-BF535 Blackfin містить широкий набір зовнішніх пристроїв, з’єднаних з ядром мікропроцесора через високошвидкісну шину, забезпечуючи гнучкість в конфігурації системи.
Інтегровані на кристалі:
2 порти UART;
таймери з PWM (широтно-імпульсною модуляцією) і можливість вимірювання тривалості імпульсу;
основні порти вводу/виводу;
годинник реального часу, і watchdog таймер.
Також містить високошвидкісні паралельні порти до інтерфейсів модему та звукових виходів, функції CODEC. Також містить програму для обробки переривань від зовнішніх пристроїв та інших джерел переривань. Контролер використання енергії забезпечує оптимальні енергетичні характеристики процесора та системи для виконання різного роду задач. До мікропроцесора можна легко підключати зовнішні пристрої за рахунок великої кількості інтерфейсів. Включаючи 32-бітну, 33 MHz, V2.2 послідовну PCI шину, паралельний порт SPI та USB порт. Усі інтерфейси і таймери окрім програмованих регістрів працють в режимі реального часу, підтримується гнучка DMA структура з виділеними каналами інтегровані в периферію. Має також виділений окремий канал DMA пам’яті призначений для передачі даних в різні частини пам’яті включаючи зовнішню пам’ять SDRAM і асинхронну пам’ять, внутрішню пам’ять SRAM 1 та 2 рівня та пам’ять шини PCI. Основна 32-розрядна шина працює з частотою 133 МГц, забезпечує широку смугу пропусканя для підтримки ядра процесора в постійній роботі, та повним обміном інформацією з периферією.
Ядро процесора
Як показано на Рис.3 ядро процесора Blackfin складається з двох акумуляторів множення (MAC), двох 40-бітних АЛП, 4 відео АЛП, та регістра зсуву. Обчислювальний блок процесора може приймати 8-ми, 16-ти чи 32-ти розрядні дані з регістрового файлу.
Кожен MAC акумулятор виконує операцію множення 16 бітна 16 кожного такту з накопиченням і видає 40-бітний результат, резервуючи 8-м біт для підвищення точності. АЛП виконують стандартні арифметичні та логічні операції. Два АЛП мають можливість обробляти як 16-ти так і 32-х розрядні дані. Кожен з 32-бітних вхідних регістрів представлений двома 16-ти розрядними, отже кожен АЛП може гнучко виконувати прості 16-ти бітні арифметичні операції. Для відображення 32-х розрядного регістру використовують пару 16-ти розрядних регістрів або один 32-х розрядний, операції можуть виконуватись за один цикл. Одночасно можуть виконуватися чотири 16-ти бітові операції маючи перевагу над звичайним АЛП. Це збільшує продуктивність за один цикл. Потужний 40-ка бітовий регістр зсуву надає великі можливості для виконання зсуву, повороту, нормалізації, витягання та укладання даних.
Дані для обчислень вибираються з багатопортового регістрового файлу з шістнадцяти 16-ти бітних або восьми 32-х бітних портів. Два генератори адрес (DAG) забезпечують вибіркою відразу двох операндів з пам’яті. DAG розділяє регістровий файл на чотири частини 32-х бітний індекс, частина для модифікації, довжина та базовий регістр.
Рис.3
Процесор Blackfin підтримує Гарвардську архітектуру з структурою ієрархії пам’яті. Пам’ять 1 рівня L1, зазвичай оперативна пам’ять, яка працює на частоті процесора і може мати невелику затримку. Пам’ять 2-го рівня L2, це інша пам’ять, може розміщуватися на кристалі і використовує багато циклів процесора для запису чи читання даних. Пам’ять першого рівня використовується тільки як пам’ять команд чи окремо пам’ять даних. Дві пам’яті даних використовують дані і вирішують куди краще записати інформацію. Пам’ять другого рівня використовує єдиний адресний простір для запису команд та даних. В сумі, пам’ять L1 рівня команд та L1 рівня даних може бути зконфігурована як статична RAM (SRAM) або кеш пам’ять. Блок організації пам’яті (MMU) забезпечує захист пам’яті та внутрішніх регітрів процесора від несанкціонованого доступу. Архітектура забезпечує три способи обчислень: корстувацький режим, режим контролю та режим емулювання. Користувацький режим дозволяє реструктурувати доступ до ресурсів центральної системи так забезпечити захист програмних продуктів, поки режим контролю не реструктуризує доступ до системи та ядра процесора.
Система команд процесора оптимізована до 16-ти біт op-коду і дозволяє використовувати максимальну частоту обробки команд, результатом є чудова густина програмного коду. Комплекс DSP команд декодуються в 32-о бітні op-коди, представлені повним описом багатофункціональних команд. Blackfin процесор підтримує обмежену вихідну продуктивність де 32-х бітні команди можуть бути видані паралельно як дві 16-ти бітні, дозволяючи програмі використовувати багато ресурсів ядра процесора за один такт.
Blackfin процесор на мові assembler використовує алгебраїчний синтаксис для зручного кодування та візуального сприйняття. Архітектура оптимізована для роботи з С/С++ компіляторами, результатом є швидке та ефективне програмне забезпечення.
1.1.4.Опис виводів
Рис.1.2. Процесор ADSP-21060
В табл.1.1. використовуються такі позначення:
A – асинхронний;
G – земля;
І – вхід;
О -- вихід;
P -- електроживлення;
S – синхронний;
(A/D) – активний управляючий
(O/D) -- з відкритим стоком (open drain);
T -- з третім станом;