WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Реалізація функцій DOS (CD, MD, RD, Date, Time, Dir) - Курсова робота

Реалізація функцій DOS (CD, MD, RD, Date, Time, Dir) - Курсова робота

КОНТРОЛЬНА РОБОТА

Обмін даними між зовнішніми пристроями та мікропроцесорною системою. Переривання. Система переривань. Сегментна організація пам'яті.Завантаження ОС Linux. Ініціалізація ядра

Зміст

1. Обмін даними між зовнішніми пристроями та мікропроцесорною системою

2. Переривання. Система переривань

3. Сегментна організація пам'яті

4. Завантаження ОС Linux. Ініціалізація ядра

1. Обмін даними між зовнішніми пристроями та мікропроцесорною системою

Послідовне введення-виведення даних

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

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

Асинхронний послідовний обмін

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

Першим передається не біт даних, а старт-біт, що вказує на початок передачі даних (початок пакета). Цей біт використовується приймачем для синхронізації процесу читання даних, що випливають за старт-старт-битому (молодший біт даних йде першим). Після бітів даних може випливати біт парності (контрольний біт), що використовується для перевірки правильності отриманих даних. Існує два типи перевірки на парність. Перевірка на непарність (Odd) означає, що число одиниць у пакеті даних, включаючи біт парності, повинно бути непарним (наприклад, 0х55 буде мати біт парності рівним 1, щоб зробити число одиничних бітів рівним п'яти, тобто непарним). Перевірка на парність (Even), навпаки, означає що число одиничних бітів повинно бути парним (наприклад, при передачі числа 0х55 біт парності буде дорівнює 0).

У деяких мікроконтролерах значення біта парності повинне визначатися програмно, а потім міститися в регістр. Простий алгоритм реалізації цієї процедури полягає у виконанні логічної операції " виключне АБО" (XOR) над усіма бітами переданого байта. Для мікроконтролера 8051 дана процедура виконується за допомогою наступної програми:

mov Count, 8

mov A,0

P_Loop:

xrl A, Char

rrc A

djnz Count,P_Loop

;Обробити 8 біт

;Очистити регістр "А"

;Адреса повернення після обробки кожного біта

;Операція XOR над молодшими бітами

;Зрушити Char, щоб перейти до наступного біту

; Повторити 8 разів

Молодший біт регістра "А" буде містити біт парності (Even) для операнда "Char". Кількість одиничних бітів разом з бітом парності буде парним числом. Щоб реалізувати перевірку на непарність, необхідно інвертувати молодший біт у регістрі "А".

За бітом парності випливає стоп-біт, що використовується приймачем для обробки кінця передачі пакета.

Асинхронний пакет даних показаний на рис. 1. Існує набір параметрів, що повинний бути відомий при реалізації обміну. Одним з таких параметрів є число переданих біт даних, що визначається типом прийомного і передавального пристроїв. Пакет на рис. 1 містить тільки 5 біт даних (таке число біт використовувалося в телетайпах), але можливі пакети довжиною до 8 біт.

Поряд з бітами парності ("odd") чи непарності ("even") можливі інші варіанти контрольних бітів: "no", "mark" і "space". "No" означає відсутність біта парності в пакеті. "Mark" чи "space" означає, що замість біта парності завжди посилається „1" ("mark") чи „0" ("space"), відповідно. Ці варіанти контрольних бітів використовується досить рідко - у тих випадках, коли необхідно дати приймачу додатковий час на обробку пакета.

Рисунок 1 Асинхронна послідовна передача даних

Кількість стоп-бітів також може бути різним. Другий стоп-біт може вводитися для тієї ж мети, що і контрольні біти "mark" і "space" — щоб дати приймачу більше часу для обробки прийнятого пакета.

Практично всі сучасні пристрої використовують для асинхронного обміну формат даних "8-N-1", що означає передачу 8 біт даних, відсутність біта парності й один стоп-біт. Біт парності і додатковий стоп-біт звичайно не вимагаються для послідовного зв'язку.

Найбільш популярний протокол асинхронного послідовного зв'язку називається „RS-232", що у даний час є міжнародним стандартом. Це дуже старий стандарт, використовуваний для зв'язку комп'ютерів.

Асинхронний приймач чекає приходу старт-біт, коли на лінії встановлюється низький рівень. Через половину часу передачі одного біта (тривалість цього часу задається синхросигналом) лінія знову опитується, якщо на лінії усе ще встановлений низький рівень сигналу, то приймач чекає один період і зчитує дані (рис. 2). Якщо ж на лінії виявляється високий рівень сигналу, то приймач вважає, що відбулася помилка, і дані не приймаються. Цей метод використовується як при апаратній, так і при програмній реалізації асинхронного прийому даних. У програмно реалізованих приймачах використовуються програмні цикли для відліку затримок часу.

Інший розповсюджений метод асинхронної послідовної передачі даних — це використання коду типу "Манчестер" ("manchester"). При цьому методі передача кожного біту даних синхронізується імпульсом, а значення біта („0" чи „1") визначається проміжком часу до наступного імпульсу (рис. 3). Після передачі заданого числа бітів даних випливає стоп-імпульс, а потім прийом даних припиняється. Особливість манчестерського кодування полягає в тім, що бит якісно відрізняється від „1" чи „0". Це дозволяє приймачу визначити, чи є дані, що надходять, початком чи серединою посланого пакета (в останньому випадку дані не будуть прийматися до приходу старт-бита). Манчестерське кодування гарно підходить для використання у випадках, коли потік переданих даних може бути легко перерваний. Тому такий метод передачі даних є основним для зв'язку за допомогою інфрачервоного випромінювання, наприклад, у пульті дистанційного керування телевізором.

Рисунок 2. Читання даних при асинхронному послідовному обміні

Рисунок 3 Послідовний обмін із манчестерським кодуванням

Синхронний послідовний обмін

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

Рисунок 4 Форма сигналів при синхронній передачі даних

Типова схема для перетворення послідовних даних у паралельні показана на рис. 5. У цій схемі використовуються дві мікросхеми 8-розрядних регістрів типу 74LS374. Для більшості додатків не потрібно включення другого регістра. Це перетворення може також бути виконане за допомогою спеціальної мікросхеми, але деякі воліють використовувати 8-розрядні регістри, тому що їх звичайно легше знайти, чим інші типи мікросхем ТТЛ.

Рисунок 5 Схема перетворення послідовних даних в паралельні

Існує два основних протоколи для синхронного зв'язку: Microwire і SPI. Ці методи застосовуються для взаємодії з різними мікросхемами, (таких як послідовний EEPROM у BASIC Stamps). Хоча стандарти Microwire і SPI дуже схожі, існують деякі розходження, про які необхідно згадати.

Дані протоколи частіше використовуються для синхронної послідовної передачі даних, чим для об'єднання мікроконтролерів у єдину мережу. У цих протоколах кожен пристрій адресується індивідуально, хоча лінії передачі даних і синхронізації можуть бути загальними для багатьох пристроїв. Якщо сигнал дозволу вибірки (chip select) пристрою не активний, то цей пристрій ігнорує лінії даних і синхронізації. У кожен момент часу тільки один з підключених пристроїв може бути ведучим (master), тобто мати можливість задавати режим роботи шини (рис 6).

Рисунок 6. Синхронна послідовна шина

Якщо синхронний послідовний порт вбудований у мікроконтролер, то передавальна схема має вид, показаний на рис 7.

Рисунок 7 Схема синхронного виводу даних

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

Протокол MICROWIRE

Протокол Microwire забезпечує передачу даних зі швидкістю до 1 Мбіт у секунду. В одному пакеті передається шістнадцять біт даних.

На рис. 8 показана форма сигналів при читанні 16 біт даних. Після вибору мікросхеми і посилки старт-біта передається 8-розрядна команда (позначена як "ОР1", "ОР2", "А5" — "АТ" на рис. 2.35), потім випливають 16-розрядна адреса (її наявність не є обов'язковою) і 16 біт даних. При максимальній швидкості передачі 1 Мбіт у секунду тактовий сигнал змінюється кожні 500 нс. Передані біти повинні видаватися на лінію за 100нс. до надходження переднього фронту тактового сигналу. Читання даних повинно відбуватися за 100 нс. до надходження заднього фронту тактового сигналу. Хоча ці вимоги виконуються більшістю пристроїв, необхідно переконатися, що пристрій, з яким здійснюється зв'язок, відповідає даним умовам.

Loading...

 
 

Цікаве