Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

2. Програмна реалізація та симуляція в Algorithm Builder 10



Зміст

Вступ3

1. Аналіз змісту задачі5

2. Програмна реалізація та симуляція в Algorithm Builder10

3. Моделювання пристрою у системі VMLab та аналіз його результатів15

Висновки18

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

Додаток А

Додаток Б


 

Вступ

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

- Універсальність, так як вони дозволяють генерувати аналоговий сигнал будь-якої форми.

- Відсутність обмеження по мінімальній частоті сигналу.

- Висока стабільність роботи.

- Стабільність параметрів вихідного сигналу.

- Висока точність

- Зручність налаштування.

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

Можливість побудови цифрового генератора з’явилась з появою першої мікропроцесорної техніки, тобто в другій половині ХХ-го століття. Головною рисою такої техніки стала програмованість алгоритму дій, які представлені у списку команд. Вперше ідеї побудови цифро­вих автоматів, здатних сприймати вхідні сигнали як ознаки команд програми, висунули у 1936 році практично одночасно англієць А.М.Тьюрінг та американець Е.Х.Пост. В їхніх гіпотетичних маши­нах вхідні сигнали та команди програми уявлялися мітками у клітин­ках нескінченної стрічки, яка пересовувалася у обидва боки, а авто­мат міг ставити у клітини свої мітки - вихідні сигнали, що одночасно ставали вхідними.

Перша реальна структура програмованої машини була створена 1944 року в Гарвардському університеті (США), а структура, що мо­же вважатися традиційною, розроблена в 1945 році американським математиком Джо фон Нейманом. Такі цифрові автомати тоді створювалися виключно для виконання обчислень, через що і отримали назву "Електронні обчислювальні машини". Їх основою є особливий цифровий пристрій - процесор. В основу побудови таких машин були покладені релейні, а трохи пізніше, лампові зразки. Це зробило неможливим широке впровадження таких технологій через велике споживання енергії та занадто велику ціну таких машин.

Принциповий етап у розвитку процесорів відбувся в США, коли в 1971 році фірмою Intel було створено перший його варіант в інтегра­льному виконанні - мікропроцесор. Це дозволило не тільки спрости­ти побудову ЕОМ та підвищити її надійність, але й застосувати мік­ропроцесор для виконання задач керування різноманітним обладнан­ням, а в радіоелектронній апаратурі - перекласти на нього ряд задач аналізу сигналів, що традиційно розв'язувалися доволі складними пристроями з жорсткою логікою. З цього часу почався етап бурхли­вого розвитку тепер уже мікропроцесорних пристроїв.




 

1 Аналіз змісту задачі

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

Завданням курсової роботи було розробити генератор відліків синусоїдальної напруги з оцінкою частоти відносно опорної. Кількість дискрет в одному періоді коливань 256. Мікроконтроллер буде використовуватися із зовнішнім тактуванням, що визначає частоту формуємого сигналу, яка вираховується відносно вхідних імпульсів опорної частоти 100 Гц, але у моделі пристою тактування від внутрішнього генератора. Індикація частоти коливань у вигляді чотирьох цифр з комою. Темп індикації близько 1с.

Для виконання курсової роботи було обрано мікроконтроллер ATMega8535. У якості цифро-аналогового перетворювача (ЦАП) було використано R-2R мартицю.

Особливості мікроконтроллера ATMega8535:

· Висока продуктивність при малому споживанні;

· Розвинута RISC архітектура:

•130 - команд, більшість виконуються за один машинний такт;

•32x8 робочих регістра загального призначення;

• Повністю статичний режим;

•До 16 MIPS продуктивність при 16 МГц. Вбудований 2-х тактний помножувач;

· Незалежна пам'ять програм і пам'ять даних:

•8Кбайтів FLASH пам'яті програм з внутрішньосистемним самопрограмування;

• 10000 циклів запису-стирання;

• Завантажувальна область пам'яті з незалежними ключовими бітами;

• 512 байтів EEPROM;

• 100 000 циклів запису-стирання;

• 512 байтів внутрішньої SRAM;

• Програмований ключ доступу до програм і пам'яті даних;

· Периферія:

• Два 8 - бітових таймера;

•Один 16 бітний таймер;

•Лічильник реального часу з програмованим генератором;

•Чотири ШІМ генератора:

•8 канальний, 10 - бітний АЦП 8 простих уніполярних входів;

•7 диференціальних входів (тільки для TQFP);

•2 диференціальних входів з програмованим посиленням (x1, x10, x200) (тільки для TQFP);

•Байт орієнтований двопровідний інтерфейс;

•Програмований послідовний USART;

•Master / Slave SPI;

•Вбудований аналоговий компаратор;

•Програмований Watchdog з переключуємими генераторами;

•Спеціальні функції контролера.

• Reset при включенні і зниженні напруги живлення;

• Зовнішні та внутрішні джерела переривання;

