Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Розробка мікропроцесорного пристрою цифрового фільтра

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Фільтри можна класифікувати з їхньої частотним характеристикам. На малюнку 1.2 зображені характеристики фільтра нижніх частот (а), фільтра верхніх частот (б), полосового фільтра (в). Основна функція будь-якого фільтра у тому, щоб послабити сигнали, які у певних шпальтах частот, доповнити них різні фазові зрушення чи запровадити тимчасову затримку між вхідним і вихідним сигналами. З допомогою… Читати ще >

Розробка мікропроцесорного пристрою цифрового фільтра (реферат, курсова, диплом, контрольна)

Министерство освіти та Украины.

Харківський національний університет радиоэлектроники.

Кафедра ТКС.

Курсова робота пояснювальна записка.

«Розробка микропроцессорного устрою цифрового фільтра» за курсом «Цифрові пристрої і мікропроцесори «.

Выполнил: ст. грн. ИСС — 01 — 3 Егурнов До. У. ______________.

(підпис) ««___________2003г.

Проверила: Нетикова Л. І. _____________.

(підпис) ««___________2003г.

Харків 2003.

СОДЕРЖАНИЕ Реферат…4.

Введение

…5.

1. Огляд аналогічних устройств…7.

2. Узятий варіант технічного решения…11 3. Синтез проектованого устройства…19.

4. Розробка алгоритму програми проектованого устройства…20.

5. Програма мовою ассемблер…25 6. Розробка і опис принципової схемы…30.

Вывод…33.

Список литературы

…34.

Додаток А…35.

Додаток Б…36.

Р Є Ф Є Р, А Т.

Пояснювальна записка: 34 з., 12 рис.

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

Діяльність використаний мікропроцесор фірми MICROCHIP серії PIC16C711, спроможною аналогової обробки сигналів. ЦАП не входить до складу микроконтроллера і винесено окремо, його входи під'єднані до порту B.

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

Програма, написана мовою Асемблер, є універсальною для всіх микроконтроллеров фірми MICROCHIP, які можуть аналогової обробки сигналів. Необхідно тільки сконфигурировать порти й урахувати специфікацію РОН і спеціальних регістрів відповідно до документацією на необхідну модель.

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

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

Цифрова обробка сигналу — це арифметична обробка у реальному масштабі часу послідовності значень амплітуди сигналу, визначених через рівні тимчасові проміжки. Прикладами цифровий обробки є:. фільтрація сигналу;. згортка двох сигналів;. обчислення значень кореляційної функції двох сигналів;. посилення, обмеження чи трансформація сигналу;. прямое/обратное перетворення Фурье.

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

R2.

x (t) x (t) З y (t).

R1.

y (t).

t t вхідний сигнал вихідний сигнал.

Малюнок 1.1 — Аналогова фільтрація сигнала.

Приклад аналогової фільтрації наведено малюнку 1. Використовуваний в фільтрі операційний підсилювач дозволяє розширити динамічний діапазон оброблюваних сигналів. Форма амплитудно-частотной характеристики фільтра визначається величинами R2, З. Для аналогового фільтра складно забезпечити високе значення добротності, характеристики фільтра сильно залежить від температурного режиму. Компоненти фільтра вносять додатковий галасу результуючий сигнал. Аналогові фільтри важко перебудовувати у широкому діапазоні частот.

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

1. ОГЛЯД АНАЛОГІЧНИХ УСТРОЙСТВ.

Фільтри — це частотно-избирательные устрою, які пропускають чи затримують сигнали, які у певних шпальтах частот. До 60-х років реалізації фільтрів застосовувалися, переважно, пасивні елементи, т. е. індуктивності, конденсатори і резисторы. Основною проблемою при реалізації таких фільтрів виявляється розмір котушок індуктивності (на низьких частотах вони стають занадто громіздкими). З розробкою в 60-х роках інтегральних ЗУ виник новий напрям проектування активних фільтрів з урахуванням ЗУ. У активних фільтрах застосовуються резисторы, конденсатори і підсилювачі (активні компоненти), але у себе не мають котушок індуктивності. Надалі активні фільтри майже зовсім замінили пасивні. Зараз пасивні фільтри застосовуються лише з високих частотах (вище 1МГц), поза частотного діапазону більшості ЗУ широкого применения.

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

Фільтри можна класифікувати з їхньої частотним характеристикам. На малюнку 1.2 зображені характеристики фільтра нижніх частот (а), фільтра верхніх частот (б), полосового фільтра (в). Основна функція будь-якого фільтра у тому, щоб послабити сигнали, які у певних шпальтах частот, доповнити них різні фазові зрушення чи запровадити тимчасову затримку між вхідним і вихідним сигналами. З допомогою активних RC — фільтрів не можна отримати ідеальні форми частотних характеристик як прямокутників із суворо постійним коефіцієнтом передачі у смузі пропускання, нескінченним ослабленням в смузі придушення і безкінечною крутістю спаду під час переходу від смуги пропускання до смузі придушення. Проектування активного фільтра завжди є пошук компромісу між ідеальної формою характеристики і складністю її реалізації. Це називається «проблемою апроксимації». В багатьох випадках вимоги до якості фільтрації дозволяють обійтися найпростішими фільтрами першого чи другої порядку. Набір таких схем наведено нижче. Проектування фільтра у тому випадки зводиться у виборі схеми з найпридатнішою конфігурацією і наступному розрахунку значень номіналів елементів для конкретних частот.

