Периферійні
пристрої, модеми h2>
Вступ h2>
Останнім
час модеми стають невід'ємною частиною комп'ютера. Установивши модем на свій
комп'ютер, ви фактично відкриваєте для себе новий світ. Ваш комп'ютер
перетворюється з відособленого комп'ютера в ланку глобальної мережі. p>
Модем дозволить
вам, не виходячи з дому, отримати доступ до баз даних, які можуть бути
віддалені від вас на багато тисяч кілометрів, розмістити повідомлення на BBS
(електронній дошці оголошень), доступною іншим користувачам, скопіювати з
тієї ж BBS цікавлять вас файли, інтегрувати домашній комп'ютер в мережу
вашого офісу, при цьому створюється повне відчуття роботи в мережі офісу. Крім
того, скориставшись глобальними мережами (RelCom, FidoNet, Internet) можна
приймати і посилати електронні листи не тільки усередині міста, але фактично
в будь-який кінець земної кулі. Глобальні мережі дають можливість не тільки
обмінюватися поштою, але й брати участь у всіляких конференціях, одержувати
новини практично по будь-якій, що цікавить вас тематики. p>
Існує три
основні способи з'єднання комп'ютерів для обміну інформацією: p>
безпосередня
зв'язок, через асинхронний порт; p>
зв'язок з
використанням модему; p>
зв'язок через
локальні мережі. p>
1. Типи
модемів h2>
боди і біти в
секунду. Коли говорять про модеми, то дуже часто плутають боди і біти в секунду
(біт/с). Швидкість передачі виражена в бодах, вказує, скільки разів на секунду
змінюється стан сигналу, що передається з одного пристрою в інший.
Якщо, наприклад, частота чи фаза сигналу змінюється 300 разів на секунду, то
кажуть, - швидкість передачі сигналу дорівнює 300 бодам. Якщо при цьому кожне
стан (зміна) переданого сигналу використовується для передачі одного
біти, то 300 бод в даному випадку еквівалентні 300 біт/с. Якщо ж у кожному
стані сигналу передається два біта інформації, то швидкість передачі в бітах
за секунду будетв 2 рази більше, тобто 600 біт/с. У більшості модемів кожному
станом відповідає кілька бітів, тому фактична швидкість передачі
в бодах менше швидкості в бітах в секунду. p>
В даний
час випускається величезна кількість всіляких модемів, починаючи від
найпростіших, що забезпечують швидкість передачі близько 300 біт/сек, до складних
факс-модемних плат, що дозволяють вам надіслати з вашого комп'ютера факс або
звукове листа до будь-яку точку світу. p>
Апаратно
модеми виконані або як окрема плата, що вставляється в слот на материнській
платі комп'ютера, або у вигляді окремого корпусу з блоком живлення, який
підключається до послідовного асинхронного порту комп'ютера. Перший з низ
називається внутрішнім модемом, а другий - зовнішнім. p>
Типовий модем
містить наступні компоненти: спеціалізований мікропроцесор, керуючий
роботою модему, оперативну пам'ять, що зберігає значення регістрів модему і
буферизує вхідні/вихідну інформацію, постійну пам'ять, динамік,
що дозволяє виконувати звуковий контроль зв'язку, а також інші допоміжні
елементи (трансформатор, резистори, конденсатори, роз'єми). Якщо у вас досить
сучасний модем, то він швидше за все додатково містить електрично
Перепрограмміруємая постійну пам'ять (EEPROM), в якій може бути збережена
конфігурація модема навіть при виключенні живлення. p>
Щоб модеми
могли обмінюватися один з одним інформацією, треба, щоб вони використовували
однакові способи передачі даних по телефонних лініях. Для розробки
стандартів передачі даних був створений спеціальний міжнародний консультативний
комітет з телеграфії і телефонії (CCITT) і прийнято наступні рекомендації: p>
Bell 103 p>
Стандарт з
швидкістю передачі 300 біт/с прийнятий в США і Канаді. Тип використовуваної модуляції
- Частотна, кожному станом сигналу відповідає один біт. У більшості
швидкодіючих сучасних комп'ютерів цей стандарт передбачено, хоча він
вже застарів. p>
Bell 212A p>
Стандарт з
швидкістю передачі 1200 біт/с прийнятий в США і Канаді. У ньому використовується
диференціальна фазова модуляція DPSK (Differential Phase-Shift Keying),
швидкість передачі-600 бод, кожному станом відповідає 2 біт даних. p>
V.21 p>
Цей
міжнародний стандарт передачі даних зі швидкістю 300 біт/с подібний до стандарту
Bell 103, однак через відмінності у використовуваних діапазонах частот модеми V.21 НЕ
сумісні з модемами Bell 103. В основному V.21 використовується за межами США. P>
V.22 p>
Даний
міжнародний стандарт передачі даних зі швидкістю 1200 біт/с подібний Bell
212A, однак не сумісний з ним за деякими характеристиками, зокрема з
способу відповісти на дзвінок. Цей стандарт використовується, в основному, за межами
США. P>
V.22bis p>
Це
міжнародний стандарт передачі даних зі швидкістю 2400 біт/с. Слово bis
означає друге, тобто покращений варіант стандарту V.22. Застосовується V.22bis як
у США, так і в інших країнах. Використовується амплітудно-фазова модуляція (QAM),
швидкість передачі даних-600 бод, у кожному стані сигналу кодується 4 біт. p>
V.23 p>
Даним
стандартом передбачається передача даних зі швидкістю 1200 біт/с в одному
напрямі і 75 біт/с- у зворотному. Модем, що відповідає цьому стандарту,
виявляється псевдодуплексним, тобто він може обмінюватися даними в обох
напрямках, але з різними швидкостями. V.23 був розроблений для того, щоб
знизити вартість модемів зі швидкістю передачі 1200 біт/с, які були
досить дорогими на початку 80-х років. Використовується, в основному, в Європі. P>
V.29 p>
Цей стандарт
визначає напівдуплексний (односпрямований) спосіб передачі даних з
швидкістю 9600 біт/с. Зазвичай він використовується для факсимільних апаратів
(факсів), і дуже рідко для модемів. Оскільки зазначений стандарт є напівдуплексному,
відповідні пристрої виявляються набагато простіше тих, які працюють в
високошвидкісних дуплексних режимах. V.29 як стандарт для модемів НЕ
є функціонально повним, так як він не визначає повного набору
вимог до стандартів. Саме тому пристрої різних серій рідко
виявляються сумісними. Ці недоліки стандарту не стосуються факсимільних
апаратів, параметри яких визначено в V.29 повністю. p>
V.32 p>
Це стандарт
дуплексної передачі даних зі швидкістю 9600 біт/с. У ньому визначені методи
корекції помилок і способи зв'язку. Використовується амплітудно-фазова модуляція з
так званим кодуванням TCQAM, при якому кожному станом сигналу
відповідає 4 біт. При такому кодуванні разом з кожною групою з 4 біт передається
додатковий контрольний біт. Це дозволяє виконувати корекцію помилок у
приймальному пристрої, що, у свою чергу, підвищує стійкість модемів,
що працюють у стандарті V.32, до впливу шумів в лінії передачі. Оскільки
навіть при односпрямованої передачу даних зі швидкістю 9600 біт/с використовується
практично вся смуга пропущення телефонної лінії, в модемах V.32 реалізується
складна процедура прослуховування сигналу у відповідь, яка полягає в
періодичному відключенні власних переданих сигналів і прийомі у відповідь
сигналів. До останнього часу поширення модемів, що працюють у стандарті
V.32, стримувалося їх складністю і високою вартістю. Однак поява на
ринку дешевих комплектів мікросхем, розроблених спеціально для цих цілей,
змінило ситуацію, і V.32 поступово перетворився на загальноприйнятий стандарт
передачі даних зі швидкістю 9600 біт/с. p>
V.32bis p>
Стандарт
V.32bis - це розширення V.32 зі швидкістю передачі 14400 біт/с. У ньому
застосовується та сама модуляція, що і в V.32 (TCQAM), швидкість передачі - 2400
бод, у кожному стані кодується 6 біт. Завдяки такому кодуванню зв'язок
виходить досить надійною. Протокол V.32bis забезпечує дуплексну зв'язок.
Якщо якість телефонної лінії невисока, то модеми перемикаються у звичайний
режим V.32. Цей стандарт, завдяки своїй продуктивності і
завадостійкості, став загальноприйнятим при роботі в сучасних телефонних
лініях. p>
V.32fast p>
Стандарт
V.32fast, також званий V. FC (Fast Class), - це новий запропонований ССIТТ
стандарт, який є розширенням V.32 і V.32bis. У ньому передбачена
швидкість передачі дана 28800 біт/с, однак згодом він замінився
стандартом V.34. p>
V.34 p>
Стандарт V.34 --
стандарт передачі даних зі швидкістю 31,2 і 33,6 Кбіт/с. Багато існуючих
модеми V.34, оснащені складними цифровими процесорами Digital Signal Processors
(DSPs). P>
V.90 p>
Стандарт V.90 --
стандарт передачі даних, який дозволяє модему передавати зі швидкістю
57600 біт/с, і приймати дані зі скокостью 33600 біт/с. P>
Ще до
представленим вище стандартам я хочу додати наочну таблицю стандартизації
швидкості модемів в залежності від їх застосування. p>
Швидкість модему p>
З якою метою він може використовуватися p>
300 bps p>
Для роботи з місцевою BBS. (хоча не всі
діалогові сервісні служби зараз дозволяють користуватися ними так як вони
дуже довго займають телефонну лінію, і взагалі це дуже застаріла швидкість
передачі інформації) p>
1200 bps p>
Для місцевої BBS. p>
2400 bps p>
Це найнижча швидкість продаваних
сьогодні модемів може задовольняти, якщо не здійснюється передача великих
обсягів інформації (особливо на далекі відстані) p>
9600 bps p>
Модеми з такою швидкістю (і вище)
виконують корекцію помилок і стиснення даних. Деякі діалогові сервісні
служби наближаються до такого значення швидкості, за винятком Internet.
Багато BBS працюють саме з цими параметрами швидкості. P>
16 800 bps p>
Така швидкість досягається тільки при
встановлення зв'язку з модемом такої ж моделі. p>
Те ж, що й 16.8Kbps-модеми p>
28 800 bps p>
Популярний раніше стандарт. Використовується
протокол v.34 bis p>
36 600 bps p>
56 000 bps p>
Швидкість сучасного модему.
Використовуються протоколи: V90 і K56Flex p>
2.
Програмування модемів h2>
Після випуску
американською фірмою Hayes модемів серії Smartmodem, система команд,
використана в ній, стала певним стандартом, якого дотримуються інші
фірми - розробники модемів. Система команд, що застосовується в цих модемах, носить
назва hayes-команд, або AT-команд. p>
З часу
випуску першого AT-сумісних модемів набір їх команд дещо розширився, але
всі основні команди залишилися без зміни. p>
Усі команди,
передаються комп'ютером модему, треба починати префіксом AT (ATtention --
увагу) і закінчувати символом повернення каретки (). Тільки команда
А/і Escape-послідовність "+++" не вимагають для себе префікса AT. P>
Після префікса
AT можуть йти один або відразу декілька команд. Для ясності ці команди можуть
бути відокремлені один від одного символами пробілу, тире, дужками. У більшості
випадків команди можуть бути написані як великими, так і малими літерами. p>
При передачі
модему команд вони спочатку заносяться у внутрішній буфер, який, як правило,
має розмір 40 символів. Команди, записані в буфер модему, виконуються після
надходження символу повернення каретки. Внаслідок обмеженості розміру буфера
не слід передавати модему занадто довгі команди (більше розміру буфера).
Довгі команди можна розбивати на частини і передавати в декілька заходів. При
цьому кожна частина повинна починатися префіксом АТ і закінчуватися символом
повернення каретки. p>
Якщо ви
допустили помилку при наборі команди, то її можна виправити, використовуючи клавішу
BackSpace. P>
Після
виконання кожної команди модем посилає назад комп'ютера відповідь у вигляді числа
або слова. Ця відповідь означає, виконана чи команда чи сталася помилка. Якщо
у вас зовнішній модем, то на його лицьовій панелі знаходиться вісім світлових
індикаторів. Хоча їх розташування на різних моделях може змінюватися, їх
позначення є стандартними: p>
MR Modem Ready
- Модем готовий до обміну даними. Якщо етотіндікатор не горить, то треба перевірити
лінію живлення модему. p>
TR Terminal
Ready - Комп'ютер готовий до обміну даними з модемом. Цей індикатор горить, коли
модем отримав від компьютерасігнал DTR. p>
CD Carrier
Detect - Індикатор запалюється, коли модем виявив несучу частоту на лінії.
Індикатор повинен горіти протягом усього сеансу зв'язку і гаснуть, коли одна
з модемів звільнить лінію. p>
SD Send Data --
Індикатор блимає, коли модем отримує дані від комп'ютера. p>
RD Receive Data
- Індикатор блимає, коли модем передає дані до комп'ютера p>
HS High Speed --
Модем працює на максимально можливу для нього швидкості. p>
AA Auto Answer
- Модем знаходиться в режимі автовідповіді. Тобто модем автоматично буде
відповідати на надходять дзвінки. Коли модем виявить дзвінок на телефонній
лінії, цей індикатор замигає. p>
OH Off-Hook --
Цей індикатор горить, коли модем зняв трубку (займає лінію). p>
Стандартний
набір відповідей модему p>
OK-Модем
виконав команду без помилок p>
CONNECT-Модем
встановив зв'язок зі швидкістю 300 bps p>
RING-Модем
виявив сигнал дзвінка p>
NO CARRIER -
Модем втратив несучу частоту p>
ERROR-Помилка в
командному рядку p>
CONNECT X -
Модем встановив зв'язок зі швидкістю X p>
NO DIALTONE -
Відсутність сигналу станції при знятті трубки p>
BUSY-Модем
виявив сигнал "зайнято" p>
NO ANSWER-Нет
відповіді після очікування сигналу p>
Основні
принципи програмування модемів p>
Доступ до модему
відбувається через послідовний асинхронний порт. При цьому для передачі
модему команд їх необхідно просто записати в регістр даних COM-порту, на
якому знаходиться модем. Відповідь від модему також надходить через послідовний
порт. Передаючи модему команди, його можна проініціалізувати, перевести в
режим автовідповіді або змусити набрати номер. p>
Коли модем
набере номер віддаленого абонента або коли модему в режимі автовідповіді прийде
виклик, він спробує встановити зв'язок з віддаленим модемом. Після встановлення
зв'язку модем передає комп'ютера через COM-порт спеціальне повідомлення і
переключиться з командного режиму в режим передачі даних. Після цього дані,
передаються модему, перестають сприйматися ним як команди і відразу передаються
по телефонній лінії на віддалений модем. p>
Отже, після
встановлення зв'язку з віддаленим модемом, комунікаційна програма може
починати обмін даними. Обмін даними так само, як і передача команд,
здійснюється через COM-порт. Потім за допомогою спеціальної
Escape-послідовності можна перемкнути модем з режиму передачі даних
назад в командний режим і покласти трубку, розірвавши зв'язок з віддаленим
модемом. p>
3.
Послідовність дій для встановлення зв'язку h2>
Ініціалізація
COM-порту. P>
Проводимо
ініціалізацію COM-порту, до якого підключений модем. Для цього програмуємо
регістри мікросхеми UART, задаючи формат даних і швидкість обміну. Зауважимо, що
модем буде проводити з'єднання з віддаленим модемом саме на цій швидкості.
Чим вище швидкість, тим швидше відбуватиметься обмін даними з віддаленою
модемом. Однак при збільшенні швидкості на поганих телефонних лініях сильно
зростає кількість помилок. p>
Ініціалізація
модему. p>
Передаючи
модему AT-команди через СОМ-порт, робимо його ініціалізацію. За допомогою
АТ-команд можна встановити різні режими роботи модему - вибрати протокол
обміну, встановити набір діагностичних повідомлень модему і т.д. p>
З'єднання з
віддаленим модемом. p>
Передаємо модему
команду набору номера (ATD). У цьому випадку модем набирає номер і намагається
встановити зв'язок з віддаленим модемом. Або передаємо модему команду AT S0 = 1 для
переведення його в режим автовідповіді. Після цього модем чекає дзвінка від віддаленого
модему, а коли він приходить, намагається встановити з ним зв'язок. p>
Очікуємо відповідь
від модему. p>
Залежно
від режиму, в якому знаходиться модем, він може передавати комп'ютера різні
повідомлення. Наприклад, якщо модем робить виклик віддаленого модему (АТ-команда
ATD), то модем може видати наступні повідомлення: p>
CONNECT -
Успішне з'єднання p>
BUSY-Номер
зайнятий p>
NO DIALTONE-На
лінії відсутній сигнал комутатора p>
NO ANSWER -
Абонент не відповідає p>
NO CARRIER -
Невдала спроба встановити зв'язок p>
Коли приходить
дзвінок, модем передає комп'ютера повідомлення RING, якщо регістр модему S0 дорівнює
нулю. У цьому випадку, щоб відповісти на дзвінок треба послати модему команду АТА. Якщо
модем знаходиться в режимі автовідповіді і регістр модему S0 не дорівнює нулю, то модем
автоматично намагається відповісти на дзвінок і може видати наступні повідомлення: p>
CONNECT -
Успішне з'єднання p>
NO DIALTONE -
Ні несучої частоти віддаленого модему p>
NO CARRIER -
Невдала спроба встановити зв'язок p>
Якщо модем
передав комп'ютера повідомлення CONNECT, значить, він успішно вирозвели з'єднання та
тепер працює в режимі передачі даних. Тепер всі дані, які ви
передасте модему через СОМ-порт, буде перетворено модемом у форму,
придатну для передачі по телефонних лініях, і передані віддаленою модему. І
навпаки, дані, прийняті модемом по телефонній лінії, перераховуються в цифрову
форму і можуть бути прочитані через СОМ-порт, до якого підключений модем. p>
Якщо модем
передав комп'ютера повідомлення BUSY, NO DIALTONE, NO ANSWER, NO CARRIER значить,
провести з'єднання з віддаленим модемом не вдалося і треба спробувати
повторити з'єднання. p>
Підключення
модему в командний режим. p>
Після закінчення
роботи комунікаційна програма повинна перевести модем в командний режим і
передати йому команду покласти трубку (ATH0). Для перекладу модему в командний
режим можна скористатися Escape-послідовністю "+++". Після
того як модем перейшов в командний режим, можна знову передавати йому
АТ-команди. p>
скидаємо
сигнали налініях DTR і RTS. p>
Низький рівень
сигналів DTR і RTS повідомляє модему, що комп'ютер не готовий до прийому даних
через COM-порт. При роботі з асинхронним послідовним адаптером ви можете
використовувати механізм переривань. Так як передача і прийом даних модемом
являють собою тривалий процес, то застосування переривань від порту дозволяє
використовувати процесорний час для інших потреб. p>
Список
літератури p>
Налаштовуємо
модем// Hard & Soft, 1998р., № 8 p>
http://www.hardware.ru p>
Комп'ютер
зсередини// Komputerra, 2000р., № 3 p>
Для підготовки даної
роботи були використані матеріали з сайту http://referat2000.bizforum.ru/
p>