Проектування цифрового фільтра верхніх частот

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст

  1. Введення

  2. Аналіз задачі та її формалізація

  3. Розробка загального алгоритму функціонування фільтра

  4. Синтез операційного вузла (вибір і обгрунтування апаратної частини пристрою)

  5. Синтез керуючого вузла (розробка програми на мові мікропроцесора)

  6. Оцінка швидкодії пристрою

  7. Порядок розрахунку АЧХ фільтру

Висновок

Список використаних джерел

1. Введення

Курсова робота передбачає проектування спеціалізованого мікропроцесорного пристрою, що працює в реальному часі і виконує необхідний набір і необхідну послідовність операцій над вхідним сигналом для його обробки за принципом згладжує фільтра.

Фільтр повинен бути виконаний на основі МП ​​комплекту К1821 при використанні ЦАП 572ПА2. МП комплект К1821 складається з мікросхем: К1821ВМ85 - мікропроцесор, К1821РФ55 - ПЗУ (місткість - 2 Кб; два 8-розрядних порту вводу-виводу), К1821РУ55 - ОЗП (ємність -256 байт; два 8-розрядних і один 6-розрядний порти введення -виводу, вбудований лічильник-таймер).

Проектоване пристрій, його базова конфігурація повинні містити мінімальні апаратні і програмні засоби, достатні для виконання поставленої вище задачі обробки.

2. Аналіз задачі та її формалізація

Мінімальна конфігурація МП-системи на основі набору К1821, характеристики АЦП (572ПВ3) і технічні вимоги щодо забезпечення їх роботи визначають функціональну схему фільтра, наведену на рис. 1.

Вхідна напруга U ВХ через узгоджувальний підсилювач подається на вхід AI 1 АЦП. Узгоджувальний підсилювач включений з метою збільшення розмаху вхідного напруги до необхідного для роботи АЦП. Зрушення вхідної напруги в робочу область АЦП здійснює напруга U C М, що надходить на вхід AI 2. Опорна напруга U ОП1 потрібно для роботи АЦП, що входить до складу БІС 572ПВ3.

Коефіцієнт підсилення підсилювача: До согл = D U АЦП / D U ВХ = 1,25.

Напруга зсуву: U СМ = D U АЦП / 2 = +5 В.

Опорна напруга: U ОП1 = - 10 В.

Скидання і запуск АЦП здійснюється по входу / RD (при постійному значенні / CS = 0) імпульсом низького рівня з виходу TOUT таймера, налаштованого на формування імпульсів з частотою дискретизації F Д = 4.3 кГц.

Тактирование регістру послідовних наближень АЦП здійснюється тактовими імпульсами CLK МП-системи, які надходять через логічну схему І на тактовий вхід З LK АЦП. Високий рівень сигналу / BUSY, який встановлюється при закінченні перетворення, припиняє надходження імпульсів CLK на тактовий вхід АЦП.

Тактова частота перетворення АЦП не повинна перевищувати 1,5 МГц, тому приймемо F CLK АЦП = F CLK МП = 1,5 МГц.

Час перетворення поточного відліку вхідної напруги в код складає 8 періодів тактової частоти: t ПР = 8 T CLK АЦП = 5,3 мкс.

Схема вибірки й зберігання (СТЗ) необхідна, якщо за час t ПР = 5,3 мкс самий швидкоплинних сигнал (синусоїда з частотою

f У = 0,5 F Д і з максимальною амплітудою) змінюється на відносну величину, що перевищує половину кроку квантування h:

0,5 h = 0,5 / 2 8 = 0,00195. Максимальна зміна синусоїди на інтервалі t ПР одно D x = sin 2 p f У t ПР = 0,00249. D x> 0,5 h, тому СТЗ для зберігання поточного відліку сигналу на час перетворення АЦП потрібно.

Частота дискретизації F Д = 4,3 кГц формується апаратним таймером РУ55, в якому частота переповнення F П в режимі 3 дорівнює F Д При використанні в якості вхідних імпульсів таймера тактових імпульсів CLK МП-системи (F CLK МП = 1,5 МГц) вихідне стан таймера дорівнює N ТАЙМЕРА = F CLK МП / F Д = 449 (10) = 00 0001 1100 0001 (2). При доповненні 14-розрядного двійкового коду N ТАЙМЕРА двома бітами 11, які задають режим 3, отримуємо байти N СТ = 1100 0001 (2) = C 1 (16), N МЛ = 1100 0001 (2) = C 1 (16), які завантажуються в таймер при ініціалізації фільтра.

