Прямим аналогом цієї мікросхеми є I8251 фірми Intel Corp .
3.2 Мікроконтролер КМ1816ВЕ51
З урахуванням вимог технічного завдання, для виконання пристрою міжконтролерного обміну інформацією, її кодування та декодування, а також запису інформації доцільно використати мікропроцесор КМ1816ВЕ51.
Мікроконтролер виконаний на основі високорівневої N-МОП технології і випускається в корпусі ВІС, що має 40 зовнішніх виводів. Цокольовка корпусу МК51 і найменування виводів показані на рисунку 3.4.
Для роботи МК51 потрібно одне джерело електроживлення +5 В. Через чотири порта що програмуються введення/виводу МК51 взаємодіє із середовищем у стандарті ТТЛ-схем із трьома станами виходу.
Основу структурної схеми МК51 (рисунок 3.5) утворює внутрішня двонаправлена 8-бітна шина, що зв'язує між собою всі основні вузли і пристрої:
- резидентна пам'ять,
- АЛП,
- блок регістрів спеціальних функцій,
- пристрій керування
- порти введення/виводу.
Арифметично-логічний пристрій.
8-бітне АЛП може виконувати арифметичні операції додавання, віднімання, множення і ділення; логічні операції І, АБО, виключаєче АБО, а також операції циклічного зсуву, скиду, інвертування і т.п. У АЛП є програмно недоступні регістри Т1 і Т2, призначені для тимчасового збереження операндів, схема десяткової корекції і схема формування ознак.
Найпростіша операція додавання використовується в АЛП для інкрементування вмісту регістрів, просування регістра вказівника даних і автоматичного обчислення наступної адреси РПП. Найпростіша операція віднімання використовується в АЛП для декрементування регістрів і порівняння змінних.
Найпростіші операції автоматично утворять "тандеми" для виконання в АЛП таких операцій, як, наприклад, інкрементування 16-бітних реєстрових пар.
В АЛП реалізується механізм каскадного виконання найпростіших операцій для реалізації складних команд. Так, наприклад, при виконанні однієї з команд умовної передачі керування по результату порівняння в АЛП тричі інкрементується СК, двічі виконується читання з РПД, виконується арифметичне порівняння двох змінних, формується 16-бітна адреса переходу і приймається рішення про те, робити або не робити перехід по програмі. Всі перераховані операції виконуються в АЛП усього лише за 2 мкс.
Пам'ять програм і пам'ять даних, розміщені на кристалі МК51 фізично і логічно розділені, мають різноманітні механізми адресації, працюють під керуванням різноманітних сигналів і виконують різні функції.
Пам'ять програм (ПЗП або СППЗП) має ємність 4 Кбайта і призначена для збереження команд, констант, керуючих слів ініціалізації, таблиць перекодування вхідних і вихідних змінних і т.п. РПП має 16-бітну шину адреси, через яку забезпечується доступ із лічильника команд або з регістра-вказівника даних. Останній виконує функції базового регістра при непрямих переходах по програмі або використовується в командах, що оперують із таблицями.
Пам'ять даних (ОЗП) призначена для збереження змінних у процесі виконання прикладної програми, адресується одним байтом і має ємність 128 байт.
Вхідні сигнали для МК51 можуть формуватися ТТЛ-схемами або n-МОП-схемами. Допустимо використання в якості джерела сигналів для МК51 схем із відкритим колектором або відкритим стоком. Проте при цьому час зміни вхідного сигналу при переході з 0 у 1 виявиться сильно затягнутим.
. Звертання до портів введення/виводу можливо з використанням команд, що оперують із байтом, окремим бітом і довільною комбінацією біт. При цьому в тих випадках, коли порт є одночасно операндом і місцем призначення результату, пристрій керування автоматично реалізує спеціальний режим, що називається "читання- модифікацію-запис". Цей режим звертання припускає введення сигналів не з зовнішніх виводів порту, а з його регістра-засувки, що дозволяє виключитинеправильне зчитування раніше виведеної інформації.
Рисунок 3.4 – Структурна схема МК51
4 Розробка структурної схеми
Структурна схема знаходиться у додатку В, складається з таких блоків:
1) лінія зв’язку;
2) перетворювач уніполярної напруги в біполярну;
3) перетворювач біполярної напруги в уніполярну;
4) згортковий кодер;
5) згортковий декодер;
6) пристрій введення/виведення;
7) тригер (для запам’ятовування стану);
8) лічильник;
9) пристрій управління;
10) мікроконтролери.
В основі пристрою лежить система передачі інформації, яка складається з вищеописаних блоків. Вона складається з приймальної частини, каналу зв’язку і передавальної частини. Передавальна частина складається з мікроконтролера, в якому зберігається інформація, яку потрібно передати, пристрою управління, який керує зчитуванням даних з мікроконтролера, пристрою введення/виведення (IOS), який представляє собою УСАПП Intel 8251, згорткового кодера, який кодує інформацію згортковим кодом, який може виправляти помилки, перетворювача уніполярної напруги в біполярну згідно індивідуального завдання, схеми зворотнього зв’язку, потрібної для того, щоб впевнитись, що повідомлення було прийнято, яка складається зі схеми вимірювання часу, двох тригерів, лічильника і ця схема з’єднана з пристроєм управління.
Лінія зв’язку представляє собою самостійний елемент і в даній роботі вона розглядається як єдиний блок в спрощеному вигляді.
Приймальна частина складається з перетворювача біполярної напруги в уніполярну, щоб отримати сигнали, які сприймають цифрові мікросхеми, згорткового декодера, щоб декодувати інформацію, закодовану кодером і виявити помилки, якщо вони є , мікроконтролера, в який записується інформація в разі її успішного прийому, схеми зворотнього зв’язку, яка передає передавальній стороні сигнали про те, що інформація успішно і правильно прийнята, або прийнята неправильно. Вона складається з двох тригерів і формувача повідомлення.
5 Розробка функціональної схеми
Інформація, призначена для передавання знаходиться в мікроконтролері, де чекає своєї черги на передавання. З мікроконтролера інформація по 8 біт передається до входу згорткового кодера, де вона кодується згортковим кодом для виправлення помилок і передається на вхід ТхD УСАПП. У якості пристрою введення-виведення УСАПП вибрано І8251. Після формування повідомлення в асинхронному режимі сигнал перетворюється з уніполярного в біполярний. Цей перетворювач сигналів містить у собі тригер, 2 мікросхеми «АБО», один інвертор і підсилювач з коефіцієнтом підсилення 2.4 і суматор на операційному підсилювачі.
Схема зворотного звязку реалізована, як показано в додатку В: в основі її лежить схема вимірювання часу для порівняння прийнятого сигналу з еталонним. Можливі 2 варіанти: або прийнятий сигнал менше еталонного, або довше. У першому випадку це означає, що потрібно повторити біт інформації, в другому-що можна передавати наступний біт. Лише після спрацювання схеми зворотного звязку і отримання сигналу про успішне передавання може початись передавання наступного біта. Для зафіксування стану успішного прийняття інформації використовуються 2 тригера. Пристрій управління для керування мікроконтролером використовуються два лічильника-один перемикається при отриманні сигналу про те, що треба передавати біт, а інший послідовно генерує 8 імпулісів для зчитування 8 біт.
На приймальній стороні сигнал поступає на перетворювач біполярної напруги в уніполярну, який реалізований на 2-х діодах і одному підсилювачі з коефіцієнтом підсилення -1 і суматора на операційному підсилювачі, який також послаблює сигнал в 2.4 рази. Після перетворення інформація поступає на згортковий декодер, де вона декодується, виправляються помилки. Після декодування сигнал поступає на вхід RxD і записується по мікроконтролеру. Якщо інформація не записалась(наприклад-виникнення помилки переповнення чи парності) схема зворотного звязку сигналізує про відповідну помилку. Тригер встановлюється в 1, і одновібратор генерує імпульс тривалістю 0.3 мс. Якщо помилки не виникло і можна передавати наступний біт, генерується імпульс тривалістю 0.5 біт. Один з цих імпульсів відсилається до лінії звязку.
6 Розробка принципової схеми
У якості операційних підсилювачів в схемі вибрано К1401УД1. Цей ОП вимагає двополярного живлення -5В - +5В.
У якості мікросхем логічних «АБО» вибрано мікросхеми КР1533ЛИ6 з живленням від 0 до +5В, яка містить 4 «АБО».
У якості мікросхем логічних «І» вибрано мікросхеми КР1533ЛИ1 з живленням від 0 до +5В, яка містить 4 «І».
У якості мікросхем Т-тригерів обрано мікросхеми КР1533ТМ7 на основі D-тригерів з живленням від 0 до +5В, яка містить 4 тригера.
У якості пристрою введення-виведення УСАПП вибрано І8251.
7 Вибір та обґрунтування мови програмування
Існує велика кількість мов програмування, які застосовуються при роботі з різноманітними мікропроцесорами, мікроконтролерами та персональними комп’ютерами. Мови програмування для мікро-ЕОМ можна розділити на три основних рівні: машинні, алгоритмічні високого рівня і асемблера.
На самому нижньому рівні знаходяться машинні мови програмування. Їх основним недоліком є те, що будучи мовами цифр, вони незручні для опису обчислювальних процесів і тому потребують від програмістів великих зусиль при написанні і налагодженні програм. Перевагами машинної мови є те, що для програмування на ній необхідні знання тільки системи команд ЕОМ, а для виконання складених таким чином програм обчислювальна машина не потребує ніяких трансляторів. Крім того, при використанні машинної мови можна досягнути максимальної гнучкості в реалізації технічних можливостей ЕОМ.
Алгоритмічні мови високого рівня (наприклад Паскаль) займають верхнє положення в ієрархії мов програмування. Будучи наближеними до звичної математичної нотації і в ряді випадків забезпечуючи природну форму опису обчислювальних процесів, вони доволі прості і зручні в програмуванні, але не завжди дозволяють в повній мірі реалізувати технічні можливості ЕОМ, а результуючі машинні програми, отримані після трансляції програм з алгоритмічних мов, зазвичай неефективні з точки зору об’єму або швидкодії. Недоліком цих мов також є те, що їх застосування передбачає наявність транслятора, який є складним програмним комплексом. Але внаслідок своїх незаперечних переваг мови високого рівня широко застосовуються в програмуванні для різних класів ЕОМ, в тому числі і для мікро-ЕОМ.