RSS    

   Реферат: Послідовні інтерфейси ПК

Рис. 3. Представлення коду букви А сигнальними рівнями ТТЛ

Таким чином, повне слово, що асинхронно передається складається з 11 біт (фактично дані містять тільки 7 біт) і записується у вигляді 01000001011.

Мікропроцесорна система без засобів введення і виведення виявляється малоефективною. Характеристики і об'єми інформації введення-виведення в системі визначаються, насамперед, специфікою її застосування наприклад, в мікропроцесорній системі управління деяким промисловим процесом не потрібна клавіатура і дисплей, оскільки майже напевно її дистанційно програмує і контролює головний мікрокомп'ютер (з використанням послідовної лінії RS – 232C).

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

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

D0 D7 – вхідні вихідні лінії даних, що підключаються безпосередньо до шини процесора;

RXD – дані, що приймаються (вхідні послідовні дані);

TXD – дані, що передаються (вихідні послідовні дані);

CTS – скидання передачі. На цій лінії периферійний пристрій формує сигнал низького рівня, коли готовий сприймати інформацію від процесора;

RTS – запит передачі. На цю лінію мікропроцесорна система видає сигнал низького рівня, коли вона збирається передавати дані в периферійний пристрій.

Всі сигнали мікросхем послідовного введення виведення, що програмуються ТТЛ сумісні. Ці сигнали розраховані тільки на дуже короткі лінії зв'язку. Для послідовної передачі даних на значні відстані потрібні додаткові буфери і перетворювачі рівнів, що включаються між мікросхемами послідовного введення виведення і лінією зв'язку.

Для управління потоком даних (Flow Control) можуть використовуватися два варіанти протоколу – апаратний і програмний.

Апаратний протокол управління потоком RTS/CTS використовує сигнал CTS, який дозволяє зупинити передачу даних, якщо приймач не готовий до їх прийому. Передавач випускає черговий байт тільки при включеній лінії CTS. Байт, який вже почав передаватися, затримати сигналом CTS неможливо (це гарантує цілісність посилки). Апаратний протокол забезпечує найшвидшу реакцію передавача на стан приймача. Мікросхеми асинхронних приймачів-передавачів мають не менше двох регістрів в прийомній частині – зсувний, для прийому чергової посилки, і зберігаючий, з якого зчитується прийнятий метод. Це дозволяє реалізувати обмін по апаратному протоколу без втрати даних. Апаратний протокол зручно використовувати при підключенні принтерів і плотерів, якщо вони його підтримують. При безпосередньому (без модемів) зєднанні двох комп’ютерів апаратний протокол потребує перехресного зєднання ліній RTS-CTS.

Якщо апаратний протокол не використовується, передаваючого терміналу повинен бути забезпечений стан «ввімкнено» на лінії CTS перемичкою RTS-CTS. В протилежному випадку передавач буде «мовчати».

Програмний протокол управління потоком XON/XOFF передбачає наявність двох направленого каналу передачі даних. Працює протокол наступним чином: якщо пристрій, який приймає дані, виявляє причини, за якими не може їх далі приймати, він по зворотному послідовному каналу посилає байт-символ XOFF (13h). Протилежний пристрій, прийнявши цей символ, призупиняє передачу. Коли приймаючий пристрій знов стає готовим до прийому даних, він посилає символ XON (11h), прийнявши який протилежний пристрій відновлює передачу. Час реакції передавача на зміни стану приймача в порівнянні з апаратним протоколом збільшується на час передачі символу (XON або XOFF) плюс час реакції програми передавача на прийом символу. З цього випливає, що дані без втрат можуть прийматися тільки приймачем, який має додатковий буфер даних, які приймають, і сигналізуючи про готовність передчасно.

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

IBM PC може містити до чотирьох послідовних портів, які також називають адаптерами RS-232C. В PS/2 (крім моделей 25 і 30) може бути до восьми таких адаптерів. В MS-DOS послідовні порти називаються COMX, де X – номер порту. Працювати з послідовними портами можна як з використанням BIOS, так і безпосередньо через використання апаратних переривань.