Узгодження коду АЦП і МП необхідно, так як числові значення на виході АЦП не відображають значення знакозмінного вхідного сигналу внаслідок подання на вхід AI 2 напруги зміщення U СМ. Узгодження можна виконати зміщенням діапазону зміни чисел на виході АЦП в негативну область шляхом вирахування з кожного значення вихідного коду константи 1000 0000 (2) - половини від максимального значення вихідного коду АЦП (додаток дає той же результат).

Форма представлення чисел (числових значень відліків вхідного сигналу) - правильна дріб з фіксованою комою: старший розряд - знаковий, кома, інші виконавчі розряди - числові. Таким чином, числові значення вхідного сигналу змінюються в діапазоні від - 1 до + 1.

Введення даних в МП здійснювати за сигналом готовності АЦП, використовуючи для цього переривання МП оповіщає сигналом / BUSY. Виберемо апаратне переривання динамічного типу - RST 7.5, яке дозволяється при установці маски переривання командою SIM. Для введення даних визначимо порт РА (РУ55) у режимі простого введення без квитування.

Необхідність зберігання даних випливає з виду заданого різницевого рівняння.

У даній програмі зберігання даних у поточному циклі обробці вхідного сигналу (у поточному інтервалі дискретизації) не потрібно.

Переповнення розрядної сітки має місце, якщо при обчисленні різницевого рівняння отримано числовий результат, що виходить за межі - 1, + 1 при прийнятому 8-розрядному форматі представлення даних. Для запобігання переповнення розрядної сітки введемо масштабування (ослаблення) вхідних відліків шляхом їх множення на коефіцієнт масштабування k М <1, при якому обчислення різницевого рівняння ніколи не дає неприпустимого результату.

Коефіцієнт k М отримаємо, припустивши, що відліки в різницевому рівнянні приймають максимальні значення (- 1, + 1) і такі знаки, при яких складові різницевого рівняння складаються по модулю, тобто складаються за модулем коефіцієнти.

Підставивши x n в рівняння для обчислення y n і підсумувавши за модулем коефіцієнти, отримаємо y n мах = 1 +1,1 +0.999 = 3,099, що є неприпустимим результатом. Звідси заданий коефіцієнт масштабування

k М = 1 / y n мах = 0,3226847.

Реальні значення коефіцієнтів різницевого рівняння і коефіцієнта k М відрізняються від заданих внаслідок обмеження довжини розрядної сітки:

b 20 = 1 (10) »1 (2) = 1 (10);

b 22 = 1,1 (10) »1,00011001 (2) = 1, 09765625 (10);

a 21 = 0,999 (10) »0,11111111 (2) = 0.99609375 (10);

k М = 0,3226847 (10) »0,01010010 (2) = 0.32031250 (10).

З цієї причини форма і параметри реальних частотних характеристик фільтра (АЧХ, ФЧХ) відрізняються від розрахункових. Можуть також порушуватися умови стійкості фільтру.

Алгоритм множення на коефіцієнт (на константу без знаку) доцільно реалізувати програмним способом на основі алгоритму множення вручну: арифметичні зрушення множимо вправо, відповідні позиціям одиниць множника, і накопичення суми часткових творів. Розряди множимо, що виходять у результаті зсуву за кордон розрядної сітки, втрачаються.

Вихідний стан апаратної частини і програми фільтру встановлюється при включенні харчування за сигналом апаратного вузла скидання (схеми скидання). При цьому:

  • програмний лічильник (ВМ85) приймає нульове значення;

  • скидається прапор дозволу переривань (ВМ85);

  • всі лінії портів РА і РМ (РФ55) налаштовуються на введення;

  • порти РА, РВ, РС (РУ55) налаштовуються на введення в режимі простого обміну даними;

  • таймер (РУ55) зупиняється;

  • вміст комірок ОЗУ і буферних регістрів портів (РУ55) зберігається.