[pic]Рисунок 1.2 — Типові характеристики фильтров.

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

Аналіз гніву й тенденцій розвитку теорії та практики цифровий фільтрації показує, що використовуваними методами є частотна селекція сигналів і оптимальна (адаптивна) фільтрація. Класифікація цифрових фільтрів (ЦФ) було запропоновано у доповіді Д. А. Губанова і В. Б. Сташенко У його основу покладено функціональний ознака (т. е. використовувані алгоритми цифровий фільтрації, а чи не схемотехнічні рішення), за яким ЦФ поділяються на виборах 4 групи: фільтри частотною селекції, оптимальні (квазиоптимальные), адаптивні і евристичні. [pic].

Малюнок 1.3 — Класифікація цифрових фільтрів Найбільш вивченими і опробованными практично є ЦФ частотною селекції. Вони тримають майже завжди є реалізовані новому елементної базі традиційні аналогові фільтри частотною селекції. Виступи учасників конференції показали, що успішний розвиток цифрових коштів частотною селекції відбувається у наступних направлениях:

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

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

. розробка нових підходів до ЦФ частотною селекції з поліпшеними якісними показниками. Новітні технічні реалізації як традиційних, і нетрадиційних завдань цифровий обробки сигналів найчастіше використовують різні схемотехнічні рішення. Найбільше уваги учасники секції цифровий фільтрації залучили алгоритми многоскоростной обробки складних сигналів, які містять як швидко, і повільно мінливі складові. Такий алгоритм має передбачати попереднє поділ «швидких» і «повільних» компонентів зі зниженням частоти дискретизації «повільних» складових і наступного їх обробкою. Сучасні обчислювальні кошти дозволяють вирішувати як реального часу й завдання багатовимірної фільтрації, більш складні, ніж цифрова фільтрація одномірних сигналів, виконувана з допомогою сигнальних процесорів чи багатопроцесорних систем.

2. ВИБІР ВАРІАНТА ТЕХНІЧНОГО РЕШЕНИЯ.

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

2.1 МІКРОПРОЦЕСОРИ КОМПАНІЇ ANLOG DEVICES.

Мікропроцесори компанії Analog Devices утворюють два сімейства: ADSP21xx і ADSP210xx.

Сімейство ADSP21xx — набір однокристальных 16-разрядных мікропроцесорів із загальною базової архітектурою, оптимізованою для виконання алгоритмів цифровий обробки сигналів та інших додатків, потребують високошвидкісних обчислень з фіксованою точкой.

Друге сімейство мікропроцесорів ADSP210xx об'єднує 32-х розрядні мікропроцесори, зорієнтовані сигнальні алгоритми, потребують обчислень з плаваючою точкой.

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

Мікропроцесори сімейства ADSP21xx успішно конкурують із аналогічної продукцією низки інших компаній виробників сигнальних процесорів завдяки яку можна продуктивності за більш низькій ціні, і навіть розвиненою системі технічних і програмних засобів розробки прикладних систем. Основні конкуренти даного сімейства є мікропроцесори DSP56xxx (Motorola) і TMS320C1x, TMS320C2xx, TMS320C5x (Texas Instruments).

Висока продуктивність процесорів на сигнальних алгоритми досягається завдяки багатофункціональної і гнучкою системі команд, апаратної реалізації більшості типових для даних додатків операцій, високого рівня паралелізму процесів в микропроцессоре, скорочення командного такту. Мікропроцесори ADSP21xx мають модифіковану Гарвардську архітектуру, у межах якої передбачається можливість доступу на згадку про команд, у її фізичному поділі з пам’яттю данных.

Кожен мікропроцесор сімейства містить три незалежних полнофункциональных устрою: АЛУ, МАС — умножитель з накопиченням, пристрій барабанного зсуву. Кожне пристрій безпосередньо оперує з 16-ти розрядними даними і відданість забезпечує апаратну підтримку обчислень з різної точностью.

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

Таймер/счетчик мікропроцесора забезпечує періодичну генерацію прерываний.

