logo
Мікропроцесорний пристрій збору, обробки та відображення інформації

СПИСОК УМОВНИХ СКОРОЧЕНЬ ТА ПОЗНАЧЕНЬ

АЦП

-

Аналого-цифровий перетворювач

ЕОМ

-

Електронно-обчислювальна машина

КМОН

-

Комплементарний метал-оксидний-напівпровідник

КП

-

Курсовий проект

МК

-

Мікроконтролер

МПС

-

Мікропроцесорна система

ОП

-

Операційний підсилювач

РКІ

-

Рідкокристалічний індикатор

ЦАП

-

Цифро-аналоговий перетворювач

ВСТУП

Даний курсовий проект (КП) виконано згідно з навчальним планом по дисципліні «Мікропроцесорні пристрої і системи». Він має на меті виконання наступних завдань: а) систематизація, закріплення та розширення теоретичних знань при вирішенні конкретних технічних задач, б) розвиток навичок самостійної роботи з технічною літературою; в) здобуття творчих навичок при самостійному вирішенні конкретних технічних задач; г) підготовка до дипломного проектування.

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

У даний час розповсюджена така методологія, при якій весь цикл розробки мікроконтролера поділяють на три фази:

1) аналіз задачі і вибір апаратних засобів;

2) розробка прикладного програмного забезпечення;

3) комплексування апаратних засобів і програмного забезпечення;

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

Курсовий проект складається з пояснювальної записки на 30 сторінках і графічної частини, що містить один аркуш формату А3 та один - формату А4.

1 ВИБІР ТА ОБГРУНТУВАННЯ СТРУКТУРНОЇ СХЕМИ ПРИСТРОЮ

1.1 Організація показань із давачів

Щоб організувати знімання показань з диференційних давачів, до кожного з них необхідно підключити операційний підсилювач (ОП). Це - диференційний підсилювач постійного струму, який в ідеалі має нескінченний коефіцієнт підсилення за напругою і нульову вихідну напругу за відсутністю сигналу на вході, великий вхідний опір і малий вихідний, а також необмежену смугу частот сигналів, що підсилюються. На рис. 1.1 наведена схема диференційного підсилювача на базі ОП.

Рисунок 1.1 - Схема диференційного підсилювача

Його вихідна напруга дорівнює:

Uвих= (R2 /R1) · (U2 - U1)= (R2 /R1) · Umax

Оскільки для подальшої подачі на АЦП вихідна напруга має бути 5 В, а вхідна (Umax), що дорівнює різниці вхідних напруг U2 та U1, становить 3В, то коефіцієнт підсилення K= R2 /R1=5/3=1,67.

Звідси приймемо, що R1=1 кОм, а R2=1,67 кОм.

Саме на цьому виході отримаємо необхідний нормований сигнал. Використаємо ОП типу К1401УД2Б, що містить в одному корпусі чотири операційних підсилювача. Для обробки даних з восьми давачів необхідно взяти два таких підсилювача.

1.2 Мікроконтролер

Наступним елементом, який необхідно включити в схему буде мікроконтролер (МК).

Мікроконтролер (англ. microcontroller), або однокристальна мікроЕОМ - виконана у вигляді мікросхеми спеціалізована мікропроцесорна система, що включає мікропроцесор, блоки памяті для збереження коду програм і даних, порти вводу-виводу і блоки зі спеціальними функціями (лічильники, компаратори, АЦП та інші).

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

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

1.2.1 Загальні правила вибору мікроконтролера

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

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

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

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

Проведення системного аналізу проекту дозволяє визначити вимоги до мікроконтролера:

– розрядність обчислювального ядра;

– набір вбудованих периферійних пристроїв (таймери, АЦП і т.п.);

– наявність бітових операцій;

– апаратна організація обробки даних (структура машинного циклу, співвідношення тактів ГТВ і машинних циклів);

– можливість робота за перериванням, за зовнішнім сигналам готовності або по командах людини;

– кількість керованих портів введення /виводу, характер передачі - байт або біти, програмна настройка напрямку передачі;

