1.4 Робота інтерфейсу

У більшості схем, що містять інтерфейс RS-232C, дані передаються асинхронно, тобто у вигляді послідовності пакету даних. Кожний пакет містить один символ коду ASCII, причому інформація в пакеті достатня для його декодування без окремого сигналу синхронізації.

Символи коду ASCII представляються сімома бітами, наприклад буква А має код 1000001. Щоб передати букву А по інтерфейсу RS-232C, необхідно ввести додаткові біти, котрі вказують на початок і кінець пакету. Крім того, бажано додати зайвий біт для простого контролю помилок по паритету (парність).

Найбільш широко поширений формат, що включає в себе один стартовий біт, один біт паритету і два стопових біти. Початок пакету даних завжди відмічає низький рівень стартового біта. Після нього слідує 7 біт даних символа коду ASCII. Біт парності містить 1 або 0 так, щоб загальне число одиниць в 8 битной групі було непарним. Останнім передаються два стопових біти, представлених високим рівнем напруження. Еквівалентний ТТЛ сигнал при передачі букви А показаний на рис. 3.

Рис. 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 бод доводиться організовувати програмну буферизацію даних, що приймаються, а в окремих випадках і даних, що передаються. Це можна зробити при використанні переривань, які можуть генеруватися послідовними портами.



Информация о работе «Послідовні інтерфейси ПК»
Раздел: Информатика, программирование
Количество знаков с пробелами: 28218
Количество таблиц: 2
Количество изображений: 1

Похожие работы

Скачать
39407
3
6

... виводів чи типи роз’ємів. Він містить тільки опис електричних характеристик інтерфейсу. Стандарт RS-423A передбачає максимальну швидкість передачі 100 Кбіт/с. 2.1.2 Будова і принцип роботи послідовного порта Послідовна передача даних Послідовний потік даних складається з бітів синхронізації і власне бітів даних. Формат послідовних даних містить чотири частини: стартовий біт, біти даних (5-8 ...

Скачать
70440
0
5

... Сван Том. – К.: Диалектика, 1997. – 480с., ил. 7.       Секреты Delphi 2: Пер. с англ./Рэй Лишнер. – К.: НИПФ «ДиаСофтЛтд.», 1996. – 800 с. ДОДАТОК ТЕКСТ ПРОГРАМИ “ВІЗУАЛЬНИЙ ОБЛІК ВХІДНИХ ДАНИХ ІНТЕРФЕЙСУ RS-232” Текст основної програми program Project1; uses Forms, MainForm in 'MainForm.pas' {Form1 Головна форма}, GraphicDiagram in 'GraphicDiagram.pas', Unit3 in 'Unit3.pas' ...

Скачать
11360
0
15

... //Запис у файл begin AssignFile(f,SaveDialog1.FileName); Rewrite(f); for i:=1 to n-1 do writeln(f,mU[i]:3:1); CloseFile(f); end; Рис. 1.3. Форма організації обміну даними через послідовний порт 1.2 Опис процедури зчитування повідомлення Read_Message Розглянемо процедуру Read_Message для декодування повідомлень (зчитування з файлу). Спочатку значення аналогової напруги сигналу mU ...

Скачать
162235
26
50

... ./ “_____”_________2009р. Виконавець Студент групи x  /xxxxxx./ “_____”____________2009р. Харків 2009 ЗАТВЕРДЖЕНО xxx.03077-01 12 01-1-ЛЗ ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Текст програми xxxxx.03077-01 12 01-1 Аркушів _48_ Харків 2009 ЗМІСТ 1 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ ...

0 комментариев


Наверх