Послідовні порти (SPORTs) забезпечують послідовний інтерфейс із більшістю стандартних послідовних пристроїв, ні з апаратними засобами сжатия-восстановления даних, використовуючи Aі (- закони компандирования.

Порт інтерфейсу з хост-процессором дозволяє без додаткових интерфейсных схем взаємодіяти з головним мікропроцесором системи, в ролі якого не може використовувати як процесор даного сімейства, так і той мікропроцесор, наприклад Motorola 68 000 чи Intel 8051.

Мікропроцесор ADSP — 21msp5x відрізняється наявністю аналогового інтерфейсу, що дозволяє поєднувати аналогову і цифрову обробку. У склад интерфейсных коштів входять АЦП, ЦАП, цифровий і аналоговий фільтри, паралельний інтерфейс до процесорному ядру.

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

2.2 МІКРОПРОЦЕСОРИ КОМПАНІЇ MOTOROLA.

Сигнальні мікропроцесори компанії Motorola. Поділяються на сімейства 16- і 24-разрядных мікропроцесорів з фіксованою точкою — DSP — 560xx, — 561xx, — 563xx, -566xx, 568xx і мікропроцесори з плаваючою точкою — DSP — 960xx.

Розглянемо 24-х розрядні мікропроцесори з фіксованою точкою сімейства DSP 560xx. Ці мікропроцесори є першими представниками сигнальних мікропроцесорів компанії Motorola. Архітектура мікропроцесорів орієнтована на максимізацію пропускну здатність в додатках DSP з інтенсивним обміном даними. Це забезпечується завдяки розширюваної архітектурі зі складною вбудованої периферією і універсальної підсистемі ввода/вывода. Дані властивості, і навіть низька енергоспоживання мінімізують складність, вартість будівництва і терміни розробки прикладних систем на базі мікропроцесорів DSP56000/DSP56001.

Мікропроцесори працюють на частоті 33МГц і забезпечують продуктивність близько 16 MIPS, що дозволяє виконувати швидке перетворення Фур'є по 1024 отсчетам за 3,23мс.

Подальший розвиток сімейства мікропроцесорів ввозяться рамках концепції процесорного ядра, загального всім представників сімейства, до складу якої входять 24-разрядные мікропроцесори з фіксованою точкой.

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

2.3 МІКРОПРОЦЕСОРИ КОМПАНІЇ TEXAS INSTRUMENTS.

Сигнальні мікропроцесори компанії Texas Instruments поділяються на два класу: це процесори в обробці чисел з фіксованою точкою і процесори в обробці чисел з плаваючою точкою. Перший клас представлений трьома сімействами процесорів, базовими моделями яких є відповідно TMS320.10, .20, .50. Другий клас включає процесори TMS320.30,. 40, TMS320С80, які підтримують операції з плаваючою точкою і є мультипроцессорную систему, виконану одному кристалі, а сімейство TMS320C6x включає процесори і з фіксованою, і з плаваючою точкой.

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

Перерахуємо деякі мікропроцесори, оптимально підходящі нашій системы.

1.Микропроцессоры сімейства TMS320C1x.

Перший процесор сімейства — TMS320C10 був випущений у 1982 г. і завдяки ряду вдалих технічних рішень отримав широку распространенность.

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

TMS320C10 є 16-разрядным процесором. Його адресне простір становить 4K 16-разрядных слів пам’яті даних. Тривалість такту процесора становить 160−200 нс.

Арифметичні функції в процесорі реалізовані апаратно. Вона має апаратні умножители, пристрій зсуву, апаратну підтримку автоинкремента/декремента адресних регістрів данных.

З зовнішніми пристроями процесор взаємодіє через 8 16-разрядных портів ввода/вывода. Передбачено можливість зовнішнього прерывания.

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

2.Микропроцессоры сімейства TMS320C2x.

Мікропроцесори сімейства TMS320C2x мають анлогичную архітектуру, але мають підвищену продуктивністю і більше широкими функціональними можливостями. Усі процесори сімейства покоління може використати по 64K слів пам’яті програм, тож даних, мають 16 16-разрядных портів ввода/вывода і послідовний порт.

Процесорам сімейства TMS320C2x мають зокрема можливість використання зовнішнього контролера ПДП. Умножитель мікропроцесорів, крім операцій множення, дозволяє виконувати за такт спорудження в квадрат. У процесори включена апаратна підтримка кратного виконання команди, реалізований режим двоичной инверсно-косвенной адресації, готовий до ефективної реалізації перетворення Фурье.

2.4 ОБГРУНТУВАННЯ ОБРАНОГО ВАРИАНТА.

Після тривалої огляду микропроцесорных пристроїв, постало завдання вибору найбільш гідного мікропроцесора. Вирішення даної завдання було знайдено під час розгляду мікропроцесорів компанії Microchip. Для реалізації проекту прийнято рішення використовувати мікропроцесор компанії Microchip PIC16C711. Наведемо переваги використання цієї мікропроцесора в курсової роботі, і навіть загальні його характеристики.

PIC16C711 це дешевий, високопродуктивну, виготовлений по КМОП технології 8-битный микроконтроллер. У основу процесора покладено RISC архітектура, вона має поліпшені характеристики ядра, внутрішні і його зовнішні переривання. Пристрій має дві двунаправленных порту ввода/вывода, один у тому числі можна використовувати як вхід для аналого-цифрового перетворення, інший — як для ЦАП. Тактова частота становить 20MHz.

На малюнку 2.1 представлена структурна схема PIC16C711. Перерахуємо основні елементи схеми: АЛУ (ALU), де виконуються найпростіші арифметичні операції, і навіть логічні операції; акумулятор (W), де зберігаються дані результатів обчислень; регістр стану, у якому зберігаються прапори результатів операцій, і навіть біти вибору банку пам’яті; регістр непрямої адресації (FSR), з якого непрямим чином можна звертатися до ОЗУ; пам’ять (RAM), організована 8-битными спеціальними регістрами і регістрами загального призначення, робоча область користувача становить 68×8; 13-битный лічильник команд (Program Counter), молодші 8 біт приходять з регістру PCL, старші 5 з регістру PCLATH; ППЗУ (EPROM), становить 1K 14- бітних осередків пам’яті; стік 8-місячного уровневый, довжина слова 13- біт, під час переривання вміст лічильника команд зберігається у стік автоматично; два двунаправленных 8-битных порту Проте й У; 4-х канальний 8- бітний АЦП (A/D); лічильник Timer0.

[pic].

Рис. 2.1 — Структурна схема PIC16C711.

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

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

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

3 СИНТЕЗ ПРОЕКТОВАНОГО УСТРОЙСТВА.

Структурна схема типу реалізації ЦФ приведено на рис. 3.1. Параметри ланок ЦФ такі: параметри ланки [pic]: [pic]; параметри ланки [pic]: [pic]; параметри ланки [pic]: [pic].

[pic].

Рис. 3.1 — Структурна схема цифрового фильтра.

З цієї структури, і навіть коефіцієнтів, кожному за ланки складемо разностные уравнения:

1) перше звено:

[pic];

2) друге звено:

[pic];

3) третє звено:

[pic]. Результуюче разностное рівняння для цифрового фільтра матиме вид:

[pic].

4 РОЗРОБКА АЛГОРИТМУ ПРОГРАММЫ.

ПРОЕКТОВАНОГО УСТРОЙСТВА.

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

Начало.

Порт, А — вход.

Порт У — выход.

Запуск.

АЦП.

Обчислення разностного уравнения.

Выдача.

Результата.

На порт В.

Малюнок 4.1 — блок-схема роботи цифрового фильтра.

Маючи цю блок схему, почнемо ретельніше розглянути питання. Конфігурація портів і АЦП задається з документації запропонованої виробником. Ця документація містить приклади програм для настройки портів і АЦП. Обмовимо деякі аспекти цих програм стосовно нашому курсовому проекту. Контакти порту, А поставимо входами установкою бітов в регістрі TRISA. Дане умова необхідне здійснення аналого-цифровий обробки сигналу. Контакти порту У поставимо як вихідні скиданням бітов в регістрі TRISB. Для АЦП виберемо канал 0, тобто висновок мікропроцесора RA0. У PIC16C711 одне перетворення АЦП необхідний мінімальний інтервал часу 10Тad, де Тad =1,6 мкс вибирається програмно. Також як з найважливіших частин програми запуску АЦП є організація дозволу прерываний.

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

Прорахуємо кількість змінних, які входять у рівняння. Це кількість визначатиме необхідну кількість байт пам’яті. У нашому випадку вона становить 17. Цілком ймовірно, що коефіцієнти разностных рівнянь підібрані в такий спосіб, що множення перемінної ними буде розподілом на 2,4,8…, а війни операція виконується шляхом зсуву регістру вправо. Для зберігання проміжних даних сдвиговых операцій та операцій складання нам знадобляться додаткові осередки пам’яті у кількості 17. При початковому запуску програми або за скиданні мікропроцесорної системи все осередки пам’яті конче потрібно скинути в нуль.

На обробку даних АЦП потрібно, як вказувалося раніше, час. Щоб збільшити ефективність і якість системи, необхідно задля час прорахунку АЦП, замість простою й очікування системою результату прорахунку, зробити обчислення й без участі поточного значення відліку. Обчислення з участю поточного значення відліку мають здійснюватися невдовзі, однакову 10Tad.

Результат обчислення АЦП опрацьовуватиме програма прерывания.

З всіх вищенаведених міркувань, складемо остаточний алгоритм программы:

Початок 1.

Установка порту На COUNT-1 ввод.

Установка так порту У на Z=0 висновок нет.