• Внутрішній калібрований RC генератор;

• Шість режимів енергозбереження: Idle, придушення шуму АЦП, економічний, Вимк., очікування і розширений режим очікування;

· 40 - вивідний корпус PDIP, 44-вивідний TQFP, 44-х PLCC, і 44-х MLF;

· 32 програмованих входу-виходу;

· Робоча напруга живлення: 4.5 В до 5.5 В;

· Робоча тактова частота: 0-16 МГЦ.

 

Для отримання на виході мікроконтроллера синусоїдального сигналу можна обрати два принципово різні шляхи:

- запис дискретних значень для побудови синусоїди в пам'ять контролера

- обчислення значень для побудови синусоїди з певного арифметичного виразу.

Перший спосіб дає більшу швидкодію, але його мінусом є те, що використовуються пам'ять, яка в мікроконтроллерах досить лімітована. Другий дає меншу швидкодію, але майже не використовує постійну пам'ять контролера.

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

Для побудови синусоїди потрібно вивести на один із портів контролера дискретне значення її в даний момент часу і подати на ЦАП який перетворить в конкретне значення струму.

Множина резисторів включених між двома напругами називається матрицею послідовних резисторів. Резистори являють собою дільники напруги між напругами порівняння. Матрицю R-2R використовують тоді, коли необхідно швидко перетворити велику кількість дискретних значень. Вона являє собою каскад резистивних елементів з’єднаних, як показано на рисунку 1.

Рис. 1

При цьому опір резисторів не має великого значення, вони можуть бути будь-якого номіналу, але номінал резисторів, позначених, як 2R повинен бути в два рази більшим за номінал резисторів R. Якщо всі ключі знаходяться в положенні «0» - то вихідна напруга також дорівнює нулю. Якщо, наприклад, ключ нульового розряду встановлений у положення «1», а всі інші в положення «0» - то:

Uвих=V*1/16

 

Якщо ключ першого розряду встановлений у положення «1», а всі інші в положення «0» - то:

Uвих=V*1/8

 

і т.д. В загальному випадку для 4-ьох бітних дискретних значень отримаємо:

 

Uвих=V*(A0*1/16+ A1*1/8+ A2*1/4+A3*1/2)

 

Аналогічним способом можна побудувати ЦАП для 8, 10,12 та взагалі n-бітний ЦАП.

 

Uвих=V*∑(Ai*1/2n-i),

 

де і-номер розряду, Ai - відкриті(1) або закриті(0) ключі, сума шукається з інтервалом:

D=V/2n

де n- загальне число розрядів.

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

Один з портів мікроконтроллера буде задіяний для виводу значення частоти синусоїди на індикатор, ще один – на програмування та подачу опорних імпульсів. Період коливань пов’язаний з 10-розрядним кодом внутрішнього АЦП за виразом: Tп=Код+100=210+100=1123(мкс). Таким чином, поріг значень періоду встановлений від 100 мкс до 1123 мкс. Для розробки курсової роботи необхідне наступне програмне забезпечення:

- Algorithm Builder (програмування та симуляція мікроконтроллера).

-VMLab (моделювання пристрою та дослідження роботи).

 

Згідно принципової схеми пристрою, яка міститься в Додатку А, можна побачити, що до лапок XTAL1 i XTAL2 мікропроцесора підключено два конденсатори та кварц. Ці елементи утворюють кварцовий резонатор, що призначений для задавання керуючої частоти для мікроконтролера. Конденсатори в цій ланці слугують для забезпечення стабільної роботи тактового генератора. Чим більшим є їхня ємність – тим стабільніша система, але так знижується час запуску генератора. Конденсатори можна застосовувати лише при частотах тактового генератора частоти менше 1 МГц. Також важливою їхньою функцією є захист кварцу від запуску на паразитних гармоніках. Якщо ємність конденсаторів буде занадто велика – генератор може не запуститись. Ємність краще вибирати з значень, що зазначенні у описанні мікроконтролера, що застосовується.


 

2 Програмна реалізація та симуляція в Algorithm Builder

" Algorithm Builder" – це графічна середа розробки програмного забезпечення для мікроконтролерів з архітектурою AVR.

Перевагами даного програмного продукту є:

- Спрощення програмування режиму роботи пристроїв ОМК;

- Оперативне тестування программ шляхом симуляції;

- Написання програм у вигляді блок-схем.

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

Вивід

Налаштування переривань та таймерів

Запис значень у SRAM

Задання початкових значень змінних

налаштування портів

 

Рис. 2

На рисунку 2 зображено основну програму. В ній виконується налаштування портів на вхід\вихід, обнуління та задання початкових значень змінним, перезапис значень з постійної пам’яті в SRAM, налаштування переривань та таймеру, вивід значень частоти на індикатор.

 

 

Рис. 3

 

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

 

Перерахунок частоти через частоту прямокутного опорного імпульсу

Зсув на 4 тетради по регістру rez