З цього випливає, що переходу фільтра в робочий режим повинна передувати його налаштування (ініціалізація) на забезпечення прийнятого принципу функціонування, вибраних режимів роботи вузлів, заданих робочих характеристик.

3. Розробка загального алгоритму функціонування фільтра

Загальний алгоритм функціонування фільтра будується на основі висновків і визначень, зроблених під час аналізу завдання, і включає в себе всі функції пристрою, реалізовані апаратно й реалізовані програмно. Він містить також всі сигнали і повідомлення, необхідні для взаємозв'язку апаратно-реалізованих і програмно-реалізованих операцій (сигнали та повідомлення, які забезпечують взаємодію апаратної частини фільтра і програми).

Загальний алгоритм функціонування фільтра наведено на рис. 2.

Робота фільтра починається з подачі живлення на схему скидання. Імпульс, сформований схемою скидання (апаратний вузол), обнуляє лічильник команд МП і ініціює формування імпульсу скидання RESET для установки МП-системи в початковий стан.

Таким чином запускається програма ініціалізації МП-системи, яка повинна починатися з нульового адреси. При ініціалізації: дозволяються переривання МП типу RST 7.5; в покажчик стека SP записується початкову адресу, з якого починається стек; порт РА (РУ55) налаштовується на введення, а порт РА (РФ55) - на висновок; таймер (апаратний вузол) налаштовується на період переповнення, рівний Т Д в режимі 3; таймер запускається для формування безперервної послідовності імпульсів з частотою дискретизації F Д, які використовуються далі для взяття відліків вхідного сигналу і запуску АЦП (апаратного вузла). Програма ініціалізації завершується операцією зупину МП.

Зі стану зупину МП виводиться сигналом / BUSY (код АЦП готовий), що надходять на вхід RST 7.5 МП.

