Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А4_Методичка.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

3.1.9 Керування асинхронним модемом

Головним недоліком інтерфейсу (див. рис. 3.6а) є відсутність каналів керування між модемом і терміналом. Наприклад, після встановлення з'єднання з віддаленим модемом дуже придалася б яка-небудь вбудована функція, що у випадку розриву з'єднання могла б проінформувати про це. Для реалізації цієї ідеї термінал повинен виконувати моніторинг контакту 8, по якому передається сигнал виявлення несучої. Як було наголошено, інтелектуальні модеми мають вбудовану буферну пам'ять, призначену для зберігання даних до тих пір, поки від віддаленого модему не надійде підтвердження про коректний прийом переданого йому блоку. Оскільки обсяг буфера пам'яті обмежений, в арсеналі модему повинна бути функція, яка дозволяє інформувати термінальний пристрій про те, що треба призупинити передачу даних модему до тих пір, поки в буфері модему не з'явиться вільний простір, достатній для отримання від терміналу чергового блоку даних. Цей процес, відомий як керування потоком, може бути реалізований декількома способами, один з яких полягає у використанні модемом сигналу «готовність до передачі».

3.1.10 Керування потоком

Припустимо, що створене ПЗ, за допомогою якого можна передавати дані на принтер через порт RS-232. Використаємо готовий кабель, установимо швидкість передачі бітів, кількість степових бітів та кодування символів. Припустимо також, що принтер налаштований для роботи з 7-розрядними символами ASCII, що задіяний контроль за непарності і використовується один стоповий біт. Принтер підтримує швидкість передачі даних 9600 біт / с. Застосовуємо швидкість, з якою комп'ютер здатний подавати на вихід послідовні дані, також 9600 біт / с. Відправимо на принтер сторінку тексту, використовуючи для цього своє ПЗ (драйвер). Однак після першого ж рядка / двох виявляєтьсяе, що принтер втрачає велику частину символів. Аналізуємо написане ПЗ, перевіряємо всі з'єднання, однак при повторних спробах дані знову втрачаються. У чому причина?

Для цього порівняємо швидкості передачі і генерування даних. При асинхронній передачі одного символу в кодуванні ASCII використовуються 7 біт для символу, 1 біт парності, 1 стоповий біт і 1 стартовий біт - всього 10 біт. Комп'ютер передає принтера 9600 біт в секунду, що рівносильно швидкості 960 символів в секунду.

Робоча швидкість принтера дорівнює 80 символів/с. Отже, відправляється в 2 рази більше даних, ніж в змозі обробити принтер. Зрозуміло, що при такому співвідношенні швидкостей дані губляться. Відбувається це так: через деякий час після початку роботи буфер принтера переповнюється, а потім дані губляться до тих пір, поки в буфері не з'явиться вільний простір. В такому випадку необхідно реалізувати простий механізм узгодження, який би дозволяв зупиняти передачу комп'ютером даних при переповненні буферу і відновлювати її після простору звільнення буферного. «Цей процес називається керуванням потоком і повинен бути передбачений в інтерфейсі RS-232. Але це не так. Інтерфейс RS-232 розроблений для обміну даними між комп'ютерами через телефонні канали, і припускає, що механізм керування потоком реалізований в ПЗ, яке працює в кінцевих пунктах. Для керування потоком використовувалися різні схеми, які ми і розглянемо.

Більшість модемів підтримує щонайменше два методи керування потоком, які відомі як XON / XOFF і CTS / RTS. При використанні методу XON / XOFF для зупинки передачі модем передає комп'ютера символ XOFF, а для її відновлення - символ XON. У випадках, наприклад, коли одержувані від модему дані перенаправляються комп'ютером на принтер, в комп'ютері також повинен бути реалізований механізм, який дозволяє призупинити надходження даних від модему. Символи XON і XOFF можна використати і для цих цілей, тільки на цей раз вони будуть передаватися від комп'ютера модему.

При використанні методу CTS / RTS керування потоком через інтерфейс між комп'ютером і модемом здійснюється за допомогою сигналів CTS (готовності до передачі) і РТС (запит на передачу). Коли потоком керує модем, для вказівки комп'ютеруу призупинити передачу даних він припиняє подачу сигналів CTS. Щоб відновити передачу, модем знову починає відправляти до комп'ютеру ці сигнали. Якщо керування потоком здійснює комп'ютер, виконуються ті ж дії, але з сигналом RTS. Перш ніж задіяти механізм керування потоком, потрібно переконатися, що в комп'ютері і модемі використовуються однакові методи керування. Для передачі файлів, які можуть містити символиXON / XOFF, необхідно застосовувати метод керування потоком CTS / RTS, інакше після отримання символу XOFF комп'ютер припинить передачу даних.