Рис. 4

 

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

Збільшення змінної

Розрахунок адреси

Видача значення у Порт С

Рис.5

 

На рисунку 5 зображено підпрограму, що виконує видачу дискретних значень синосоїди у порт С згідно адреси. До порту С підключено ЦАП, у вигляді R-2R матриці.

Видача значень у порт

Видача значень у порт

Видача значень у порт

Видача значень у порт

Гасіння індикатора

Гасіння індикатора

Гасіння індикатора

Гасіння індикатора

Рис.6

 

На рисунку 6 показано підпрограму, в якій реалізовано динамічне виведення частоти на індикатор.

 

Встановлення порогу для паузи

Зменшення заданого порогу до 0

Рис.7

Підпрограма, зображена на рисунку 7 служить для затримки виведеного значення на екрані індикатора.

Визначення десятків

Визначення сотень

Визначення одиниць

Визначення тисяч

Рис.8

 

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


 

 

3 Моделювання пристрою у системі VMLab та аналіз його результатів

Створена програма у Algorithm Builder була змодельована у системі VMLab.

 

Рис.9

 

На рисунку 9 показано робоче вікно програми VMLab з змодельованою на ATmega8535 програмою. На вікні моделі осцилографа видно тактові імпульси на вході VD2(INT0) та синусоїду, що являє собою сигнал на виході R2-R матриці. Такод видно індикатор, але через динамічну індикацію не можна побачити всіх значень одночасно, через те, що значення виводяться на індикатор почергово. При реальній побудові пристрою частота перемикань значень буде досить великою для того, що б не помітити її і можна буде спостерігати одночасно усі 3 розряди.

Рис.10

 

На рисунку 10 показано код проекту з середовища VMLab в якому здійснюється підключення елементів схеми генератора.

V1 pd2 VSS PULSE(0 5 1m 0 0 3m 10m) – задання прямокутних імпульсів на вхід pd2(int0) порту D який слугує для тактування генератора.

X9 D2A8 pc7 pc6 pc5 pc4 pc3 pc2 pc1 pc0 out – підключення матриці R2R до лапок pc7 pc6 pc5 pc4 pc3 pc2 pc1 pc0 порту C.

.plot v(pd2) v(out) – виводить синусоїду

 

 

X1 _led7cc pb0 pb1 pb2 pb3 pb4 pb5 pb6 pb7 pa4 - вивід на індикатор 1 з Порту B, при дозволі з Порту А 4;

X2 _led7cc pb0 pb1 pb2 pb3 pb4 pb5 pb6 pb7 pa5 pa4 - вивід на індикатор 2 з Порту B, при дозволі з Порту А 5;

X3 _led7cc pb0 pb1 pb2 pb3 pb4 pb5 pb6 pb7 pa6 pa4 - вивід на індикатор 3 з Порту B, при дозволі з Порту А 6;

X4 _led7cc pb0 pb1 pb2 pb3 pb4 pb5 pb6 pb7 pa7 pa4 - вивід на індикатор 4 з Порту B, при дозволі з Порту А 7;

 

Інші параметри, прописані раніше даного коду генеруються в процесі створення проекту. Також підключено файл програми з середовища Algorithm Builder.

При моделюванні побудова тактуючих імпульсів виконувалася таким чином, що б їх частота дорівнювала 100 Гц.

 


 

ВИСНОВКИ

 

Під час виконання курсового проекту було досліджено особливості AVR мікроконтроллера ATMega 8535. На його основі було розроблено генератор відліків синусоїдальної напруги з регулюванням частоти відносно опорної. Було побудовано принципову схему генератора. На основі розробленої схеми пристрою, було створено програму у середовищі Algorithm Builder. Потім, було змодельовано проект у середовищі VMLab, який показав, що принципова схема пристрою та код програми, написаний у Algorithm Builder, працездатні. Було досліджено отримані результати за допомогою моделі осцилографа та індикаторного пристрою.

Тому, можна дійти висновку, що даний пристрій задовольняє завдання на дану курсову роботу. Дякую за увагу.


 

ЛІТЕРАТУРА

 

1. О.О. Панчук, Ю.О. Смолянець, М.Г. Хливнюк Цифрові пристрої та мікропроцесори; За ред. М.Ф. Пічугіна: ЖВІРЕ, 2006

2. Цифрові пристрої та мікропроцесори: Завдання на лабораторні роботи і методичні рекомендаціїї до їх виконання. Частина 3/розроб. О.О. Панчук, І.А.Іщенко – Житомир: ЖВІ НАУ, 2008р.

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

4. http://www.algrom.net

5. http://www.amctools.com

6. http://www.radiohlam.com

7. http://www.wikipedia.com

 


Дата добавления: 2015-09-29; просмотров: 38 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Жураковскую Александру | Кто такой блоггер или как блог изменил мою жизнь?!

mybiblioteka.su - 2015-2024 год. (0.03 сек.)