– тип пристроїв введення /виводу, якими повинен управляти обираний МК в проектованій системі (термінали, вимикачі, реле, клавіші, датчики, цифрові пристрої візуальної індикації, аналого-цифрові й цифроаналогові перетворювачі, модулятори і т.д.);

– підтримувані способи завантаження програм в мікроконтролер, можливість внутрішньосистемних програмування (ISP), використання при цьому стандартизованих інтерфейсів (SPI, I2C);

– кількість і тип напруги живлення;

– відмовостійкість джерела живлення;

– масо-габаритні та естетичні обмеження;

– умови навколишнього середовища, необхідні для експлуатації.

Вибір прикладної мови програмування (наприклад, С або Паскаль замість асемблер) може сильно вплинути на продуктивність системи, яка потім може диктувати вибір 8 -, 16 - або 32-розрядної архітектури.

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

В основному, обчислювальна потужність, споживана потужність і вартість системи збільшуються з підвищенням тактової частоти.

При виборі МК важливо також взяти до уваги технологію, з використанням якої виготовлено процесор МК: N-канальний метал-оксид-напівпровідник (NMOS, КМОН) в порівнянні з комплементарними MOS високого ступеня інтеграції (HCMOS).

Щоб досягти більш високого рівня інтеграції та надійності при більш низькій ціні, всі мікроконтролери мають вбудовані додаткові пристрої. Ці пристрої під керуванням мікропроцесорного ядра мікроконтролера виконують певні функції. Вбудовані пристрої підвищують надійність, тому що вони не вимагають ніяких зовнішніх електричних ланцюгів. Вони попередньо тестуються виробником і звільняють місце на платі, так як всі електричні зєднувальні ланцюга виконані на кристалі в мікроконтролерів. Деякими з найбільш популярних внутрісхемних пристроїв є пристрої памяті, таймери, системний годинник /генератор і порти вводу - виводу (I /O). Пристрої памяті включають оперативну память (RAM), постійні запамятовуючі пристрої (ROM), перепрограмовану ROM (EPROM), електрично-перепрограмовану ROM (EEPROM) та память, що електрично стирається (EEM).

До пристроїв введення-виведення відносять послідовні порти звязку, паралельні порти (I /O лінії), аналого-цифрові перетворювачі (A /D), цифро-аналогові перетворювачі (D /A), драйвери рідкокристалічного екрана (LCD) і драйвери вакуумного флуоресцентного екрана (VFD). Іншими, рідше використовуваними, вбудованими ресурсами є внутрішня /зовнішня шина, таймер стеження за нормальним функціонуванням системи, сторожева схема, система виявлення відмов тактового генератора та системний інтеграційний модуль (SIM). SIM звичайно замінює зовнішню логіку, необхідну для взаємодії із зовнішніми пристроями через обрані контакти мікросхеми.

1.2.2 Мікроконтролер ATmega8535

Компанія ATMEL Corp. - один зі світових лідерів у виробництві широкого спектру мікросхем енергонезалежній памяті, FLASH-мікроконтролерів і мікросхем програмованої логіки, взяла старт з розробки RISC-мікроконтролерів в середині 90-х років, використовуючи всі свої технічні рішення, накопичені до цього часу.

Концепція нових швидкісних мікроконтролерів була створена групою розробників дослідного центру ATMEL у Норвегії, ініціали яких потім сформували марку AVR. Перші мікроконтролери AVR AT90S1200 зявилися в середині 1997 р. і швидко здобули розташування споживачів. Ці 8-розрядні RISC-мікроконтролери для вбудованих додатків є найбільш цікавим і прогресивним з країн, що розвиваються напрямків.

Термін RISC (Reduced Instruction Set Computer - обчислювач з скороченим набором команд) означає, що процесорні ядро оперує з мінімізовані набором машинних команд, і, отже, кількість різних машинних циклів невелика. Це дозволяє в значній мірі скоротити час виконання машинного циклу, і команди відповідно. Таким чином, відношення тривалості машинного циклу до тривалості такту зменшується - від 12 у класичних контролерів сімейства MCS-51 до 1-4 у контролерів сімейства AVR. Таким чином, при однаковому значенні тактової частоти продуктивність зростає в кілька разів.

