Розробка програмного забезпечення
Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет функціональної електроніки та лазерної техніки
Кафедра лазерної та оптоелектронної техніки
ЦИФРОВИЙ ТЕРМОМЕТР
КУРСОВИЙ ПРОЕКТ
з дисципліни:
“Цифрові пристрої та мікропроцесори”
ПОЯСНЮВАЛЬНА ЗАПИСКА
ВДТУ 7.091101.А20078.0
Виконав: ст. гр. ЛОТ-00 Клімкіна Д.І.
Прийняв:
2003
АНОТАЦІЯ
Дана робота присвячена розробці такого пристрою як цифровий термометр. В роботі проаналізовано сучасну елементну базу для цифрових пристроїв, розглянуто основний принцип дії термометра та розроблено його принципову схему. Окреме місце в роботі посіла і розробка програмного забезпечення. Результати роботи подано в додатках у вигляді креслень та тексту програми на Assembler.
АННОТАЦИЯ
Данная работа посвящена разработке такого устройства как цифровой термометр. В работе проанализирована современная элементная база для цифровых устройств, рассмотрен основной принцип действия термометра и разработана его принципиальная схема. Отдельное место в работе отведено разработке программного обеспечения. Результаты работы представлены в приложениях в виде чертежей и текста программы на Assembler.
ABSTRACT
This work is denoted such device development as a numerical thermometer. The modern element base for numerical devices is analyzed. Besides main principle of actions of thermometer and its principle scheme are designed in this work. Software development takes special place in this work. Results of designing are presented in exhibits in the manner of drawings and text of program on Assembler.
ЗМІСТ
Вступ
- Аналіз теми та інженерна інтерпретація……………………………………………
.
2. Розробка апаратних засобів:
2.1. Розробка структурної схеми
пристрою......................
2.2. Вибір елементної бази........………………………………………………
2.3. Розробка принципової схеми
пристрою......................
3. Розробка програмного забезпечення:
3.1. Алгоритм роботи пристрою......................
3.2. Програма......................
Висновки......................
Література....................
Додатки
Вступ
Для сучасного етапу розвитку техніки все більш характерне інтенсивне і глибоке проникнення її в різні галузі мікропроцесорів, які радикально перетворюють властивості багатьох пристроїв і відкривають можливості їх застосування. За широтою та ефективністю використання мікропроцесорів одне з перших місць посідає інформаційно-вимірювальна техніка.
Мікропроцесор – це
Мікропроцесорне управління в
вимірювальних приладах
- Розширення вимірювальних можливостей. Застосування мікропроцесорів /МП/ дозволяє істотно розширити можливості переліку параметрів сигналів і характеристик пристроїв. Це пов’язано, перш за все, з використанням, здавалося б, застарілих видів вимірювань: непрямих та сукупних. Через необхідність застосування кількох приладів, зняття деяких відліків і наступних обчислень непрямі вимірювання сприймаються багатьма експериментаторами як примітивні, несучасні. Корінним чином змінюється положення при включенні до складу приладу мікропроцесорів. За командою, одержаною з клавіатури, автоматично відповідно до заданої програми визначаються режими вимірювань, запам’ятовуються результати прямих вимірювань, виконуються необхідні обчислення і видається значення вимірюваної фізичної величини на дисплей.
- Поліпшення метрологічних характеристик. Наявність у приладі МП дозволяє скоригувати, виключити систематичні похибки і зменшити вплив випадкової складової похибки. Інваріантність, реалізована за допомогою мікропроцесорів, дозволяє додатковими вимірюваннями і операціями над ними виробити таку корекцію результату вимірювання, яка дозволить у відомих межах зробити результат вимірювання нечутливим до зовнішніх умов, змін внутрішніх параметрів приладу і інформативних параметрів вимірюваного сигналу.
- Сервіс. У процесі взаємодії приладу з оператором останньому надається значний сервіс у розумінні як надання результатів у зручній формі, так і спрощення керування приладом. Легко реалізується нормалізація результату, збільшення інформативності зображення результату вимірювання шляхом зміни кольору, мигтіння, звукової сигналізації тощо.
- Організація вимірювальних систем. Прилад, що містить МП, як правило, оснащений чи доповнений різними інтерфейсами, що дозволяють вмикати його до мікро-ЕОМ. Це дає можливість об’єднувати певну сукупність приладів у єдину вимірювальну систему.
Однак,
розглядаючи питання побудови
цифрового пристрою, досить важливим
є питання щодо вибору
Усі ці аспекти і будуть докладно розглянуті в даному курсовому проекті.
1. АНАЛІЗ ТЕМИ ТА ІНЖЕНЕРНА ІНТЕРПРИТАЦІЯ
Температура є фізичною величиною, яка характеризується внутрішньою енергією кіл і безпосередньому вимірюванню не піддається. Тому всі методи вимірювання температури основані на перетворенні її в іншу фізичну величину, яка піддається безпосередньому вимірюванню.
В сучасному промисловому виробництві, наукових дослідах, при дослідженні матеріалів і зразків вимірювання температури є найбільш розповсюдженими. Широкий діапазон вимірювальних температур, різноманітність умов використання засобів вимірювання і вимог до них визначають, з одного боку, різноманітність засобів вимірювання температури, а з другої сторони, необхідність розробки нових типів первинних перетворювачів.
Різноманітні засоби вимірювання температури можна поділити за типом первинних вимірювальних перетворювачів.
В діапазоні низьких і середніх температур використовуються в основному контактні методи вимірювання, причому найбільш широко на практиці використовуються первинні перетворювачі в виді термометрів опору і термопар. При цьому необхідно враховувати, що в більшості випадків температуру необхідно вимірювати в багатьох точках об’єкта і дистанційно, тобто первинні перетворювачі можуть бути віддалені від вторинного вимірювального приладу на великі відстані.
У
загальному разі прилади для
вимірювання температури
Розглянемо та проаналізуємо технічне завдання курсового проекту. За умовою необхідно розробити простий однофункціональний термометр, який би мав:
- діапазон вимірюваних температур приблизно -400 - +1200С;
- точність вимірювань 0,5°С;
Згідно поставленої задачі вже на первинному етапі розробки цифрового пристрою за основу було обрано однопровідну мережу MicroLAN компанії Dallas Semiconductor. Датчики цієї фірми широко представлені на сучасному ринку. Вони є малими за розміром, а також досить дешевими (приблизно 2$). Саме ці датчики дозволять сконструювати доволі простий у реалізації та надійний термометр із необхідною точністю та діапазоном вимірюваних температур. Вибір конкретної моделі буде представлено при аналізі сучасної елементної бази (пункт 2.2).
Оскільки особливих вимог до
області використання термометр
В свою чергу така простота доз
2. РОЗРОБКА АПАРАТНИХ ЗАСОБІВ
2.1. Розробка структурної схеми пристрою
Цифровий термометр складається з таких основних блоків:
- цифрового датчика температури;
- блока керування;
- ПЗП даних;
- блока індикації;
- клавіатури;
- вторинного джерела живлення.
Зобразимо це у вигляді
Рис. 1 Структурна схема цифрового термометра
В даній схемі:
- цифровий датчик температури служить для прямого перетворення температури в цифровий код. При цьому він не вимагає додаткових аналогово-цифрових перетворювачів, подаючи сигнал у цифровій формі на блок керування. Принцип дії цифрових датчиків температури фірми DALLAS заснований на підрахунку кількості імпульсів, вироблених генератором з низьким температурним коефіцієнтом у тимчасовому інтервалі, що формується генератором з великим температурним коефіцієнтом. Лічильник ініціалізується значенням, що відповідає -55°C (мінімальній вимірюваній температурі). Якщо лічильник досягає нуля перед тим, як закінчується часовий інтервал (це означає, що температура більше -55°C), то регістр температури, що також є ініціалізований значенням -55°C, інкрементується. Одночасно лічильник встановлюється новим значенням, що задається схемою формування нахилу характеристики. Ця схема потрібна для компенсації параболічної залежності частот генераторів від температури. Лічильник знову починає працювати, і якщо він знову досягає нуля, коли інтервал ще не закінчений, процес повторюється знову. Схема формування нахилу завантажує лічильник значеннями, що відповідають кількості імпульсів генератора на один градус Цельсія для кожного конкретного значення температури. По закінченню процесу перетворення регістр температури буде містити значення температури.
- блок керування реалізований як мікропроцесорний пристрій. В даній схемі МП виконує обробку інформації, що надходить від датчика температури у вигляді цифрового коду (формує адреси команд, видає команди з пам’яті, дешифрує їх, виконує над ними операції – передбачені команди, при необхідності записує результат в пам’ять, формує керуючі сигнали для обміну) із врахуванням зовнішнього сигналу від клавіатури. Дії МП керуються даними, що зберігаються в ПЗП.
- ПЗП даних – постійно-запамятовуючий пристрій – призначений для постійного зберігання програми керування мікропроцесорним пристроєм та при необхідності сукупності констант.
- блок індикації призначений для візуального відображення результатів обробки інформації блоком керування;
- клавіатура служить для корегування роботи блока керування. Використовуючи набір кнопок SEL, UP, DN, EXT (конкретні функції яких будуть розглянуті пізніше, див п.2.3), користувач формує інформативні сигнали, на які реагує МП.
- вторинне джерело живлення забезпечує цифровий датчик, блок керування та ПЗП, клавіатуру, а також блок індикації необхідним рівнем напруги.
2.2. Вибір елементної бази
2.2.1. Цифровий датчик температури Як було зазначено вище, вже на первинному етапі розробки цифрового пристрою за основу було обрано цифрові датчики компанії Dallas Semiconductor. Цей вибір є практично обґрунтованим через такі основні переваги температурних датчиків цієї фірми:
- Пряме перетворення температури в цифровий код без застосування додаткових АЦП;
- Можливість роботи з мережею MіcroLAN, що дозволяє приєднувати по двох проводах практично необмежену кількість датчиків;
- Відсутність додаткових зовнішніх компонентів;
- Заводське калібрування і корекція нелінійності;
- Широкий діапазон вимірювання температури (-55°C...+125°C);
- Помилка виміру температури не більш 0,5°C (крім DS1821 - 1,0°C)
- Час перетворення температури в цифрове значення не більш 1 секунди.
Проаналізуємо параметри основних моделей датчиків компанії Dallas Semiconductor (табл. 1):
Таблиця 1
|
Скорочення: FT - функція термостата; ML - цифровий термометр дозволяє побудову протяжних систем дистанційного вимірювання температури шляхом об’єднання по мережі MicroLAN; Типи інтерфейсу: 3W - 3-х провідний послідовний; 2W (I2C) - 2-х провідний послідовний; 1W - 1- провідний послідовний; MicroLan - 1-провідна мережа.
Враховуючи задані початкові
вимоги щодо побудови
Розглянемо особливості роботи даних термодатчиків.
DS1820 є сумісним з мережею 9-розрядним цифровим термометром. Діапазон вимірюваних температур складає -55 +125°С з кроком 0,5°С. DS1820 складається з ПЗП з унікальним ідентифікаційним номером, контролера MіcroLAN, температурного датчика і двох регістрів для збереження верхнього і нижнього порогів температури (рис.2).
Рис. 2 Структурна схема цифрового датчика DS1820
Термометр не містить внутрішнього джерела, а використовує "паразитне" живлення від однопровідної шини. Застосування зовнішнього джерела живлення прискорює перетворення температури, оскільки від ведучої шини не потрібне очікування протягом максимально можливого часу перетворення. У цьому випадку всі прилади DS1820, розташовані на шині, можуть виконувати перетворення температури одночасно і під час обміну даними шини MіcroLAN. Після завершення перетворення отримане значення порівнюється з величинами, що зберігаються в регістрах TH і TL. Якщо вимірювана температура виходить за встановлені межі, встановлюється сигнальний "прапор" (утім, його установка виробляється після кожного виміру). При встановленому "прапорі" датчик відповідає на команду "Пошук сигналу". Це дозволяє швидко ідентифікувати точку з відхиленнями температури понад припустимі межі і відразу вважати показання відповідного термометра. Якщо команда "Пошук сигналу" не застосовується, регістри TH і TL можуть бути використані як регістри загального призначення.
Цифровий термометр підвищеної точності DS18S20 має параметри, аналогічні DS1820, і програмно сумісний з ним. Основна відмінність DS18S20 полягає в тому, що в діапазоні вимірюваних температур від -10 до +85°С точність виміру складає ±0,5°С. Крім цього, старший байт регістра температури містить біт знака (S), що вказує на позитивну або негативну температуру. Цифровий термометр із програмувальним дозволом DS18B20 призначений для виміру температури з заданою користувачем точністю. Для цього в його склад уведений регістр конфігурації, що встановлює один з дозволів: 0,5; 0,25; 0,125 або 0,0625°С.
DS1821 є програмуємим цифровим термостатом, що призначений для роботи в системах терморегулювання на виробництві, у побутових пристроях, термометрах і т.п. Термостат формує сигнал високого рівня ("1"), якщо температура в зоні виміру перевищить встановлену користувачем. Сигнал залишається в стані "1" доти , поки температура не знизиться до рівня нижнього порога, також встановлюваного користувачем. Задані значення верхніх і нижнього температурних порогів зберігаються в енергонезалежній пам'яті.
Рис. 3. Структурна схема програмуємого термостата DS1821
2.2.2. Мікроконтроллер
В процесі розробки апаратних засобів у якості блока керування було обрано мікроконтролер сімейства АТ89 фірми Atmel. В загальному випадку контролер АТ89 являє собою восьмирозрядну однокристальну мікроЕОМ із системою команд MCS-51 фірми Іntel. Мікроконтролери виготовляються по КМОП (CMOS) технології і мають повністю статичну структуру. До складу сімейства входять мікроконтролери 15-ти типів. Розглянемо основні типи контролерів, запам'ятовуючі і периферійні пристрої і деякі вузли, що входять до складу мікроконтролерів кожного типу, а також їх основні характеристики та подамо результати аналізу таблично (табл.2, табл.3):
Таблиця 2
Тип МК |
IROM |
IRAM |
IDROM |
EM |
I/O |
SP |
T/С |
IS |
IV |
SPI |
WDT |
AC |
DPTR |
АТ89С1051 |
1K |
64 |
- |
- |
15 |
- |
1 |
3 |
3 |
- |
- |
+ |
1 |
АТ89С1051U |
1K |
64 |
- |
- |
15 |
+ |
2 |
6 |
5 |
- |
- |
+ |
1 |
АТ89С2051 |
2K |
128 |
- |
- |
15 |
+ |
2 |
6 |
5 |
- |
- |
+ |
1 |
АТ89С4051 |
4K |
128 |
- |
- |
15 |
+ |
2 |
6 |
5 |
- |
- |
+ |
1 |
АТ89С51 |
4K |
128 |
- |
+ |
32 |
+ |
2 |
6 |
5 |
- |
- |
- |
1 |
АТ89С52 |
8K |
256 |
- |
+ |
32 |
+ |
3 |
8 |
6 |
- |
- |
- |
1 |
АТ89С55 |
20K |
256 |
- |
+ |
32 |
+ |
3 |
8 |
6 |
- |
- |
- |
1 |
АТ89S53 |
12K |
256 |
- |
+ |
32 |
+ |
3 |
9 |
6 |
+ |
+ |
- |
2 |
АТ89S8252 |
8K |
256 |
2K |
+ |
32 |
+ |
3 |
9 |
6 |
+ |
+ |
- |
2 |
АТ89S4D12 |
4K |
256 |
128K |
- |
5 |
- |
- |
- |
- |
+ |
- |
- |
2 |
ІROM - Іnternal ROM - внутрішній постійний запам'ятовуючий пристрій, призначений для зберігання команд програми та констант,
IRАM - Internal RАM - внутрішній оперативний запам'ятовуючий пристрій, призначений для зберігання даних.
IDROM - Internal Data ROM - внутрішній репрограмуємий запам'ятовуючий пристрій для зберігання даних
EM - External Memory - зовнішня пам'ять/ відсутність можливості підключення зовнішньої пам'яті відзначене знаком <->/
Контролери, що не мають IDROM та EM , містять такі периферійні пристрої: відносяться восьмирозрядні паралельні порти введення-виведення Р0, Р1, Р2, Р3, послідовний порт SP, таймери-лічильники Т/С0, Т/С1, Т/С2 і контролер переривань.
I/O - сумарна кількість входів-виходів паралельних портів;
Т/С - кількість таймерів-лічильників;
IS- Interrupt Source- кількість джерел запитів переривання
IV- Interrupt Vector- кількість векторів переривання
SPI- блок послідовного периферійного інтерфейсу
WDT - сторожовий таймер
АС - аналоговий компаратор
Таблиця 3
Тип МК |
Vcc (В) |
Fosc (МГц) |
Icc (мА) |
N |
АТ89С1051 |
2,7-6,0 |
0-24 |
15 |
20 |
AT89C1051U |
2,7-6,0 |
0-24 |
15 |
20 |
АТ89С2051 |
2,7-6,0 |
0-24 |
15 |
20 |
АТ89С4051 |
2,7-6,0 |
0-24 |
15 |
20 |
АТ89С51 |
4,0-6,0 |
0-24 |
20 |
40 |
АТ89LV51 |
2,7-6,0 |
0-12 |
20 |
40 |
АТ89С52 |
4,0-6,0 |
0-24 |
25 |
40 |
АТ89LV52 |
2,7-6,0 |
0-12 |
25 |
40 |
AT89C55 |
4,0-6,0 |
0-33 |
25 |
40 |
АТ89LV55 |
2,7-6,0 |
0-12 |
25 |
40 |
АТ89S53 |
4,0-6,0 |
0-33 |
25 |
40 |
АТ89LS53 |
2,7-6,0 |
0-12 |
25 |
40 |
АТ89S8252 |
4,0-6,0 |
0-33 |
25 |
40 |
АТ89LS8252 |
2,7-6,0 |
0-12 |
25 |
40 |
АТ89S4D12 |
3,3 (+-10%) |
12-15 |
20 |
10 |
Vcc, В - діапазони значень напруги живлення;
Fosc, МГц - діапазони значень тактової частоти;
Icc, мА - значення струму споживання в робочому режимі при максимальному значенні напруги живлення і Fosc=12 Мгц.
N - число виводів, що використовуються для підключення мікроконтролера до схеми пристрою.
Враховуючи постановку задачі, оберемо мікроконтролер АТ89С2051.
Мікроконтролер AT89C2051 містить: 4 Кбайти Flash, 128 байтів RAM, 15 ліній вводу/виводу загального призначення, два 16-бітових таймери/лічильники, 5 дворівневих систем переривань, повний дуплексний послідовний порт, аналоговий прецизійний компаратор, сторожовий таймер з внутрішнім генератором; розробляється зі статичною логікою операцій. Програмно управляються два режими енергозбереження. В пасивному режимі (idle) центральний процесор зупиняється, але RAM, таймери/лічильники, порт SPI, сторожовий таймер і система переривань залишаються активними. Зобразимо структурну схему контролера:
Рис.4 Структурна схема мікроконтролера AT89C2051
Розглянемо розводку виводів мікросхеми та призначення кожного з портів (рис.5):
VCC - напруга живлення;
GND - земля;
Port 1 - 8-розрядний двунаправлений порт введення/виведення. Для портів P1.2 - P1.7 необхідні вбудовані навантажувальні резистори; для P1.0, P1.1 – також і зовнішні. Вихідні буфери забезпечують втікаючий струм 20 мА. При використанні виводів порта P1.2 - P1.7 в якості входів та при підключених вбудованих навантажувальних резисторах буде забезпечений струм витоку. Port 1також отримує дані щодо кодів протягом програмування і перевірки Flash.
Port 3 – (для P3.0 … P3.5, P3.7) 7-розрядний двунаправлений порт I/O із вбудованими навантажувальними резисторами. Вихідні буфери забезпечують втікаючий струм 20 мА. Рис.5 Розводка виводів
При використанні виводів порта в якості входів і установці зовнішнім сигналом в низький стан, струм буде витікати тільки при підключених вбудованих навантажувальних резисторах. Port 3 також використовується при реалізації різноманітних спеціальних функцій, крім того отримує спеціальні управляючі сигнали щодо програмування і перевірки Flash.
RESET - вхід скидання. Для виконання скидання необхідно утримувати високий рівень на вході протягом двох машинних циклів.
XTAL1 -вхід інвертуючого підсилювача генератора і вхід схеми вбудованого генератора тактової частоти.
XTAL2 - вихід інвертуючого підсилювача генератора