Міністерство освіти і науки України Тернопільський національний економічний університет
Кафедра комп’ютерної інженерії
КУРСОВА РОБОТА з дисципліни «Комп’ютерні системи»
на тему: «Комп'ютерна система для сканування штрих-кодів на базі мікроконтролера MCS-51»
КР.КС. 07079/11.01.00.000 ПЗ
Студента _ІІІ_курсу групи КСМ-32 напряму підготовки комп’ютерна інженерія спеціальності комп’ютерні системи та мережі Худьо В.Д.
Керівник к.т.н., доцент Ляпандра А.С.
Захищена «____» грудня 2013р. Національна шкала ________________ Кількість балів:____________________ Оцінка: ECTS: ____________________
Члени комісії: проф., д.т.н. Цмоць Іван Григорович (_________) підпис
доц., к.т.н. Ляпандра Андрій Степанович (_________) підпис
Зареєстровано на кафедрі за № _______
від «___» грудня 2013 р. __________________
підпис
м.Тернопіль – 2013
Тернопільський національний економічний університет
Кафедра комп’ютерної інженерії Дисципліна комп’ютерні системи
Напрям підготовки (спеціальність) 6.050102 комп’ютерна інженерія Курс ІІІ Група КСМ-32 Семестр 5
ЗАВДАННЯ
на курсову роботу студента
Худьо Володимира Дмитровича
1. Тема проекту (роботи): Комп'ютерна система для сканування штрих-кодів на базі мікроконтролера MCS-51
2. Строк здачі студентом закінченого проекту (роботи) «6» грудня 2013 р.
3. Вихідні дані до проекту (роботи):
Довідник програміста персонального комп’ютера типу ІВМ РС АТ;
Технічні умови на однокристальні мікро-ЕОМ;
Довідники по резисторах, транзисторах, конденсаторах, мікросхемах
4.Зміст розрахунково-пояснювальної записки(перелік питань, котрі підлягають розробці)
Стан проблемної області, Аналіз технічного завдання, Розробка структурної схеми, Вибір елементної бази, Розробка принципової схеми, Розрахунок споживаної потужності, Розрахунок надійності, Розробка програмного забезпечення
5.Перелік графічного матеріалу (з точним вказанням обов’язкових креслень)
Схема електрична принципова, Структурна схема, Алгоритм програми роботи контролера
6.Дата видачі завдання____________________________________
КАЛЕНДАРНИЙ ПЛАН
№ п/п
Назва етапів курсової роботи
Строк виконання
етапів роботи
Примітки
1
Розробка структурної схеми
пристрою
___._____. 2013р.
2
Розробка функціональної схеми пристрою
___._____. 2013р.
3
Розробка електричної принципової
схеми пристрою
___._____. 2013р.
4
Розробка блок-схеми алгоритму
___._____. 2013р.
4
Дослідження моделі роботи
пристрою
___._____. 2013р.
5
Оформлення пояснюючої записки та
графічного матеріалу
___._____. 2013р.
Студент________________________ (В.Д. Худьо)
Керівник______________________ (А.С. Ляпандра)
«_10_» вересня 2013 р.
АНОТАЦІЯ
Курсова робота містить 39 сторінок пояснювальної записки, 11 сторінок – додатків, з них 3 плакати графічної частини.
В курсовій роботі розроблено пристрій, який дозволяє використати один персональний комп’ютер для керування роботою локальної обчислювальної мережі, яка складається з сканерів штрих-кодів.
Розроблений пристрій може використовуватися для організації роботи супермаркетів, магазинів, складів для заміни робочих станцій на базі персональних комп’ютерів типу ІВМ РС.
При цьому розроблений пристій є сумісним з системою команд ADAMAR-5000, тобто в мережу можуть бути включені разом з розробленими модулями існуючі.
В даній курсовій роботі розроблено:
Мережевий контролер сканерів штрих-кодів, який передбачає включення до сканерів штрих-кодів в локальну обчислювальну мережу на мікроконтролера MCS-51.
Інструкцію по експлуатації розробленого мережевого контролера сканерів штрих-кодів.
Комплект конструкторської документації.
ТЕХНІЧНЕ ЗАВДАННЯ
НАЙМЕНУВАННЯ ТА ОБЛАСТЬ ЗАСТОСУВАННЯ
Комп'ютерна система для сканування штрих-кодів на базі інтерфейсу RS 232.
Область застосування – обчислювальна техніка.
ОСНОВА ДЛЯ РОЗРОБКИ
Підставою для розробки є завдання на курсову роботу (проект),
затверджене кафедрою комп’ютерної інженерії факультету комп’ютерних
інформаційних технологій Тернопільського національного економічного
університету.
ПРИЗНАЧЕННЯ РОЗРОБКИ
Метою даного курсового проекту є розробка пристрою призначеного для об’єднання сканерів штрих-кодів в локальну обчислювальну мережу без використання персонального комп'ютера, як концентратора мережі.
ДЖЕРЕЛА РОЗРОБКИ
Джерелами даної розробки є матеріали навчальної і реферативної літератури, технічна документація, науково-дослідні роботи, журнали.
ТЕХНІЧНІ ВИМОГИ
5.1 Вимоги до структури і функцій
5.1.1 Мережевий контролер сканерів штрих кодів повинен мати індикатор режиму роботи.
Вимоги до апаратної сумісності
5.2.1 Розроблюваний мережевий контролер повинен повністю забезпечувати зв’язок з сканером штрих кодів по інтерфейсу ARM-Cortex-M3.
ВИМОГИ НАДІЙНОСТІ
Середній час безвідмовної роботи повинен складати не менше 10000 годин. Пристрій повинен бути ремонтопридатним.
УМОВИ ЕКСПЛУАТАЦІЇ
7.1 Мікроклімат в приміщеннях, де встановлено розроблений мережевий контролер, повинен відповідати нормам виробничого мікроклімату для обчислювальних центрів (ГОСТ 12.1.005-88).
7.2 Для нормальної роботи мережевого контролера необхідно підтримувати (по ГОСТ 23.865-85):
темепературу повітря в межах від -50(С до +40(С;
відносну вологість повітря при 25(С в межах від 30% до 80%;
атмосферний тиск 760(25 мм рт. ст.
ВИМОГИ БЕЗПЕКИ, ОХОРОНИ ЗДОРОВ’Я І ПРИРОДИ
Будова мережевого контролера повинна відповідати вимогам електробезпеки ГОСТ 25.861-85.
ПОРЯДОК КОНТРОЛЮ ТА ПРИЙМАННЯ
9.1 Представлення курсового проекту (роботи) на попередній захист.
9.2 Представлення курсового проекту (роботи) на захист.
ЗМІСТ
Вступ……………………………………………………………………………….9
Стан проблемної області…………………………………………………10
Обґрунтування актуальності теми ………………………………10
Аналіз технічного завдання………………………………………12
Проектування мережевого контролера сканерів штрих-кодів…………15
Розробка структурної схеми ……………………………………..15
Обґрунтування вибору елементної бази…………………………18
Розробка принципової схеми ……………………………………21
Розрахунок вузлів принципової схеми…………………………..25
Розробка програмного забезпечення……………………………33
Розрахунок параметрів мережевого контролера сканерів
штрих-кодів………………………………………………………………...40
Розрахунок споживаної потужності……………………..………40
Розрахунок надійності……………………………………………..42
Висновки……………………………………………………………………………45
Список літератури ………………………………………………………………..46
Додаток А Перелік елементів………………………………………………….47
Додаток Б Текст програми роботи контролера (файл scan_pc.c)…………48
Додаток В Текст програми роботи контролера (файл system.h)……………52
Додаток Г Текст програми роботи контролера (файл soft_rs.h)……………54
Додаток Д Структурна схема………………………………………………….56
Додаток Е Схема електрична принципова…………………………………...57
Додаток Є Алгоритм програми роботи контролера…………………………58
ВСТУП
Автоматизація роботи різних підрозділів підприємств торгівлі покращує їхню взаємодію та сприяє покращенню ведення звітної документації та оперативному поповненні асортименту доступних товарів. Відомими є програмні пакети для автоматизації роботи бухгалтерії (1С Бухгалтерія), служби забезпечення (1С Склад). Робота всіх подібних програм опирається на автоматизованій роботі з записами певної бази даних. Ця база даних містить інформацію про наявність товарів їхню ціну і т.д. Недоліком наведених програм є те, що поля бази даних формуються користувачем вручну. Для автоматизації формування бази даних наявних на складі товарів в магазинах використовують сканери штрих-кодів. При цьому сканери використовуються як пристрої вводу інформації в персональний комп’ютер, під’єднаний через локальну обчислювальну мережу до сервера, на якому розміщена загальна база даних. Робочі станції виконують обмежений набір функцій по опитуванню сканерів штрих-кодів та виведенню повідомлень на екран монітора. Як робочі станції використовуються офісні комп’ютери, обчислювальні потужності яких використовуються менше ніж на 1%. Низька кваліфікація операторів робочих станцій приводить до перебоїв в роботі системи в цілому та до необхідності дублювання ключових вузлів системи. Даний курсовий проект являє собою розробку функціонально закінченого пристрою, який призначено для заміни персонального комп’ютера в розподілених системах збору даних від сканерів штрих-кодів.
1 СТАН ПРОБЛЕМНОЇ ОБЛАСТІ
1.1 Обґрунтування актуальності теми
Роздрібні продавці, які вклали інвестиції в інформаційні технології, переконуються раз за разом, що незважаючи на значні початкові розміри інвестицій, вони одержують значну довготривалу економію коштів. У типовому випадку, 2% (від товарообігу) інвестицій в інформаційні технології веде до 6% економії [1]. Подібна вигода в застосовні є практично в будь якій галузі [2].
Інформаційні технології забезпечують керування з дуже деталізованою, часто обновлюваною інформацією з ключових аспектів бізнесу і дозволяє приймати рішення швидше і з більшою достовірністю. Наприклад, при роздрібній торгівлі: товари, які швидко продаються можуть бути швидко виявлені й автоматично перенаправлені відповідно до потреб споживачів. Товари, які повільно продаються можуть бути виявлені для запобігання створення зайвих запасів на складі.
Більш розвинені системи можуть використовувати дані по історії товару, щоб точніше прогнозувати сезонні коливання продажів. Такі системи дають багато переваг, однак вони настільки добре працюють, наскільки достовірні дані використовують. Швидкість і акуратність введення даних є критично важливою умовою. На місці продажу, наприклад, буде неможливо для персоналу описувати в деталях кожен продукт проданий покупцю. Дослідження показують, що в середньому одна помилка відбувається на кожні 300 натискань клавіш, при ручному введенні даних [1].
Для забезпечення достовірності даних використовується маркування з використанням штрих-коду. Оператор може вводити 13 цифровий код приблизно за 3 секунди. Сканер штрих-коду робить те ж за десяті долі секунди. Тобто при ручному вводі інформації один продукт із двадцяти трьох буде невірно визначений. І тільки один із сотень тисяч буде невірно введений при використанні штрих-коду [2].
Можливим є застосування інших методів автоматичного вводу даних, наприклад, оптичне розпізнавання даних (OCR), однак жоден інший метод, не забезпечує настільки високого співвідношення ціна/продуктивність при використанні.
Найчастіше сканери штрих-кодів працюють по інтерфейсу RS 232 [3]. Тобто забезпечується дуплексний зв’язок типу “точка – точка”. Як контролери сканерів штрих-кодів використовуються персональні комп’ютери, включені в локальну обчислювальну мережу. Недоліком такої архітектури системи є залежність працездатності системи від кваліфікації операторів робочих станцій. Функції робочої станції зводяться до очікування повідомлення від сканера штрих-кодів, формування запитів серверу мережі та вивід прийнятої інформації на монітор. Всі ці функції легко може виконати спеціалізована мікропроцесорна система. При цьому надійність роботи всієї мережі значно підвищиться. Крім того відпаде необхідність використання персонального комп’ютера.
Отже актуальною є задача розробки пристрою, який би здійснював прийом повідомлень сканера штрих-кодів, забезпечував передачу цих повідомлень серверу, приймав відповідь сервера та виводив цю відповідь на індикатор.
1.2 Аналіз технічного завдання
Для заміни персонального комп’ютера в системах збору інформації від сканерів штрих-кодів необхідно використати цифровий автомат, який дозволяє:
читати та передавати дані по інтерфейсу RS 232;
забезпечувати зв’язок з сервером мережі;
формувати пакети повідомлень, згідно стандарту “мережевого” інтерфейсу;
підключити DAQ модулі інших виробників в одну мережу;
обробку колізій;
аутентифікацію сканерів.
Ідея керування такою мережею є досить простою: сервер буде виконувати функції маршрутизатора повідомлень та банку даних. Всі мережеві контролери відправляють і приймають пакети повідомлень “всім від всіх” – режим “broadcast”. Кожен пристрій виявляє свої пакети і відповідає на запити, які адресуються саме йому. Тоді безадресні повідомлення, які виникають в при комутації мережевих контролерів, внаслідок збоїв системи, дії імпульсних завад то що – просто губляться. Таким чином з’являється можливість легко нарощувати кількість підключених модулів, шляхом встановлення нових модулів.
Процедура виявлення нового модуля буде полягати в періодичній посилці спеціального повідомлення адресованого “всім активним” мережевим контролерам, та очікуванні відповідей з адресами активних. Контролер сканера штрих-кодів проводить постійне опитування сканера штрих-кодів, прийняті дані зберігає в стек. Опитування контролерів сканерів (Polling), є головною функцією сервера по відношенню до мережі. При цьому опитується контролер з певною адресою контролер відповідає повідомленням, яке містить вміст стеку (якщо стек пустий то відправляється пусте повідомлення). Мережевий контролер не може нічого сказати в лінію “за власною ініціативою” (інакше виникнуть конфлікти арбітражу). Більш докладно протокол зв'язку розглянемо окремо. Там же будуть розглянуті формати повідомлень.
Сканер штрих-кодів представляє собою мікропроцесорну систему, яка візуально зчитує дані представлені в вигляді штрих-коду. При попаданні штрих-коду в сканер його контролер ініціює лазерне сканування штрих коду, розпізнавання відсканованого зображення та передачу розпізнаних даних по інтерфейсу RS 232. По замовчуванню встановлюється формат повідомлень 9600 8N1. Тобто швидкість обміну 9600 Бод, кадр складається з 10 біт з них: перший нульовий стартовий біт, вісім біт даних, один одиничний стоп-біт, перевірка на парність – відсутня, дані передаються послідовно без пауз між кадрами [3]. Сканер штрих-кодів виступає ініціатором передачі даних, обслуговуюча система відповідно повинна очікувати повідомлень, або працювати по перериваннях викликаних приходом даних по інтерфейсу RS 232. Крім того сканер штрих-кодів не передбачає повтору повідомлень, завадостійкого кодування то що. Це означає, що обслуговуюча система повинна слідкувати за кінцем передачі кадрів повідомлень, і не допускати “перезапису” наступного байту на місце попереднього не зчитавши його. Тобто кожен байт повідомлення повинен бути прочитаним під час прийому стартового біту наступного байту.
Як мережевий інтерфейс доцільно вибрати RS-485 [4]. Це зв’язано з його логічною сумісністю з інтерфейсом RS 232, низькою вартістю ліній зв’язку та розповсюдженим периферійним обладнанням, яке працює по цьому інтерфейсу. Тоді повідомлення, які циркулюють в мережі повинні відповідати протоколу ADAMAR-5000 [4].
2 ПРОЕКТУВАННЯ МЕРЕЖЕВОГО КОНТРОЛЕРА СКАНЕРА ШТРИХ-КОДІВ
2.1 Розробка структурної схеми
Структурну схему розробленого мережевого контролера сканера штрих-кодів представлено на рисунку 2.1.
Рисунок 2.1 - Структурна схема мережевого контролера сканерів штрих-кодів
де Scanner – сканери штрих-кодів;
Network controller – мережевий контролер сканерів штрих-кодів;
PC – сервер мережі;
RS-485 – “мережевий” інтерфейс підключення контролерів до сервера;
RS-485/RS-232 – перетворювач інтерфейсу RS-485 в RS-232;
MC – процесор;
RAM – оперативний запам’ятовуючий пристрій;
ROM – постійний запам’ятовуючий пристрій;
AD1 – адаптер інтерфейсу RS 232;
AD2 – адаптер інтерфейсу RS-485;
LED – блок індикації;
BUS – системна шина мережевого контролера сканерів штрих-кодів;
INT1, INT2 – переривання від адаптерів інтерфейсів.
Мережевий контролер сканерів штрих-кодів представляє собою мікропроцесорну систему яка постійно очікує переривань INT1 або INT2, які викликаються відповідно адаптерами інтерфейсів AD1 та AD2. Сигнал INT1 встановлюється після завершення прийому стоп-біту по інтерфейсу RS 232. Передача даних по цьому інтерфейсу ініціюється сканером штрих-кодів (Scanner). Адаптер АD1 здійснює прийом сигналів, перекодування прийнятих даних з послідовного формату в паралельний, запис в буферний регістр та генерацію сигналу переривання INT1. По запиту процесора CPU адаптер AD1 видає на виходи вміст буферного регістра.
Програма роботи процесора записана в постійний запам’ятовуючий пристрій ROM, починаючи з нульового адресу. В ROM кожного контролера записано його адрес, який є унікальним для всієї мережі. Після початку роботи процесор ініціалізує адаптери послідовних інтерфейсів AD1 та AD2, програмні буфери інтерфейсів RS 232 та RS-485, які знаходиться в оперативному запам’ятовуючому пристрої RAM, обнулює вказівники вершин буферів. По перериванню INT1 процесор виконує підпрограму обробки переривання, яка формує сигнал запиту для адаптера AD1, читає вміст його буферного регістра та записує його в пам’ять RAM по адресу, який задано вказівником вершини буферу інтерфейсу RS 232. Після цього інкрементується цей вказівник та здійснюється вихід з підпрограми обробки переривань.
Адаптер AD2 працює аналогічно до адаптера AD1, однак формує запит на переривання INT2. Поява запиту INT2 переводить процесор на виконання підпрограму обробки цього переривання. Підпрограма обробки переривання читає вміст буферного регістру адаптера AD2, перевіряє його на ознаку кінця повідомлення (символ кодом 13d). Якщо одержано символ відмінний від символу кінця повідомлення, то він записується в кінець буферу інтерфейсу RS-485. При одержанні символу кінця повідомлення здійснюється обробка повідомлення, яка включає:
Розпізнавання адресата повідомлення.
Якщо адрес адресата повідомлення не співпадає з власним адресом контролера (повідомлення адресувалося іншому контролеру), очищується буфер інтерфейсу RS-485, та здійснюється вихід з підпрограми обробки переривань.
Розпізнавання команди.
Можливими є наступні команди:
Видати вміст буферу інтерфейсу RS 232;
Очистити буфер інтерфейсу RS 232;
Засвітити на певний час світлодіодний індикатор.
Виконання команди.
Відповідь по інтерфейсу RS-485.
Вихід з підпрограми обробки переривань.
Підпрограма обслуговування переривань, яка формує сигнал запиту для адаптера AD1, читає вміст його буферного регістра та записує його в пам’ять RAM по адресу, який задано вказівником вершини буферу інтерфейсу RS 232. Після цього інкрементується цей вказівник та здійснюється вихід з підпрограми обробки переривань.
2.2 Обґрунтування вибору елементної бази
Як базовий елемент розробленого мережевого контролера сканерів штрих-кодів (контролер) доцільно використати однокристальну мікро-ЕОМ, яка включає в себе всі необхідні для функціонування вузли. Виходячи з необхідності забезпечення мінімальної ціни пристрою, легкості розробки програми роботи, розповсюдженості засобів розробки програм доцільним є використання однокристальної мікро-ЕОМ типу MCS-51. В даному пристрої оптимальним є використання мікросхеми мінімальної апаратної конфігурації та розмірів АТ89С2051.
Однокристальної мікро-ЕОМ типу MCS-51 є модифікацією восьми розрядних мікро-ЕОМ MCS-51 фірми Intel [5] з корпусом типу 20 PDIP. Мікросхеми виготовлюються по КМОН (CMOS) технології та мають повністю статичну структуру. До переваг цієї мікро-ЕОМ можна віднести:
Мінімальна кількість допоміжних елементів;
Висока робоча частота;
Розповсюдженість засобів розробки програм;
Мала споживана потужність;
Вбудований контролер послідовного інтерфейсу;
Наявність перепрограмованого постійного запам’ятовуючого пристрою;
Типовими областями використання для мікро-ЕОМ цієї серії є контролери для модемів, засоби промислової автоматики, контролери пультів дистанційного управління в побутових пристроях то що. В останній час вище наведені мікро-ЕОМ знаходять широке використання у розподілених системах автоматичного керування, як програмно керовані цифрові автомати з можливістю перепрограмування програми роботи та оптимальним співвідношенням ціна/продуктивність.
Апаратні засоби мікро-ЕОМ MCS-51 наведені в таблиці 2.1.
Таблиця 2.1 - Інтегровані апаратні засоби мікро-ЕОМ MCS-51
№
Назва вбудованого вузла
Параметри
Генератор тактових імпульсів
0…24 МГц
Електрично перепрограмовуваний постійний запам’ятовуючий пристрій
2кБ, 1000 перезаписів
Статичний оперативний запам’ятовуючий пристрій
128 Байт
8 бітний арифметико логічний пристрій з підтримкою операцій множення та ділення
Побітно керовані порти вводу виводу
15 лінії
Контролер переривань
5 джерел, 2 рівні пріоритету
Програмовані таймери
2 16 розрядні
Контролер послідовного інтерфейсу
Можливість роботи по RS 232
Схема електрична принципова включає елементи С2, С3, C4, C5, R5 та Q1, які складають стандартну схему включення мікро-ЕОМ MCS-51 [5].
Як блок живлення пристрою доцільно використати централізований блок живлення з напругою +12 В.
Елементи Q1, C3, C4 – частотозадаючі елементи вбудованого в мікро-ЕОМ генератора. Максимальна частота кварцового резонатора Q1 – fq1 для мікросхеми MCS-51 – 24 МГц. Однак для забезпечення нормованих швидкостей обміну інтерфейсів RS 232 та RS-485, оптимальною є частота 22,112 МГц. Згідно технічної документації [5] конденсатори C3 та C4 вибираються рівними між собою з номіналом 20…40 пФ. Робоча частота – не менше ніж 10…15 * fq1 що відповідає 220…330 Мгц. Допустима робоча напруга – 5В. Отже вибираємо конденсатори C3 та C4 типу КД2–М1500–33пФ–(10% [9].
Конденсатор C5 використовується для скидання мікро-ЕОМ при включенні напруги живлення (підключенні пристрою скидання до клавіатурного розйому персонального комп’ютера). Рекомендоване в технічній документації [5] значення ємності (для кварцового резонатора 22,112 МГц) 1 мкФ. Допустима робоча напруга конденсатора – 5В, стала часу заряду t = R5 * C5 ≥ 10 * 12 / FQ1 ≈ 6 μc. Що відповідає робочій частоті 170 кГц. Отже можна вибирати конденсатори типу К50–6–16V–1мкФ [9]. При цьому стала часу диферинціюючої ланки C5 – R5 повинна відповідати максимальній робочій частоті конденсатора C5.
С2 – високочастотний фільтр який призначається для усунення впливу високочастотних пульсацій струму споживання мікро-ЕОМ на напругу живлення. Згідно технічної документації [5] ємність конденсатора С2 повинна бути не менше ніж 0.1 мкФ. Робоча частота – не менше ніж 2 * fq1 що відповідає частоті 45 МГц. Отже вибираємо конденсатори типу КM–6–H90–1мкФ.
Для формування напруги живлення доцільно використати інтегральний компенсаційний стабілізатор напруги з вихідною напругою рівною напрузі живлення мікро-ЕОМ, тобто +5 В. Якщо вибрати мікросхему LM7805 [13] то вхідна напруга повинна знаходитися в межах від 7 до 30 В. Конденсатор С1 є низькочастотним фільтром, призначеним для згладження пульсацій напруги живлення. Допустима напруга цього конденсатора повинна бути не меншою ніж максимальна допустима вхідна напруга інтегрального стабілізатора напруги, тобто 36 В. Робоча частота не менше ніж подвійна частота мережі живлення (100 Гц). Отже можна вибирати конденсатори типу К50–6–36V.
Для забезпечення індикації режиму роботи контролера використано два світлодіодні індикатори VD1 та VD2. Виходячи з низького значення робочого струму доцільно вибрати АЛ103Б [10].
2.3 Розробка принципової схеми
Вибрана однокристальна мікро-ЕОМ включає в себе наступні елементи структурної схеми:
MC – процесор;
RAM – оперативний запам’ятовуючий пристрій;
ROM – постійний запам’ятовуючий пристрій;
AD1 – адаптер інтерфейсу RS 232;
AD2 – адаптер інтерфейсу RS-485.
Виходи TxD та RxD вибраної однокристальної мікро-ЕОМ забезпечують рівень вихідних сигналів рівня ТТЛ. Для узгодження цих сигналів зі стандартними рівнями інтерфейсу RS-485 необхідно використати додаткову схему узгодження рівнів. Для цього пропонується використати 2 включених на зустріч транзисторних ключі рисунок 2.2.
В нормальному стані на виходах RxD та TxD знаходяться логічні одиниці (напруга +5В), на виході Data + знаходяться логічна одиниця інтерфейсу RS-485 (напруга –12В). Тоді транзистори VT1 та VT2 – закриті, отже на вході Data + залишається напруга – 12В. Пристрої під’єднані до цього інтерфейсу сприймають цю напругу як логічну одиницю.
Рисунок 2.2 - Схема узгодження рівнів напруги інтерфейсу RS-485
При передачі даних від мережевого контролера сканерів штрих-кодів до сервера мережі на виході TxD формується нульовий стартовий біт, при цьому транзистор VT1 насичується (через колектор тече струм) при цьому напруга на колекторі стає рівною, приблизно, 4.5 В. Ця напруга поступає на лінію Data +. Під’єднані пристрої розпізнають цю напругу як логічний нуль.
При передачі даних від сервера до мережевих контролерів сканерів штрих-кодів на лінії Data + формується стартовий нульовий біт напругою +12В. При цьому транзистор VT2 насичується. Напруга на колекторі цього транзистора стає рівною 0.4В. Ця напруга передається на вхід RxD однокристальної мікро-ЕОМ і розпізнається як логічний нуль. При передачі логічних одиниць від мережевого контролера сканерів штрих кодів до сервера мережі транзистор VT1 – закритий, отже на лінії Data + формується напруга –12В (логічна одиниця). При передачі логічних одиниць від сервера до мережевого контролера транзистор VT2 – закритий, отже на вході RxD мікро-ЕОМ формується напруга +5В (логічна одиниця).
Перевагами запропонованої схеми є:
Відсутність від’ємного джерела напруги живлення (-12В);
Тестування апаратного забезпечення схеми узгодження рівнів мережевим контролером сканерів штрих-кодів.
Подібна схема використовується для узгодження рівнів мікро-ЕОМ та інтерфейсу RS 232 вона представлена на рисунку 2.3.
Виходи програмно реалізованого асинхронного послідовного передавача (TxD S) та приймача (RxD S) під’єднані до електронних ключів на базі транзисторів VT3 та VT4. Принцип роботи схеми узгодження є аналогічним до рисунку 2.4.1. Різниця між цими двома схемами полягає в принципі формування від’ємної напруги на вході RxD інтерфейсу RS 232. Вона формується напругою логічної одиниці виходу ТxD. В нормальному стані (при відсутності передачі даних по інтерфейсу RS 232) на виході ТxD є логічна одиниця напругою – 12 В. Діод VD3 – відкритий, конденсатор С6 (через резистор R10) заряджається до напруги – 12 В. Напруга конденсатора через резистор R9 поступає на вхід RxD інтерфейсу RS 232, та формує логічну одиницю, при закритому транзисторі VT4. Коли на вихід ТxD інтерфейсу RS 232 поступає логічний нуль (напруга +12 В) діод VD3 починає працювати в зворотному включенні (не пропускає струм) тобто конденсатор С6 утримує попередньо заряджену напругу. При цьому транзистор VT3 працює аналогічно до транзистора VT2.
Рисунок 2.3 - Схема узгодження рівнів напруги інтерфейсу RS-485
При передачі логічних одиниць від мікро-ЕОМ в лінію RxD інтерфейсу RS 232 транзистор VT4 – закритий, на вхід RxD поступає напруга конденсатора С6. При передачі логічних нулів – транзистор VT4 – насичений, на вхід RxD поступає напруга насичення транзистора VT4, яка рівна приблизно 4,5 В. Ця напруга сприймається як логічний нуль.
Перевагами запропонованої схеми є:
Можливість живлення схеми від відносно нестабільного джерела напруги живлення;
Однополярне живлення схеми;
Легкість настройки схеми;
Незалежність режиму роботи від кількості включених мережевих контролерів;
2.4 Розрахунок вузлів принципової схеми
Розрахунок схеми передавача інтерфейсу RS 232:
Еквівалентну схему передавача послідовного інтерфейсу RS 232 представлено на рисунку 2.4.
Рисунок 2.4 - Еквівалентна схема передавача
В нормальному стані (при відсутності логічних сигналів) на виході TxD знаходиться логічна одиниця, тобто напруга на цьому виході UTxD = 5В, отже базовий струм транзистора VT4 рівний нулю, тобто він – закритий (не пропускає струм між колектором і емітером). Напруга на вході RxD послідовного інтерфейсу RS 232 (URxD RS-232С) рівна напрузі конденсатора С6 (UC6) URxD RS 232 = UC6 = - 12В, тобто ця напруга буде сприйматися як логічна одиниця на вході RxD RS 232. Отже логічна одиниця з виходу мікро-ЕОМ поступає на вхід інтерфейсу RS 232 без спотворень.
Коли на виході TxD мікро-ЕОМ э логічний нуль то напруга на цьому виході UTxD = 0.5В, транзистор VT2 є насиченим (пропускає максимальний струм), напруга на резисторі R7 знаходиться за формулою:
UR7 = E – UБЕVT4 – UTxD = 5 – 0.7 – 0.5 = 3.8В,
IR7 = UR7 / R7, (2.1)
IR9 = ( * IR7 , (2.2)
де ( - статичний коефіцієнт підсилення транзистора VT4;
IR7 – струм через резистор R7;
IR9 – струм через резистор R9;
Робочий струм виходу TxD ITxD RS232C = 5 мА, напруга входу RxD URxD RS 232= 4,5 (для насиченого транзистора VT2).
Напруга на резисторі R5 розраховується по формулі:
UR5 = URxD PC – UTxD PC = 4.5 + 12 = 16.5 В,
За законом Ома можна розрахувати значення опору R5:
R5 = UR5 / R5 = 3300 Ом
Для вибору резистора розрахуємо розсіювану на цьому резисторі потужність. Для цього розрахуємо максимальний спад напруги на цьому резисторі, який виникає при насичення транзистора VT2.
UR5 max = U0RxD – U1TxD = 12 – (-12) = 24В,
Тоді розсіювана потужність рівна:
PR5 = U2R5MAX / R5 = 242 / 3300 = 160*10-3 Вт
Тому вибираємо R5 – С2-33-0.250-3,3к [11].
Допустимий робочий струм виходу персонального комп’ютера ITXD RS_232 = 5мА, максимальна допустима напруга на колекторі транзистора VT2 виникає при закритому транзисторі і складає 17 В. Тобто можемо вибрати VT2 – КТ361А [10].
Для розрахунку значення опору резистора R2 розрахуємо робочий струм цього резистора:
IR2 = IR5 / ( = 5 / 20 = 0.25 мА
де IR2 - робочий струм резистора R2;
IR5 - робочий струм резистора R5
( - статичний коефіцієнт підсилення транзистора VT2.
По закону Ома:
R2 = UR2 / IR2 =3.8 / 0.25 = 14.4 кОм
Розсіювана потужність резистора R2 розраховується по формулі:
PR2 = UR2 * IR2 = 3,8 * 0,25 ≈ 1 * 10-3 Вт
Вибираємо R2 – С2-33-0.125-13к [11].
Для перевірки функціонування схеми передавача було використано програмний пакет Electronic Workbench 5.12. Схему перевірки функціонування представлено на рисунку 2.5.
Рисунок 2.5 - Схема для перевірки функціонування схеми передавача
Осцилограми роботи схеми представлено на рисунку 2.6. Верхня крива – меандр з напругою 0 В та 5 В відображає осцилограму виходу TxD (входу схеми узгодження рівнів передавача). Нижня крива відображає осцилограму вихідної напруги передавача. При напрузі +5В на вході схеми узгодження рівнів відповідає напруга –12 В на виході, а напрузі 0 В - +5 В на виході. Тобто логічному нулю рівня ТТЛ відповідає логічний нуль інтерфейсу RS 232, аналогічно логічній одиниці рівня ТТЛ відповідає логічна одиниця інтерфейсу RS 232. Отже схема узгодження рівнів функціонує.
Рисунок 2.6 - Осцилограми роботи схеми передавача
Розрахунок схеми приймача – рисунок 2.7:
Рисунок 2.7 - Схема приймача
Виходячи з технічних характеристик послідовного інтерфейсу RS 232 [10] (UTxD PC MIN = - 12 В, UTxD PC MAX = 12 В) та мікро-ЕОМ АТ89С51 (URxD MIN = 0.5 В; URxD MAX = 4.5 В).
Якщо на виході TxD PC є логічна одиниця, то напруга на цьому виході UTxD PC = -12В; ( VT1 – закритий; струм через резистор R4 IR4 = 0 тобто напруга на цьому резисторі URxD = 5В яка на вході RxD сприймається як логічна одиниця.
Якщо на виході TxD PC є логічний нуль, напруга на цьому виході UTxD PC = 12В тоді транзистор VT1 – насичений; на вхід RxD PC (через подільник напруги R4, R5) поступає напруга, яка відповідає логічному нулю (URxD PC > 3В).
IR5 = 1 мА, за законом Ома напруга UR5 = IR5 * R5 = 1*10-3 * 3.3 * 103 = 3.3 В; тобто напруга URxD PC = UTxD PC – UR5 = 12 – 3.3 = 8.7 В; отже на вхід RxD PC поступає логічний нуль.
Вибираємо транзистор VT1 – КТ315А [7].
UR4 = UTxD PC – UБЕ VT1 = 8.7 – 0.7 = 8 В
R4 = UR4 / IR4 = UR4 / IR5 = 8 / 10-3 = 8 кОМ
PR4 = IR4 * UR4 = 1 * 10-3 * 8 = 8 мВт
Вибираємо R4 – С2-33-0.125-8.2кОм [8]
IR3 = (VT1 * IR4 = 20 * 1 * 10-3 * = 20 мА
R4 MIN = (E – UKVT1) / IR3 = 220 Ом
Вибираємо R4 - – С2-33-0.125-10кОм [8]. Тим самим ми зменшуємо струм насичення транзистора VT1, та збільшуємо коефіцієнт корисної дії транзисторного ключа.
Для перевірки функціонування схеми приймача також було використано програмний пакет Electronic Workbench 5.12. Схему перевірки функціонування представлено на рисунку 2.8.
Осцилограми роботи схеми представлено на рисунку 2.9. Верхня крива відповідає виходу TxD інтерфейсу RS 232. Нижня – входу RxD мікро-ЕОМ. Напруга +12 В на виході TxD перетворюється в напругу 0 В на вході RxD, аналогічно напруга -12 В перетворюється на напругу +5 В. Тобто логічна одиниця інтерфейсу RS 232 перетворюється в логічну одиницю стандарту ТТЛ, логічний нуль інтерфейс RS 232 перетворюється в логічний нуль стандарту ТТЛ. Логічні сигнали передаються, отже схема приймача функціонує правильно.
Рисунок 2.8 - Схема перевірки функціонування схеми приймача з допомогою програмного пакету Electronic Workbench
Рисунок 2.9 -Осцилограми роботи схеми приймача
2.5 Розробка програмного забезпечення
Команди сервера поділяються на індивідуальні та групові. Індивідуальні команди призначені для мережевого контролера сканерів штрих кодів адрес якого вказано безпосередньо в команді Передбачена одна групова команда “видати адреси активних мережевих контролерів сканерів”. Формат команди : !N<0Dh>.
Індивідуальні команди призначені для індивідуального керування кожним мережевим контролером сканера штрих кодів. Формат індивідуальних команд: @nnc<0Dh>.
Кожна команда передбачає відповідь-підтвердження. Формат відповіді: “$nnа<0Dh>”.
Де “!”, “N”, “@” та “$” – АSCII коди відповідних символів, “nn” – адрес контролера в гексадецимальному форматі, “с” - АSCII код відповідного символу команди, “а” - АSCII код відповідного символу відповіді, <0Dh> - код кінця повідомлення 13. Передбачені в розробленому мережевому контролері сканерів штрих-кодів індивідуальні команди вказані в таблиці 2.2.
Таблиця 2.2 - Результати розрахунків імовірності безвідмовної роботи.
№
Команда
Символ команди, с
Символ відповіді, а
Видати та очистити вміст буферу інтерфейсу RS 232
S
s
Засвітити світлодіод VD1 на 3 секунди
O
o
Засвітити світлодіод VD2 на 3 секунди
E
e
Після включення напруги живлення (підключенні розйому мережевого контролера сканерів штрих-кодів до мережі RS-485) схема скидання формує імпульс скидання мікро-ЕОМ. Імпульс скидання викликає перехід процесора мікро-ЕОМ на адрес 0. По цьому