AVR-архітектура, на основі якої побудовані мікроконтролери сімейства AVR, поєднує потужний Гарвардський RISC-процесор з роздільним доступом до памяті програм і даних, 32 регістр загального призначення, кожен з яких може працювати як регістр-акумулятор, і розвинену систему команд фіксованого 16-бітової довжини. Більшість команд виконуються за один машинний такт з одночасним виконанням поточної і вибіркою наступної команди, що забезпечує продуктивність до 1 MIPS на кожний МГц тактової частоти.

Базовий набір команд AVR містить 120 інструкцій. Інструкції бітовий операцій включають інструкції установки, очищення та тестування бітів. Однак у порівнянні з контролерами сімейства MCS-51 мнемоніки команд залежать від типу адресації (навіть команди пересилання.

Всі мікроконтролери AVR мають вбудовану Flash-ROM з можливістю внутрішньосхемного програмування через послідовний 4-провідний інтерфейс типу SPI.

Периферія МК AVR включає: таймери-лічильники, широтно-імпульсні модулятори, підтримку зовнішніх переривань, аналогові компаратори, 10-розрядний багатоканальний АЦП, паралельні порти (від 3 до 53 ліній вводу та виводу), інтерфейси UART (USART), SPI, TWI, вбудовані генератори з внутрішньою

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

В рамках єдиної базової архітектури AVR-мікроконтролери підрозділяються на три підродини:

Tiny AVR; Classic AVR Mega AVR.

Мікроконтролери сімейства Mega мають найбільш розвинену периферію, найбільші серед всіх контролерів AVR обсяги памяті програм і даних. Сімейство забезпечено комплектом програм і системами налагодження, що включають: макро-асемблер, відладчик /симулятори програм, внутрішньосхемні емулятори. Досить популярним програмним продуктом для розробки є система AVR Studio, що вільно розповсюджується корпорацією Atmel.

Основні електричні характеристики новітніх мікроконтролерів AVR фірми Atmel:

- повністю статична схемотехніка - МК працюють при тактовій частоті від 0 Гц до 20 МГц;

- діапазон напруг живлення від 2,7 В до 6,0 В;

- різні режими енергозбереження: пасивний (idle) і стоповий (power down).

Оберемо мікроконтролер фірми AVR типу ATmega8535 (рис. 1.2). Такий мікроконтролер є КМОН 8- бітовим мікроконтролером, побудованим на розширеній AVR RISC архітектурі, яка забезпечує дуже швидке виконання програми. 130 команд, що виконуються за один цикл.

Рисунок 1.2 - Мікроконтролер ATmega8535

Схема має 32 контакти введення-виводу і містить 10-розрядний 8-канальний АЦП, годинник реального часу, програмований послідовний УСАПП, SPI-інтерфейс, контрольний таймер, компаратор і 3 таймера/лічильника (два 8-розрядних і 16-розрядний) і 4 канали ШІМ. Він має функцію скидання при включенні живлення і шість малопотужних режимів. Програма зберігається в памяті Flash EPROM, і схема може програмуватися в системі (ISP)

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

AVR ядро поєднує розширений набір команд з 32 робочими регістрами загального призначення. Всі 32 регістри сполучено з АЛП, що забезпечує доступ до двох незалежних регістрів на час виконання команди за один машинний такт. Завдяки вибраній архітектурі досягнута найвища швидкість коду й відповідно висока продуктивність.

PA, PB, PC, PD - це чотири 8-бітних порта введення-виведення (зчитують або видають логічні 1/0 на своїх ніжках). Можна встановити до 32 каналів обміну даними.

ADC - це входи 8-канального 10-розрядного АЦП.

OC - це входи таймерів або ШІМ, тобто по суті цифро-аналогових перетворювачів.

AIN - диференційні входи аналогового компаратора.

INT - входи для зовнішніх переривань (імпульс, який прийшов, запускає підпрограму обробки переривань).

RESET - подається 0 для перезавантаження.

RXD і TXD - разом утворюють асинхронний інтерфейс UART (COM-порт), а разом з XCK - синхронний.

SS, SCK, MOSI, MISO - разом утворюють інтерфейс SPI.

SDA, SCL - утворюють інтерфейс TWI (по двом дротам спілкуватися зі 128 пристроями).

T, ICP і TOSC - дозволяють різноманітним чином працювати з таймерами, синхронізацією та зовнішнім годинником.

ATmega8535 (рис. 1.3) містить: 8К байт внутрішньо системної програмованої FLASH памяті програм з можливістю читання в процесі запису, 512 байтів EEPROM, 512 байтів SRAM, 32 входи-виходи загального призначення, 32 регістра загального призначення, три гнучких таймера/лічильника з режимом порівняння, зовнішні і внутрішні переривання, послідовний програмований USART, 8- канальний, 10- бітовий АЦП з додатковим програмованим диференціальним підсилювачем (для TQFP корпусу), програмований таймер з внутрішнім генератором, послідовний порт SPI Watchdog, і шість, обраних програмно, режимів збереження енергії.

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

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

Комбінація розширеної 8-ми бітової RISC архітектури ЦПУ і твердотілій памяті FLASH забезпечують ATmega8535 високу гнучкість і економічну ефективність у вбудованих системах управління.

Рисунок 1.3 - Структурна схема мікроконтролера ATmega8535

1.3 Цифро-аналоговий перетворювач

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

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

Найбільш поширена архітектура перемножуючого сходового R2R ЦАП (Multiplying DAC - MDAC), в якій початок "ланцюга" приєднаний до зовнішнього джерела опорної напруги. З виходу його знімається струм, еквівалентний вхідному цифровому коду. ЦАП такої архітектури забезпечують висока вихідна напруга, високий дозвіл (16 біт), диференціальну і інтегральну нелінійності ±1 МЗБ. Що перемножують ЦАП сходового R2R-типа вимагають вживання зовнішнього операційного підсилювача. Час встановлення сигналу ЦАП цього типа менше 0,3 мкс, смуга пропускання може перевищувати 10 Мгц. Завдяки вживанню зовнішнього операційного підсилювача, що відповідає вимогам конструктора системи, що перемножують ЦАП знаходять широке вживання в контрольних пристроях з цифровим управлінням, промислових контролерах з програмованою логікою.

Проте в промислових системах частіше використовується зворотна сходова R2R-архітектура. У ЦАП цього типа залежно від вхідної цифрової коди 2R-ступени підключаються або до шини високого рівня опорної напруги VREF-H, або до шини низького рівня опорної напруги VREF-L. З його виходу знімається напруга, еквівалентна вхідному цифровому коду. Така архітектура досить проста у виготовленні. Як і перемножуючий ЦАП, зворотна сходова R2R-архитектура характеризується малими значеннями шуму, диференціальній і інтегральній нелінійності. Час встановлення сигналу дещо більше, ніж в того, що перемножує ЦАП.

Строкові ЦАП, як випливає з їх назви, складаються з послідовно включених резисторів з однаковим опором. Теоретично число резисторів визначає точність перетворювача. Так, у восьмирозрядному ЦАП з такою архітектурою використовується 256 резисторів, а для створення 16-біт перетворювача буде потрібно 65536 резисторів, які практично неможливо виготовити на одному кристалі, особливо з врахуванням сучасних вимог до малих габаритів, низької споживаної потужності і вартості електронних компонентів. Для розвязки елементів резисторів і зовнішнього навантаження в строковому ЦАП передбачений вбудований вихідний операційний підсилювач. Споживана потужність ЦАП цього типа невелика. Вони відрізняються монотонністю, хорошою динамічною нелінійністю. Рівень помилкових сигналів, як правило, нижче, ніж в ЦАП інших типів. Проте строкові ЦАП поступаються сходовим ЦАП R2R-типу по шумових характеристиках, які залежать від імпедансу матриці резистора. Крім того, їх інтегральна нелінійність чутлива до топології схеми і залежить від узгодження резисторів. Для сучасних строкових ЦАП вона може складати ±4 МЗБ, що прийнятно для основних сфер їх застосування - портативного контрольно-вимірювального устаткування, замкнутих слідкуючих систем, систем управління виробництвом і пристроїв збору даних.

Дельта-сигма ЦАП відносяться до класу ЦАП передискретизації. Їх робота заснована на змінній щільності імпульсів. Такі перетворювачі при невеликій власній розрядності забезпечують чималу розрядність підсумкового перетворення. На ЦАП поступає імпульсний сигнал з постійною тривалістю імпульсів, але із змінною шпаруватістю, який формується за допомогою ланцюга негативного зворотного звязку. Ланцюг негативного зворотного звязку виконує функцію фільтру високих частот для шуму квантування. Для генерації сигналу з модульованою щільністю імпульсів може бути використаний дельта-сигма модулятор. Із збільшенням частоти передискретизації покращується придушення шумів квантування. Швидкодія дельта-сигма ЦАП досягає сотні тисяч відліків в секунду, розрядність - 24 біт.

Оберемо сходовий R2R ЦАП (рис. 1.4):

Рисунок 1.4 - Приклад сходового R2R ЦАП

1.4 Індикаторний модуль

Останнім елементом схеми стане дисплей. Використаємо алфавітно-цифровий рідкокристалічний індикаторний (РКІ) модуль. Він є недорогим і зручним рішенням, що дозволяє заощадити час і ресурси при розробці нових виробів, при цьому забезпечуються відображення великого обєму інформації при хорошій роздільній здатності та низькому енергоспоживанні. Можливість оснащення РКІ-модулей заднім підсвічуванням дозволяє експлуатувати їх в умовах із зниженою або нульовою освітленістю, а виконання з розширеним діапазоном температур (-20°С...+70°С) в складних експлуатаційних умовах, у тому числі в переносній, польовій і навіть, інколи, в бортовій апаратурі.

Оберемо модуль на основі контролера HD44780 фірми Hitachi, який практично став стандартом і широко застосовується при виробництві РКІ-модулей.

Для підєднання РКІ-модуля до керуючої системи, використовується паралельна синхронна шина, що налічує 8 або 4 (вибирається програмно) ліній даних DB0...DB7, лінію вибору операції R/W, лінію вибору регістра RS і лінію стробування/синхронізації Е. Окрім ліній шини, що управляє, є дві лінії для подачі напруги живлення 5 В - GND і VCC, і лінія для подачі напруги живлення драйвера ЖКИ - V0.

Вказані вище назви ліній шини є стандартними, але існує безліч різних варіантів розташування контактів в кожного конкретного конструктиву РКІ-модуля. Насправді, єдиним реально стандартним варіантом розташування контактів є дворядне 14-ти контактне поле, розташоване вертикально в лівій частині модуля, а також співпадаюче в ним дворядне 16-ти контактне поле, що містить додаткову пару контактів з підключеними до неї виводами живлення підсвічування. В будь-якому разі, для здобуття достовірної інформації необхідно скористатися відповідною довідковою літературою виробника модуля.

На початковому етапі необхідно подати живлення на РКІ-модуль і добитися від нього ознак працездатності. Підстроєчний резистор R1 дозволяє плавно міняти напругу живлення драйвера РКІ, що наводить до зміни кута повороту рідких кристалів. Цим резистором можна відрегулювати фактичну контрастність при деякому переважному куту спостереження (знизу-вгору або зверху-вниз). Включення в дану схему РКІ-модуля, розрахованого на розширений діапазон температур, не приведе до успіху, оскільки через особливості вживаних в них РК-матеріалів, ці РКІ вимагають підвищеної напруги живлення і при живленні напругою 5 В зображення або відсутнє зовсім, або буде слабоконтрастним. Для подолання ситуації необхідно подати на виведення V0 негативну напругу (напруга на РКІ визначається різницею VCC і V0), що становить в граничному випадку, - 5 В. Якщо в схемі відсутнє джерело негативної напруги, то не можна зібрати простий перетворювач.

Для активізації РКІ-модуля необхідно подати напругу живлення і обертати двигун резистора R1. Після закінчення циклу внутрішньої ініціалізації модуль включається в режим розгортки одного верхнього рядка. При зміні напруги на виведенні V0 сегменти цього рядка повинні міняти свій стан від прозорого до непрозорого, що є свідоцтвом правильного підключення живлення модуля і працездатності контролера і драйверів РКІ. Встановити движок в таке положення, при якому зображення сегментів у верхньому рядку ледве проступає на основному фоні РКІ. Тепер РКІ-модуль готовий до прийому і відображення інформації. Після того, як ви добєтеся відображення на індикаторі якого-небудь тексту, то зможете точніше відрегулювати зображення відповідно до необхідної контрастності і необхідного кута спостереження.

Для зєднання модуля з керуючою системою, можна вибрати один з двох варіантів: по 8-ми або 4-х розрядній шині. У першому випадку буде потрібно 11 сигнальних ліній, в другому - лише 7. Сам процес обміну також може бути організований двояко. Можна підключити РКІ-модуль до системної шини (якщо така є) і виконати обмін в синхронному режимі з максимальною швидкістю. Цьому широко поширеному в минулі роки способу властивий ряд недоліків. По-перше, більшість сучасних пристроїв виконуються із застосуванням однокристальних МІКРО-ЕОМ без використання додаткової зовнішньої памяті і, як наслідок, системна шина в цих пристроїв просто відсутня. По-друге, в сучасних системах підвищеної складності і продуктивності, в яких присутня додаткова память і, природно, системна шина, швидкість операцій на шині знаходиться за межами можливостей контролера HD44780 (2 МГц при живленні 5 В і 1 МГц при 3 В). Це може призвести до необхідності введення додаткових схем для уповільнення швидкості роботи шини при виконанні операцій обміну з РКІ-модулем. По-третє, підключення до системної шини в більшості випадків зажадає вводити схеми дешифрування і формування сигналів Е і R/W, що знову приведе до додаткових витрат. Все сказане вище не означає, що варіант з підключенням до шини принципово неефективний. У якійсь конкретній системі цей спосіб, навпаки, може бути найоптимальнішим. Крім того, деякі сучасні процесори, наприклад, сімейство МС68НС12, має вбудовані засоби для формування сигналів вибірки (CS), з можливістю програмно визначити швидкість обміну з кожним конкретним пристроєм.

Інший варіант - обмін з РКІ-модулем виконується тільки програмними засобами, через порти введення-виведення керуючої МІКРО-ЕОМ. Цей варіант дозволяє розглянути загальний випадок, абстрагуючись від конкретної системи. Варіант зєднання з системною шиною, навпаки, вимагає розгляду конкретних пристроїв, тому у разі потреби можна рекомендувати вивчити тимчасові діаграми операцій читання і запису, а також значення тимчасових параметрів і сконструювати відповідні керуючі схеми.

У вихідному стані сигнал Е=0, сигнал R/W=0, значення сигналу RS - довільне, шина даних DBO...DB7 в стані високого імпедансу (НI). Такий стан сигналів (E і R/W), що управляють, повинен підтримуватися весь час в проміжках між операціями обміну з РКІ-модулем. Шина даних в ці моменти в принципі вільна, і може використовуватися в мультиплексорному режимі для яких-небудь інших цілей, наприклад, для сканування матриці клавіатури. Природно, необхідно поклопотатися про виключення конфліктів на шині даних у момент здійснення операцій обміну з РКІ-модулем.

Виробник контролера рекомендує виконувати наступну послідовність дій для процесу ініціалізації РКІ-модуля. Витримати паузу не менше 15 мс між встановленням робочої напруги живлення (> 4,5 В) і виконанням яких-небудь операцій з контролером. Першою операцією виконати команду, що вибирає розрядність шини, причому перед виконанням цієї операції не перевіряти значення прапора BF. Далі знову витримати паузу не менше 4,1 мс і повторити команду вибору розрядності шини, причому перед подачею команди знов не проводити перевірку прапора BF. Наступним кроком необхідно знов витримати паузу, цього разу 100 мкс, і втретє повторити команду встановлення розрядності шини, знов без перевірки BF. Ці три операції є ініціалізованими і повинні вивести контролер у вихідний режим роботи (тобто перевести в режим роботи з 8-ми розрядною шиною) з будь-якого стану. Слідом за ними нормальним порядком (без витримки пауз, але з перевіркою прапора BF) виконується ініціалізація режимів роботи з видачею послідовності, що містить у тому числі команду вибору необхідної розрядності шини.

Коли оголошується режим роботи з 4-х розрядною шиною, то робиться це звичайно з 8-ми розрядного режиму, який встановлюється автоматично після подачі напруги живлення, а значить уже не можна адекватно оголосити необхідне значення прапорів N і F, розташованих в молодшій тетраді команди установки розрядності шини. Тому команду необхідно повторити у сталому 4-х розрядному режимі шляхом послідовної передачі двох тетрад.

Для даного мікропроцесорного пристрою було обрано індикатор BC0801A. Це перший символьний індикатор з організацією 8 символів, 1 рядок, від компанії Bolymin Inc.

Індикатор має вбудований контролер KS0066 з кириличною таблицею символів. Напруга живлення +5 В (можливо замовити 3 В). При габаритах 55.0х27.0 міліметрів, індикатор має великий розмір символу: 4.84х9.22 міліметра.

Висновки:

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

2. Вибрано електричну схему пристрою, що проектується; розраховано її параметри.

2. ОПИС ПРИНЦИПОВОЇ ЕЛЕКТРИЧНОЇ СХЕМИ ПРИСТРОЮ, ЩО ПРОЕКТУЄТЬСЯ

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

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

Усі входи мікроконтролера опитуються із заданою частотою. Після опитування перетворюється Y-функція та видається результат на порт С: аналоговий вихід та на рідкокристалічний індикатор.

Z-функція організована за допомогою жорсткої логіки. Для того, щоб отримати функцію Z8, необхідно використати один елемент «3І-НІ», один елемент «4І» та два «АБО». Щоб отримати функцію Z23, необхідно використати два елементи «АБО» та елемент «ВИКЛЮЧНЕ АБО». У тих випадках, де для виконання заданого алгоритму потрібно використати два однакових елементи, застосовуються мікросхеми, що мають в одному корпусі кілька логічних елементів. Це дозволяє швидко та надійно провести розрахунок Z-функції та вивести обчислені значення через порт дискретного виведення D.

У схемі присутні також регістр R25, за його допомогою можна змінювати кут огляду рідкокристалічного індикатора, тобто регулювати яскравість на РКІ-модулі; та конденсатор С3, який виконує роль фільтра напруги живлення, тим самим захищаючи індикатор від завад та спотворень.

Висновки:

1. Обране обладнання працює узгоджено.

2. Забезпечено виконання вихідних умов.

3. ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ

3.1 Лістинг програми на мові С:

______________________________________________

This program was produced by the

CodeWizardAVR V1.25.8 Standard

Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project:

Version:

Date: 15.01.2010

Author: F4CG

Company: F4CG

Comments:

Chip type: ATmega8535

Program type: Application

Clock frequency: 8,000000 MHz

Memory model: Small

External SRAM size: 0

Data Stack size: 128

____________________________________________

#include <mega8535.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x18;PORTB

#endasm

#include <lcd.h>

int schetchik = 0;

int m[] = {0, 0, 0, 0, 0, 0};

// Timer 0 overflow interrupt service routine

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

{

// Place your code here

switch (schetchik)

case 1:

m[0]=ADC0;

break;

case 2:

m[1]=ADC1;

break;

case 3:

m[2]=ADC2;

break;

case 4:

m[3]=ADC3;

break;

case 5:

m[4]=ADC4;

break;

case 6:

m[5]=ADC5;

break;

case 7:

m[6]=ADC6;

break;

case 8:

m[7]=ADC7;

break;

if (schetchik == 8) {

//обчислення функції

float Y = (m[2]-m[1])+(m[4]-m[3])/2+(m[6]-m[5])/3+(m[8]-m[7])/4;

unsigned char s;

//перетворення в рядок

s=(unsigned char) Y;

//виведення на дисплей

lcd_putchar(s);

// виведення на ЦАП

PORTC |= (unsigned int) Y;

//обнулення лічильника

schetchik = 0;

}else {

schetchik++;

}

}

#include <delay.h>

#define ADC_VREF_TYPE 0x20

// Read the 8 most significant bits

// of the AD conversion result

unsigned char read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=0x40;

// Wait for the AD conversion to complete

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCH;

}