Наступні операції (введення, висновок, перетворення кодів, оперативні звернення до пам'яті, арифметичні перетворення) у кожному циклі роботи фільтра виконуються під управлінням робочої програми фільтра.

Кожен робочий цикл МП є реакція на переривання (виконання підпрограми обслуговування переривання), тому після обслуговування переривання по команді повернення з підпрограми в кожному робочому циклі МП повертається в стан зупинки (в стан очікування чергового переривання).

4. Синтез операційного вузла (вибір і обгрунтування апаратної частини пристрою)

Однокристальний МП К1821ВМ85 (ВМ85) є вдосконаленою версією МП КР580ВМ80 (ВМ80). Розробка ВМ85 була спрямована на підвищення продуктивності, зменшення числа БІС, необхідних для побудови закінченого МП пристрою. У результаті на одному кристалі розміщено пристрій, функціонально еквівалентну трьом БІС: мікропроцесору ВМ80, генератору тактових імпульсів ГФ24 і системного контроллера ВК28/ВК38. МП ВМ85 більш економічний (технологія КМОП), використовує тільки одне джерело живлення (+5 В), має мультиплексованих шину адреси / даних, розширені можливості обробки переривань.

Система команд ВМ85 включає весь набір команд ВМ80 в їх старої кодуванні, що гарантує повну сумісність з програмним забезпеченням МП ВМ80 на рівні об'єктного коду. Разом з цим до складу системи команд ВМ85 введені нові: SIM (установка маски переривання) і RIM (читання маски переривання). Є модифікації Intel 8085, у яких 12 додаткових команд, включаючи SIM і RIM.

Команди SIM і RIM розширюють засоби обробки переривань і забезпечують послідовний введення - виведення.

За командою SIM забезпечується установка нового стану маски відповідно до вмісту акумулятора:

А0 - А2 - відповідно маски RST 5.5, RST 6.5, RST 7.5;

А3 - дозвіл установки маски;

А4 - скидання тригера прийому запиту RST 7.5;

А5 - не використовується;

А6 - дозвіл виводу даних;

А7 - біт даних для виводу через SOD.

Установка маски забороняє відповідне переривання. Зміна маски відповідно до А0 - А2 виконується тільки при вирішенні її установки (А3 = 1). В іншому випадку функція установки маски пригнічується.

Команда RIM читає поточний стан масок в акумулятор у відповідності з наступним розподілом:

А0 - А2 - відповідно маски RST 5.5, RST 6.5, RST 7.5;

A 3 - прапор дозволу переривання;

А4 - А6 - відповідно прапори запитів RST 5.5, RST 6.5, RST 7.5;

А7 - біт даних з входу SID.

Запити на переривання строго впорядковані, як це показано в таблиці. Встановлена ​​пріоритетна схема дозволяє конфлікт при одночасному появу кількох запитів і не враховує поточного пріоритету програми.

Тип переривання

Пріоритет

Стартовий адресу

TRAP

1 (висш.)

0024Н

RST 7.5

2

003СН

RST 6.5

3

0034Н

RST 5.5

4

002 СН

INTR

5 (нізш.)

Вводиться при підтвердженні прерій.

5. Синтез керуючого вузла (розробка програми на мові мікропроцесора)

Робоча програма розроблена на основі спроектованого алгоритму функціонування пристрою і результатів аналізу та формалізації задачі. Програма прив'язана до мінімальної конфігурації апаратної частини фільтра.

Розподіл пам'яті ОЗУ:

5000 h - зберігання відліку x n;

5001 h - зберігання відліку x n - 2;

5002 h - зберігання відліку y n - 1;

5003 h - зберігання творів p 1 n;

5004 h - зберігання творів p 2 n;

50 FFh - початковий адресу стека.

; Програма: "Фільтр високих частот"

; Автор: Халява Валентина Сергіївна

; Різницевих рівнянь: y n = x n +1.1 x n - 2 + 0,999 y n - 2;

; Ініціалізація по сигналу "Скидання"

. ORG 0; початковий адресу програмного

; Модуля ініціалізації

DI; заборона переривань

LXI SP, 50 FFh; організація стека

MVI A, 0 FFh; настройка порту РА (РФ55) виведення

STA 02 h;

MVI A, 05 Dh; налаштування таймера на частоту пере-

STA F 004 h; полнения Т = Т Д в режимі 3

MVI A, 0C1h;

STA F005h;

MVI A, 0 C 0 h; настройка порту РА (РУ55) на введення

STA 00 h; і пуск таймера

MVI A, 1 Ah; настройка режиму переривань

SIM;

EI; дозвіл переривань

M 1: HLT; останов, очікування переривання

JMP M 1; перехід на команду зупину процесора по

; Закінчення підпрограми обслуговування переривання

. ORG 3 Ch; початковий адресу програмної

; Реакції на переривання типу RST 7.5

PUSH PSW;

LDA 5000 h; завантаження в акумулятор значення x n

STA 0800 h;

POP PSW; відновлення акумулятора

RET; повернення з підпрограми обслуговування до основної

; Програмі

LDA 01 h; введення поточного коду АЦП в акумулятор

ADIh; отримання додаткового коду для поточного відліку

; Програмний модуль масштабування:

; Обчислення добутку

; X n : = X n = 2 0 x n;

; Вхідний відлік зберігається в акумуляторі, масштабувати

; Відлік записати в осередок ОЗУ з адресою АХ

MOV H, A; x n ® H

ADD H; арифметичні зрушення вхідного

; Відліку і накопичення суми часткових

; Творів в акумуляторі: 2 0 x n ® А

STA 00 h; запам'ятовування відліку x n в пам'яті

; Програмний модуль обчислення добутку:

; P 1 n = 1,1 x n »1,00011001 x n = (2 0 + 2 -4 + 2 -5 + 2 - 8) x n;

; X n зберігається в комірці ОЗУ з адресою X 2;

; P 1 n записати в осередок ОЗУ з адресою P 1

LDA X2; X n-2 ® H

MOV H, A;

MOV A, H; арифметичні зрушення відліку x n

ARHL; і накопичення суми часткових

ARHL; творів в акумуляторі:

ARHL; (2 0 + 2 -4 + 2 -5 + 2 - 8) x n ® А

ARHL;

ADD H;

ARHL;

ADD H;

ADD H;

ARHL;

ARHL;

ADD H;

STA03h; запам'ятовування p 1n в пам'яті

; Програмний модуль обчислення добутку:

; P 2 n = 0,999 y n -1 »0, 11111111 y n -1

; = (2 -1 + 2 -2 + 2 -3 + 2 -4 + 2 -5 + 2 -6 + 2 - 7 +2 - 8) y n -1;

; Y n -1 зберігається в комірці ОЗУ з адресою Y 1;

; P 2 n записати в осередок ОЗУ з адресою P 2

LDA Y1; y n-1 ® A

MOV H, A; y n-1 ® H

ARHL; арифметичні зрушення відліку y n -1

MOV A, H; і накопичення суми часткових

ARHL; творів в акумуляторі:

MOV A, H, (2 -1 + 2 -2 + 2 -3 + 2 -4 + 2 -5 + 2 -6 + 2 - 7 +2 - 8) y n -1 ® А

ARHL;

MOV A, H;

ARHL;

MOV A, H;

ARHL;

MOV A, H;

ARHL;

MOV A, H;

ARHL;

MOV A, H;

ARHL;

ADD H;

STA 04 h; запам'ятовування p 2 n в пам'яті

; Програмний модуль обчислення переможе-

; Точного і вихідного відліку:

; Y n = x n - X n - 2 - p 2 n - P 3 n

; Складові зберігаються в осередках ОЗУ, результат

; Обчислення записати в осередки ОЗУ

LDA 00 h; x n ® A

LXI H, 5001 h; завантаження адреси x n - 1

SUB M; x n - x n - 2 ® A

INX H; отримання адреси v n - 1

INX H;

SUB M; x n - x n - 2 - v n - 1 ® A

LXI H, 5003 h; завантаження адреси p 1 n

SUB M; x n - x n -2 - v n -1 - p 1n ® A

STA 02 h; запам'ятовування y n -2 в пам'яті

LXI H, 5001 h; завантаження адреси x n -2

SUB M; x n - x n - 2 ® A

LXI H, 5004 h; завантаження адреси p 2 n

SUB M; x n - x n - 2 - p 2n ® A

STA 05 h; запам'ятовування y n в пам'яті

ADIh; отримання зміщеного вхідного

; Коду ЦАП

STA 00 h; висновок коду на ЦАП через порт РА (РФ55)

; Програмний модуль зсуву відліків пам'яті

LHLD 00 h;

SHLD 01 h;

LHLD 05 h;

SHLD 06 h;

RET; повернення з підпрограми обслуговування переривання

  1. Оцінка швидкодії пристрою

Швидкодія фільтра в робочому режимі оцінимо як час, необхідний для обробки кожного переривання процесора. Робоча програма фільтра лінійна (не містить розгалужень), тому загальне число машинних тактів, необхідних для виконання програми, отримаємо як суму машинних тактів всіх послідовно виконуваних команд, складових робочий цикл процесора. Сума машинних тактів для робочого циклу наведеної вище програми дорівнює 531. З цього випливає висновок, що процесор не встигне виконати підпрограму обслуговування переривання за інтервал дискретизації T Д. При частоті F CLK МП = 1,5 МГц F Д = 4.3 кГц (349 машинних тактів процесора). Тому тактова частота процесора повинна бути збільшена. Приймемо F CLK МП = 3 МГц, що для заданої БІС МП допустиме, але при цьому слід повернутися до питань формування тактових імпульсів для АЦП і вхідних імпульсів таймера.

Підвищення тактової частоти МП може бути також необхідним, якщо ставити задачу збільшення динамічного діапазону представлення даних для вхідного сигналу. При однобайтное обробці даних внаслідок масштабування шуми квантування збільшуються в k М разів. Їх зменшення можна домогтися переходом до двухбайтного поданням даних при зберіганні і обробці, що призведе, природно, до збільшення довжини програми і числа машинних тактів для її реалізації.

Уточнення апаратної частини фільтра

Прийняті раніше рішення з апаратної частини і програмі зміняться в мінімальному ступені, якщо при F CLK МП = 3 МГц тактові імпульси для АЦП і таймер з частотою F CLK АЦП = F CLK Т = 1,5 МГц отримати шляхом ділення в два рази в рахунковому тригері . Для цього можна застосувати ІС КМОП К564ТВ1 (здвоєний JK-тригер з динамічним тактовим входом і асинхронними RS-входами).

7. Розрахунок АЧХ фільтру

Різницеве ​​рівняння проектованого фільтру в загальному вигляді можна представити таким чином:

y n = b 20 X n + b 21 X n - 1 + b 22 X n - 2 - a 21 y n - 1 - a 22 y n - 2.

Коефіцієнти b 1 i, a 1 i, b 2 i, a 2 i визначають характеристики фільтра. При значеннях коефіцієнтів фільтр має АЧХ фільтру верхніх частот

b 20 = 1; b 21 = 0; b 22 = 1.1; a 21 = 0.999; a 22 = 0.000

Різницеве ​​рівняння задає в тимчасовій області порядок одержання вихідної послідовності відліків з вхідної. У z-площині властивості цифрового фільтра описує передатна функція H (z), яка при двокаскадного структурі і для наведеного вище різницевого рівняння має вигляд:

При z = e j w T = e j 2 p fT, де Т = Т Д, сигнал на вході фільтра - синусоїда з частотою f і з одиничною амплітудою, а функція H (e j 2 p fT) дорівнює частотній характеристиці фільтра, з якої можна отримати АЧХ і ФЧХ.

Значення коефіцієнтів різницевого рівняння визначають форму і параметри частотних характеристик, тому для виявлення впливу їх наближеного представлення слід розрахувати АЧХ при заданих (точних) і реальних (наближених) значеннях коефіцієнтів:

A T (f) = ô H Т (e j2 p fT) ô і A Р (f) = ô H Р (e j2 p fT) ô.

Висновок

У цій роботі була побудована схема цифрового пристрою і розроблена програма, що забезпечує роботу даного пристрою як цифрового фільтру верхніх частот. Пристрій має високу швидкодію і повною мірою задовольняє вимогам технічного завдання. Цифрові фільтри мають свої переваги і недоліки перед аналоговими.

Аналогові фільтри фізично реалізовані, якщо в їх передавальних функціях ступінь полінома чисельника не вище ступеня полінома знаменника. Цифрові фільтри не пред'являють таких обмежень, і, таким чином, вони можуть мати характеристики, добитися яких в аналогових фільтрах неможливо.

До недоліків цифрового фільтра можна віднести неточність подання коефіцієнтів внаслідок обмеженої розрядності процесора.

Список використаних джерел

  1. Рафікузаман М. Мікропрцессори і машинне проектування мікропроцесорних систем: У 2-х кн. Пер. З англ.-М.: Світ, 1988.

  2. Мікропроцесорний комплект К1810: Структура, програмування, застосування: Довідкова книга / Ю.М. Казарінов, В.М. Номоконов, Г.С. Подклетнов, Ф.В. Філіппов; Під ред. Ю.М. Казарінова .- М.: Вищ. шк., 1900.

  3. Проектування імпульсних і цифрових пристроїв радіотехнічних систем: Учеб. Посібник для радіотехніч. спец. вузів / Гришин Ю.П., Катак В.М. та ін; Під ред. Ю.М. Казарінова. - М.: Вищ. шк., 1985.

  4. Калабеков Б.А. Мікропроцесори та їх застосування в системах передачі та обробки сигналів: Учеб. посібник для вузів. -М.: Радіо і зв'язок, 1988.

  5. Мікропроцесори: системи програмування й налагодження / В.А. М'ясників, М.Б. Ігнатьєв, А.А. Кочкін, Ю.Є. Шейнін; Під ред. В.А. Мясникова, М.Б. Ігнатьєва. - М.: Вища школа, 1985.

  6. Балашов Е.П. та ін Мікро-та міні-ЕОМ / Є.П. Балашов, В.Л. Григор'єв, Г.А. Петров: Навчальний посібник для вузів. - Л.: Вища школа. Ленінгр. отд-ня, 1984.


Додати в блог або на сайт

Цей текст може містити помилки.

Комунікації, зв'язок, цифрові прилади і радіоелектроніка | Курсова
69.3кб. | скачати


Схожі роботи:
Проектування цифрового режекторного фільтра
Проектування активного RC-фільтра нижніх частот з обмеженою смугою пропускання
Фільтри верхніх частот
Розробка цифрового фільтра
Реалізація та аналіз цифрового фільтра з кінцевою імпульсною характеристикою 2
Реалізація та аналіз цифрового фільтра з кінцевою імпульсною характеристикою
Проектування активного фільтра
Проектування генератора високих частот
Проектування цифрового автомата
© Усі права захищені
написати до нас