В BIOS для роботи з послідовними портами виділено спеціальне переривання int14 (тут і далі числа вказуються в 16-ій системі числення). З допомогою цього переривання можна встановити параметри порту, перевірити статус порту, прийняти або передати байт даних. Але при роботі через BIOS програма повинна обробляти дані зі швидкістю не менше ніж швидкість їх поступлення, так як в IBM PC не підтримується апаратна буферизація даних, які проходять через послідовний порт. Робота з використанням int14 можлива при передачі даних зі швидкостями до 300 бод. При більших швидкостях дані губляться.

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


1.5 Програмна частина інтерфейсу

Програмувати розробку інтерфейсу можна на нижчому рівні (наприклад із використанням мови Assembler), на середньому рівні та на мовах високого рівня (наприклад в середовищі Microsoft Visual C++.NET 2005).

Для програмування COM портів в середовищі Microsoft Visual C++.NET 2005 використовується компонент SeriesPort, в якому реалізована вся взаємодія з драйвером COM-порту.

Для роботи з COM-портом оголошуємо об’єкт:

System:IO: Ports: SerialPort^ serialPort1;

Перед записом ініціалізуємо необхідні властивості:

·  PortName;

·  BaudRate;

·  ReadTimeout.

Після ініціалізації об’єкта віддкриваємо порт:

serialPort1->Open();

Для запису використовуються методи:

·  Write (array<unsigned char>^ buffer, int offset, int size);

·  WriteLine (String^ line).

Для зчитування даних з порту використовуються методи класу SerialPort:

·  Read (array<unsigned char>^ buffer, int offset, int size);

·  ReadLine();

·  ReadChar();

·  ReadByte().


1.6 Перспективи інтерфейсу RS-232C

Розроблено декілька нових стандартів, направлених на усунення нестач первинних специфікацій інтерфейсу RS-232C. Серед них можна відмітити інтерфейс RS-422 (балансна система, що допускає імпеданс лінії до 50 Ом), RS-423 (несиметрична система з мінімальним імпедансом лінії 450 Ом) і RS-449 (стандарт з високою швидкістю передачі даних, в якому декілька змінені функції схем і застосовується 37 контактний роз'єм типу D).


2. Порядок виконання роботи

Робота виконуються на комп’ютері з використанням навчального стенду.

2.1    Ознайомитись з інструкцією до лабораторної роботи.

2.2    Отримати у викладача завдання і написати програму для обміну інформацією через COM порт.

2.3    Перевірити функціонування програми на двох ПК, які з’єднані через COM порти.


3. Приклад завдання та його реалізація

3.1    Приклад завдання

1. З’єднати два комп’ютери через роз’єми COM-портів.

2.      Скласти програму надсилання та прийому файлів через COM порт.

3.2    Реалізація

Програма реалізації приведена в додатку 1.


4. Зміст звіту

4.1    Мета роботи.

4.2    Короткі теоретичні відомості.

4.3    Код програми для обміну інформацією через COM порт з поясненнями і коментарями.

4.4    Висновки і порівняння.


Література

1.  Гук М.Ю. Аппаратные средства IBM PC. Энциклопедия. 3-е изд. – СПб.: Питер, 2006–1072 с.: ил.

2.  Гук М. Интерфейсы ПК: справочник, ЗАО «Издательство «Питер», 1999. – 416 с.: ил.

3.  Парамуд Я.С. Інтерфейси периферійних пристроїв ЕОМ:

4.  Навч.посбник.-к.: ІСДО, 1995,-76 с.

5.  MSDN helper (http://www.msdn.com).


Додаток

Код програми написаний на мові Microsoft Visual C++.NET для обміну файлами через COM-порт з’єднання.

#pragma once

namespace COMmunicator {

using namespace System;

using namespace System: ComponentModel;

using namespace System: Collections;

using namespace System: Windows: Forms;

using namespace System: Data;

using namespace System: Drawing;

using namespace System:IO;

void readData();

 /// <summary>

 /// Summary for Form1

 ///

Страницы: 1, 2, 3, 4


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.