// Declare your global variables here

void main(void)

{

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: 125,000 kHz

// Mode: Normal top=FFh

// OC0 output: Disconnected

TCCR0=0x03;

TCNT0=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=0x00;

MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x01;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC Clock frequency: 250,000 kHz

// ADC Voltage Reference: AREF pin

// ADC High Speed Mode: Off

// ADC Auto Trigger Source: None

// Only the 8 most significant bits of

// the AD conversion result are used

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x85;

SFIOR&=0xEF;

// LCD module initialization

lcd_init(8);

// Global enable interrupts

#asm("sei")

while (1)

{

// Place your code here

PORTD = PORTD << 2;

};

}

мікропроцесорний пристрій мікроконтролер

ВИСНОВКИ

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

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

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

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Методичні вказівки щодо оформлення курсових і дипломних проектів. Інструктивні матеріали /Укладачі: В.Д. Червяков, О.Ю. Журавльов. - Суми: Вид-во СумДУ, 2007. - 64 с.

2. Конспект лекций по курсу «Микропроцессорные устройства». Раздел II «Модуль памяти» для студентов специальности 6.091401/Сост. Баравой В.Т. Сумы,:Изд-во СумГУ, 2003. _43 с.

3. Конспект лекций по курсу «Микропроцессорные устройства». Раздел III «Модуль ввода/вывода» для студентов специальности 6.091401/Сост. Баравой В.Т. Сумы,:Изд-во СумГУ, 2003. _ 54 с.