0x17(W Скидання ADCON1.

W (COUNT 0xC1(W.

W (ADCON0 0x0C (W.

Розв’язати прерывание.

W (FSR.

АЦП.

Розв’язати глобальное.

Скидання INDF прерывание.

FSR + 1 Пуск АЦП.

1 2.

2 3.

Обчислення А11UM1с сіхОбчислення пораненням знаA32YN2YK2= чения =A32(YN2+YK2) зі збереженням значення Обчислення B11YN1 з сіхпораненням знаОбчислення чения B31YL1.

Вычисление.

В12YN2.

ВычислениеYLL.

= A31YN1YK1+.

Обчислення + A32YN2YK2- YNN=А11UM1- - B31YL1 з сіх- - B11YN1- пораненням зна- - В12YN2 з сохнувчения пораненням значения.

Обчислення YK1 (W A21UM1 з сіхпораненням значения.

Обчислення W (YK2.

B21YK1.

Вычисление YK (W YK=А21UM1- - B21YK1 з сохнувпораненням значения.

W (YK1.

Обчислення A31YN1YK1 = =A31(YN1+YK1) Обчислення зі збереженням A10UM значения.

3 4.

4 6 5.

Вычисление YN =A10UM+ UM (W.

+YNN зі збереженням значения.

W (UM1 Обчислення YL=A30(YN+ +YK)+YLL зі збереженням значения.

ОСТАНОВ.

Передача значчения YL на порт B.

YN1 (W.

W (YN2.

YN (W.

W (YN1.

YL (W.

Малюнок 4.2 — Алгоритм програми проектируемого.

устройства.

5 РОЗРОБКА ПРОГРАМИ НА МОВІ АССЕМБЛЕР.

Перш ніж розпочати написання програми необхідно врахувати специфікацію ПЗУ микроконтроллера. Організація ПЗУ зображено малюнку 5.1.

[pic].

Малюнок 5.1 — Організація ПЗУ PIC16C71.

З малюнка видно, що початок програми користувача то, можливо розміщено нижче адреси 0004h. Адреса 0000h — вектор скидання, 0004h — вектор переривання. За цією адресами до початку програмування, зазвичай, прописують безумовний перехід на програму користувача і безумовний перехід на програму обробки переривання відповідно. Позаяк у разі нашої системи пристрій, яке здійснює запит переривання, лише те по адресою 0004h можна прописувати початок програми обробки прерывания.

Також при програмуванні обов’язково слід врахувати специфікацію банків ОЗУ. Структура ОЗУ зображено на малюнку 5. При зверненні до регістрам ОЗУ щоразу необхідно програмно переключатися між банками ОЗУ, залежно від цього що не банку перебуває регістр. Асемблер, поставлений виробником, дозволяє спочатку всім регістрам привласнити замість адреси певне ім'я. Це зручно упорядкування программы.

[pic].

Малюнок 5.2 — Організація ОЗУ PIC16C711.

Спочатку напишемо програму обробки переривання. Занесемо програму таблицю — 1 з адресами ПЗУ і комментариями.

Таблиця 5.1 |Адрес|Метка|Мнемонический код |Коментарі |Цикли | | | |ORG 0×004 |Директива | | |0004h| |MOVWF W_TEMP |Збереження вмісту W |1 | | | | |в W_TEMP | | |0005h| |MOVF STATUS, 0 |Пересилання вмісту |1 | | | | |STATUS в W | | |0006h| |MOVWF STATUS_TEMP |Збереження W в STATUS |1 | | | | |_TEMP | | |Продовження таблиці 5.1 | |0007h| |BCF STATUS, RP0 |Вибір банку 0 |1 | |0008h| |MOVF ADRES, 0 |Пересилання результату АЦП |1 | | | | |в W | | |0009h| |MOVWF UM |Пересилання W в UM | | |000Ah| |MOVF STATUS_TEMP, |Пересилання STATUS_TEMP в W|1 | | | |0 | | | |000Bh| |MOVWF STATUS |Пересилання W в STATUS |1 | |000Ch| |MOVF W_TEMP, 0 |Пересилання W_TEMP в W |1 | |000Dh| |RETFIE |Повернення переривання |2 |.

Програму, реалізуючу математичну модель фільтра розпочнемо з адреси 000Eh і розмістимо в таблицю 5, 2.

Таблиця 5.2 |Адрес|Метка|Мнемонический код |Коментарі |Цикли | | | |ORG 0×00E |Директива | | |000Eh| |MOVLW 0xFF |Пересилання 0xFF в |1 | | | | |акумулятор | | |000Fh| |BSF STATUS, RP0 |Вибір банку 1 |1 | |0010h| |MOVWF TRISA |Порт, А — Вхід |1 | |0011h| |CLRF TRISB |Порт У — Вихід |1 | |0012h| |MOVLW 0×18 |Організація лічильника |1 | | | | |СOUNT | | | | |BCF STATUS, RP0 |Вибір банку 0 |1 | |0013h| | | | | |0014h| |MOVWF COUNT |Організація лічильника |1 | |0015h| |MOVLW 0x0C |Адреса початковій осередки в |1 | | | | |ОЗУ | | |0016h| |MOVWF FSR |Пересилання адреси |1 | | | | |початковій осередки в FSR | | |0017h|M1: |CLRF INDF |Обнуління поточної осередки |1 | | | | |пам'яті | | |0018h| |INCF FSR, 1 |Адреса + 1 |1 | |0019h| |DECF COUNT |Лічильник — 1 |1 | |001Ah| |BTFSS STATUS, Z |Умовний перехід по 1 |1(2) | | | | |значенням прапора нульового | | | | | |результату | | |001Bh| |GOTO M1 | |2 | |001Ch|M2: |BSF STATUS, RP0 |Вибір банку 1 |1 | |001Dh| |CLRF ADCON1 |RA0-RA3 Входи АЦП |1 | |001Eh| |MOVLW 0xC1 | |1 | |001Fh| |BCF STATUS, RP0 |Вибір банку 0 |1 | |0020h| |MOVWF ADCON0 |АЦП включений, працює |1 | | | | |канал0 (RA0), частота | | | | | |32Tosc. | | |0021h| |BSF INTCON ADIE |Розв'язати переривання АЦП |1 | |0022h| |BSF INTCON GIE |Розв'язати глобальне |1 | | | | |переривання | | |0023h| |BSF ADCON0, GO |Запустити АЦП |1 | |0024h| |BCF STATUS, З |Очищення триггера переноса|1 | |0025h| |RRF UM1, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0026h| |BCF STATUS, З |Очищення триггера переноса|1 | |0027h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0028h| |MOVWF A11UM1 |W (A11UM1 |1 | |0029h| |BCF STATUS, З |Очищення триггера переноса|1 | |002Ah| |RRF YN1, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |002Bh| |BCF STATUS, З |Очищення триггера переноса|1 | |002Ch| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |002Dh| |BCF STATUS, З |Очищення триггера переноса|1 | |002Eh| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |Продовження таблиці 5.2 | |002Fh| |BCF STATUS, З | |1 | |0030h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0031h| |MOVWF B11YN1 |W (B11YN1 |1 | |0032h| |BCF STATUS, З |Очищення триггера переноса|1 | |0033h| |RRF YN1, 0 |Циклічний зрушення вправо | | | | | |через тригер перенесення | | |0034h| |ADDWF W, 0 |W=W+W |1 | |0035h| |ADDWF W, 0 |W=W+W |1 | |0036h| |ADDWF B11YN1 |W=W+ B11YN1 |1 | |0037h| |SUBWF A11UM1, 0 |W= A11UM1- W |1 | |0038h| |MOVWF YNN |W (YNN |1 | |0039h| |BCF STATUS, З |Очищення триггера переноса|1 | |003Ah| |RRF UM1, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |003Bh| |MOVWF A21UM1 |W (A21UM1 |1 | |003Ch| |BCF STATUS, З |Очищення триггера переноса|1 | |003Dh| |RRF YK1, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |003Eh| |BCF STATUS, З |Очищення триггера переноса|1 | |003Fh| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0040h| |BCF STATUS, З |Очищення триггера переноса|1 | |0041h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0042h| |SUBWF A21UM1, 0 |W= A21UM1- W |1 | |0043h| |MOVWF YK |W (YK |1 | |0044h| |MOVF YN1, 0 |YN1(W |1 | |0045h| |ADDWF YK1 |W=W+ YK1 |1 | |0046h| |BCF STATUS, З |Очищення триггера переноса|1 | |0047h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0048h| |BCF STATUS, З |Очищення триггера переноса|1 | |0049h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |004Ah| |BCF STATUS, З |Очищення триггера переноса|1 | |004Bh| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |004Ch| |BCF STATUS, З |Очищення триггера переноса|1 | |004Dh| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |004Eh| |MOVWF A31YN1YK1 |W (A31YN1YK1 |1 | |004Fh| |MOVF YN2, 0 |YN2(W |1 | |0050h| |ADDWF YK2 |W=W+ YK2 |1 | |0051h| |BCF STATUS, З |Очищення триггера переноса|1 | |0052h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0053h| |BCF STATUS, З |Очищення триггера переноса|1 | |0054h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0055h| |BCF STATUS, З |Очищення триггера переноса|1 | |0056h| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0057h| |MOVWF A32YN2YK2 |W (A32YN2YK2 |1 | |0058h| |BCF STATUS, З |Очищення триггера переноса|1 | |0059h| |RRF YL1, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |Продовження таблиці 5.2 | |005Ah| |ADDWF W, 0 |W=W+W |1 | |005Bh| |ADDWF W, 0 |W=W+W |1 | |005Ch| |SUBWF A32YN2YK2, 0|W= A32YN2YK2- W |1 | |005Dh| |ADDWF A31YN1YK1 |W=W+ A31YN1YK1 |1 | |005Eh| |MOVWF YLL |W (YLL |1 | |005Fh| |BCF STATUS, З |Очищення триггера переноса|1 | |0060h| |NOP |Не виконувати |1 | |0061h| |NOP | |1 | |0062h| |NOP | |1 | |0063h| |NOP | |1 | |0064h| |NOP | |1 | |0065h| |NOP | |1 | |0066h| |NOP | |1 | |0067h| |NOP | |1 | |0068h| |NOP | |1 | |0069h| |NOP | |1 | |006Ah| |NOP | |1 | |006Bh| |NOP | |1 | |006Ch| |NOP | |1 | |006Dh| |NOP | |1 | |006Eh| |NOP | |1 | |006Fh| |NOP | |1 | |0070h| |NOP | |1 | |0071h| |NOP | |1 | |0072h| |NOP | |1 | |0073h| |NOP | |1 | |0074h| |MOVF YK1, 0 |YK1(W |1 | |0075h| |MOVWF YK2 |W (YK2 |1 | |0076h| |MOVF YK, 0 |YK (W |1 | |0077h| |MOVWF YK1 |W (YK1 |1 | |0078h| |RRF UM, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |0079h| |ADDWF YNN |W=W+ YNN |1 | |007Ah| |MOVWF YN |W (YN |1 | |007Bh| |ADDWF YK |W=W+ YK |1 | |007Ch| |BCF STATUS, З |Очищення триггера переноса|1 | |007Dh| |RRF W, 0 |Циклічний зрушення вправо |1 | | | | |через тригер перенесення | | |007Eh| |ADDWF W, 0 |W=W+W |1 | |007Fh| |ADDWF YLL |W=W+ YLL |1 | |0080h| |MOVWF YL |W (YL |1 | |0081h| |MOVWF PORTB |W (PORTB |1 | |0082h| |MOVF YN1, 0 |YN1(W |1 | |0083h| |MOVWF YN2 |W (YN2 |1 | |0084h| |MOVF YN, 0 |YN (W |1 | |0085h| |MOVWF YN1 |W (YN1 |1 | |0086h| |MOVF YL, 0 |YL (W |1 | |0087h| |MOVWF YL1 |W (YL1 |1 | |0088h| |MOVF UM, 0 |UM (W |1 | |0089h| |MOVWF UM1 |W (UM1 |1 | |008Ah| |GOTO M2 |Безумовний перехід на |1 | | | | |мітку | | | |END | | | |Усього разом із програмою обробки переривання |283 |.

Час виконання програми 56 мкс.

Операції NOP призначені для синхронізації роботи АЦП з програмою. Також цієї мети було додано 4 команди перед операціями над поточним значенням відліку. У складеному алгоритмі дані корекції небилиці передбачені. Час виконання програми, реалізує цифровий фільтр, одно 49 мкс. Інтервал дискретизації сигналу дорівнює 24,6 мкс, відповідно частота дискретизації дорівнює 41 000Гц. У конкурсній програмі використовуються два переходу: один для скасування ОЗУ, інший — для повернення програми цього разу місце запуску АЦП. З використанням найсучасніших PIC процесорів можливо виняток операцій NOP.

6 РОЗРОБКА І ОПИС ПРИНЦИПИАЛЬНОЙ.

СХЕМЫ.

Для технічної реалізації ЦФ необхідні такі элементы:

— процессор;

— ЦАП;

— Блок харчування від мережі 220 У, 50 Гц.

Опис процесора: Основним блоком ЦФ є процесор PIC16C711 (рис. 6.1). Наведемо коротку характеристику цікавлять для даного завдання висновків процесора. RA4/RTCC — Вхід через тригер Шміта. Ніжка порту ввода/вывода з відкритою стоком чи вхід частоти для таймера/счетчика RTCC. RA0/AIN0 — Двунаправленная лінія ввода/вывода. Аналоговий вхід каналу 0. Як цифровий вхід має рівні ТТЛ. RA1/AIN1 — Двунаправленная лінія ввода/вывода. Аналоговий вхід каналу 1. Як цифровий вхід має рівні ТТЛ. RA2/AIN2 — Двунаправленная лінія ввода/вывода.Аналоговый вхід каналу 2. Як цифровий вхід має рівні ТТЛ. RA3/AIN3/Vref — Двунаправленная лінія ввода/вывода. Аналоговий вхід каналу 3. Як цифровий вхід має рівні ТТЛ. RB0/INT — Двунаправленная лінія порту виведення чи зовнішній вхід переривання. Рівні ТТЛ. RB1 — RB5 — Двунаправленные лінії введення/ виведення. Рівні ТТЛ. RB6 — Двунаправленные лінії введення/ виведення. Рівні ТТЛ. RB7 — Двунаправленные лінії введення/ виведення. Рівні ТТЛ. /MCLR/Vpp — Низький рівень у цьому вході генерує сигнал скидання для контролера. Активний низький. Вхід через тригер Шмітта. OSC1 — Для підключення кварцу, RC чи вхід зовнішньої тактовою частоти. OSC2 /CLKOUT — Генератор, вихід тактовою частоти як RC генератора, в інших випадках — для підключення кварцу. Vdd — Напруга харчування. Vss — Загальний (земля).

RA2/AIN2 1 18 RA1/AIN1.

RA3/AIN3/Vref RA0/AIN0.

RA4/RTCC OSC1/CLKIN.

/MCLR/Vpp OSC2/CLKOUT.

Vss PIC16C711 Vdd.

RB0/INT RB7.

RB1 RB6.

RB2 RB5.

RB3 9 10 RB4.

Малюнок 6.1 — Висновки процесора PIC16C711.

Опис ЦАП: Як ЦАП використовується мікросхема фірми Analog Devices AD7302. Цей ЦАП має такі основні характеристики: AD7302 подвійний, 8-битный ЦАП, який працює від однополярного джерела харчування з напругою +2.7 — +5.5 У. AD7302 має інтерфейс, сумісний паралельним виходом мікропроцесорів та на цифрових сигнальних процесорів (DSP). Інтерфейс має високошвидкісними регістрами і подвійний буферизированной логікою. Дані завантажуються при підвищеному рівні на CS чи WR. З допомогою пина ~A/B вибирають який із 2 вбудованих ЦАП буде використовуватися. Наведемо коротку характеристику цікавлять для даного завдання висновків ЦАП. D7-D0 — Паралельні інформаційні входи. 8-битные дані загружаються у вхідний регістр AD7302 під керівництвом CS і WR. CS — Вибір кристала. Активний низкоуровневый логічний введення. WR — Введення записи. Активний низкоуровневый логічний введення. Используеться разом CS і A/B, щоб писати дані в регістр обраного ЦАП. A/B — Вибір ЦАП. PD — Активний низкоуровневый введення, використовуваний до переходу в режим споживання малої потужності. LDAC — Логічний введення завантаження ЦАП. Коли цей введення подаеться низький рівень, обидва ЦАП одночасно оновлюються відносини із своїми регістрами. CLR — Асинхронний вхід скидання. Коли нею подаеться низький рівень, все регістри ЦАП обнуляються і вихід напруга не надходить. Vdd — Напруга харчування. REFIN — Зовнішній введення посилання. Може використовувати як посилання обох ЦАП. Діапазон цього введення 1 У — Vdd/2. AGND — Земля для аналогової частини мікросхеми. VoutB — Аналоговий висновок ЦАП B. VoutA — Аналоговий висновок ЦАП А. DGND — Земля для цифровий частини схемы.

DB7 1 20 DGND.

DB6 VoutA.

DB5 VoutB.

DB4 AGND.

DB3 AD7302 REFIN.

DB2 Vdd.

DB1 CLR.

DB0 LDAK.

CS PD.

WR 10 11 A/B.

Малюнок 6.2 — Висновки ЦАП AD7302.

Блок харчування від мережі 220 У, 50 гц: На малюнку 6.3 приведено проста схема блоку харчування на 3 У (струм в нагрузкеке 200 мАЛО) з автоматичними електронної захистом від перевантаження (Iз = 250 мАЛО). Рівень пульсації вихідного напруги вбирається у 1 мВ. В схемою в ролі джерела опорного напруги використовується світлодіод HL1. Трансформатор Т1 можна купити з уніфікованої серії ТН будь-який, але краще використовувати самі малогабаритні ТИ1−127/220−50 чи ТН2−127/220−50. Підійдуть ще й багатьох інших типи трансформаторів з повторною обмоткою на 5…6 У. Конденсатори С1… СЗ типу К50−35. Схема використовує інтегральний стабілізатор DA1, для нормальної роботи мікросхеми необхідно, щоб вхідний напруга перевищувало вихідний щонайменше ніж 3,5 У. Це знижує ККД стабілізатора з допомогою тепловыделения на мікросхемі — за низького вихідному напрузі потужність, теряемая у блоці харчування, перевищуватиме що віддається на додачу. Необхідна вихідний напруга встановлюється подстроечным резистором R2. Мікросхема встановлюється на радиатор.

[pic].

Малюнок 6.2 — Схема генератора.

ВЫВОД.

Спроектована система є дуже простий. Схема електрична принципова створювалася на ПК з допомогою пакета ACCEL. З допомогою утиліт, які входять у даний пакет, можна навести трассировку друкованої плати по готової схемою електричної принципової і довести проект до готового изделия.

За результатами курсового проекту можна оцінити похибки пов’язані з оцифровкой сигналу. Основну похибка вноситиме обмежена вісьмома розрядами шина АЦП, що більше рівнів квантування — краще. Також, через відсутність операцій із плаваючою точкою, розподіл на два непарних чисел даватиме неточний результат.

Для оцифровки аналогових сигналів мало виконуватися умова [pic]. На практике[pic] і від підвищення якості переданого сигналу. Спектр мовного сигналу якісної телефонії становить 0,3 — 3,4 кГц в відповідність до встановленим міжнародним стандартом. Цифровим фільтр, спроектований під час курсової роботи, відповідає вимогам обробки як сигналів якісної промови, а й сигналів з верхньої частотою спектра 15.20кГц (музика, канали ШК і т.д.).

1. Калабеков Б. А. Мікропроцесори та їх застосування в системах передачі й обробки сигналів: Учеб. Посібник для вузів. — М.:

Радіо і зв’язок, 1988. — 368с.: мул. 2. Корнєєв У. У., Кисельов А. У. Сучасні мікропроцесори. — М.:НОЛИДЖ,.

1998. — 240 з.; мул. 3. MICROCHIP PIC16/17 MICROCONTROLLER DATA BOOK. 4. Документація на CD, яку поставляють компанією MICROCHIP.

———————————- Um.

[pic].

[pic].

[pic].

Показати весь текст
Заповнити форму поточною роботою