4. ДСТУ Б А.2.4-3-95 (ГОСТ 21.408-93). Правила виконання робочої документації автоматизації технологічних процесів.

5. ДСТУ Б А.2.4-4-99 (ГОСТ 21.101-97). Основні вимоги до проектної та робочої документації.

6. http://www.microchipinf.com/ua - сайт «Мікропроцесори та мікроконтролери».

7. http://arv.radioliga.com

8. Тогатов В.В. «Операционные усилители» - электронный учебник

9. http://www.gaw.ru/html.cgi/txt/lcd/chips/hd44780/start.htm

10. http://easyelectronics.ru/parallelnyj-cifro-analogovyj-preobrazovatel-po-sxeme-r-2r.html

11. http://www.atmel.ru

12. Гребнев В.В. Микроконтроллеры семейства AVR фирмы Atmel. - М.: РадиоСофт, 2002. - 174 с.

13. http://cxem.net/beginner/beginner28.php

ДОДАТОК А

Зона

Позначення

Найменування

Кільк.

Прим.

Резистори

R1…R16

ОЖО.467.104 ТУ

С2 - 23 - 0,125 - 1 кОм ±5%

16

R17…R32

ОЖО.467.104 ТУ

С2 - 23 - 0,125 - 1,67 кОм ±5%

16

R33…R39

ОЖО.467.104 ТУ

С2 - 23 - 0,125 - 10 кОм ±5%

7

R40…R48

ОЖО.467.104 ТУ

С2 - 23 - 0,125 - 20 кОм ±5%

9

R49

С3 - 19 - 22 кОм ±5%

ОЖО.468.372 ТУ

1

Конденсатори

С1

ОЖО 464.111 ТУ

К50-16-10 мкФ-16 В

1

С2, С3

160 В ОЖО460.206 ТУ

КТ-1М47-0,1мкФ±10%

2

Операційні підсилювачі

DD1.1…DD1.4, DD2.1…DD2.4

К1401УД2Б

2

Мікроконтролер

DD3.1

ATmega8535

1

Рідкокристалічний індикатор

LCD1

ВС0801А

1

Логічні елементи

DD4.1

K155ЛА3

1

DD5.1, DD5.2

K155ЛН1

1

DD6.1, DD6.2

K155ЛЛ1

1

DD7.1

K155ЛИ1

1

DD8.1

K155ЛП5

1

ДОДАТОК Б

Блок-схема алгоритму роботи програми