Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Модем

нение  с
удаленной системой. Подробнее это происходит следующим образом.
    Компьютер подает сигнал по линии DTR, чтобы  показать  модему,  что  он
готов к проведению сеанса связи. В ответ модем подает сигнал по  линии  DSR.
Когда модем произвел соединение  с  другим,  удаленным  модемом,  он  подает
сигнал по линии DCD, чтобы сообщить об этом компьютеру.
    Если напряжение на линии DTR падает, это сообщает модему, что компьютер
не может далее продолжать сеанс связи, например из-за  того,  что  выключено
питание компьютера. В этом случае модем прервет связь.  Если  напряжение  на
линии DCD падает, это сообщает компьютеру, что  модем  потерял  связь  и  не
может больше продолжать соединение. В этом случае эти сигналы дают ответ  на
наличие связи между модемом и компьютером.
    Существует более высокий уровень, который используется  для  управления
скоростью обмена данными, но он  также  реализуется  аппаратно.  Практически
управление скоростью обмена данными (управление  потоком)  необходимо,  если
производится передача больших обьемов  данных  с  высокой  скоростью.  Когда
одна система пытается передать данные с большей  скоростью,  чем  они  могут
быть обработаны принимающей системой, результатом может стать  потеря  части
передаваемых данных. Чтобы предотвратить  передачу  большего  числа  данных,
чем  то,  которое  может  быть  обработано,  используют  управление  связью,
называемое "управление потоком".
    Стандарт RS-232-C определяет возможность управления потоком только  для
полудуплексного соединения, при  котором  в  каждый  момент  времени  данные
могут передаваться только в одну сторону.
    Фактически этот механизм  используется  и  для  дуплексных  соединений,
когда данные передаются по линии связи одновременно в двух направлениях.

                             Управление потоком

    В полудуплексных соединениях устройство DTE подает  сигнал  RTS,  когда
оно желает передать данные. DCE отвечает сигналом по линии  CTS,  когда  оно
готово, и DTE начинает передачу данных. До тех пор, пока оба сигнала  RTS  и
CTS не примут активное состояние, только DCE может передавать данные.
    При   дуплексных   соединениях   сигналы   RTS/CTS    имеют    значения
противоположные тем, которые они имели для полудуплексных соединений.
    Когда DTE может принять данные, он подает сигнал по линии RTS. Если при
этом DCE готово  для  принятия  данных,  оно  возвращает  сигнал  CTS.  Если
напряжение на линиях RTS и CTS падает, то это сообщает  передающей  системе,
что получающая система не готова для приема данных.
    Однако на практике не все так просто. Соединить компьютер  и  модем  не
составляет труда, т.к. интерфейс RS-232-C как раз для этого и  предназначен.
Но если вы захотите связать вместе  два  компьютера  при  помощи  такого  же
кабеля, который вы использовали для связи модема  и  компьютера,  то  у  вас
возникнут проблемы.  Для  соединения  двух  терминальных  устройств  -  двух
компьютеров - как минимум необходимо перекрестное соединение линий TR и  RD.
Однако часто этого недостаточно, т.к.  для  устройств  DTE  и  DCE  функции,
выполняемые линиями DSR, DTR, DCD, CTS, RTS асимметричны.
    Устройство DTE подает сигнал DTR и ожидает  получения  сигналов  DSR  и
DCD. В свою очередь, устройство  DCE  подает  сигналы  DSR,  DCD  и  ожидает
получения сигнала DTR. Таким образом, если соединить вместе  два  устройства
DTE кабелем, который вы использовали для соединения устройств DTE и DCE,  то
они не смогут договориться друг с другом.
    Теперь перейдем к сигналам RTS и CTS, управления потоком данных. иногда
для соединения двух устройств DTE  эти  линии  соединяют  вместе  на  каждом
конце кабеля. В результате получаем то, что другое устройство всегда  готово
для  получения  данных.  Поэтому,  если  при   большой   скорости   передачи
принимающее  устройство  не  успевает  принимать  и   обрабатывать   данные,
возможна потеря данных.
    Чтобы решить все эти проблемы для соединения двух  устройств  типа  DTE
используется специальный кабель, в обиходе называемый нуль-модемом.

                  Технические параметры интерфейса RS-232-C

    При передаче данных на большие расстояния без использования специальной
аппаратуры  из-за  помех,  наводимых  электромагнитными   полями,   возможно
возникновение ошибок. Вследствие этого накладываются  ограничения  на  длину
соединительного кабеля между устройствами DTR-DTR и DTR-DCE.
    Официальное  ограничение  по  длине  для  соединительного   кабеля   по
стандарту  RS-232-C  составляет  15,24  метра.  Однако   на   практике   это
расстояние может быть значительно больше.  Оно  непосредственно  зависит  от
скорости передачи данных.

    110бод - 1524м  / 914,4м
    300бод - 1524м / 914,4м 1200бод - 914,4м / 914,4м 2400бод  -  304,8м  /
   152,4м 4800бод - 304,8м / 76,2м 9600бод - 76,2м / 76,2м

    Первое значение - скорость передачи  в  бодах,  второе  -  максимальная
длина  для  экранированного  кабеля,  третье  -   максимальная   длина   для
неэкранированного кабеля.
    Уровни напряжения на линиях разьема  составляют  для  логического  нуля
-15..-3 вольта, для логической единицы +3..+15 вольт. Промежуток  от  -3  до
+3 вольт соответствует неопределенному значению.


                       2.2. Программирование адаптера

                         Порты асинхронного адаптера

     На этапе инициализации системы, модуль POST BIOS  тестирует  имеющиеся
асинхронные порты RS-232-C и инициализирует  их.  В  зависимости  от  версии
BIOS инициализируются  первые  два  или  четыре  порта.  Их  базовые  адреса
располагаются в области данных BIOS начиная с адреса 0000:0400h.
    Первый адаптер COM1  имеет  базовый  адрес  3F8h  и  занимает  диапазон
адресов от 3F8h до 3FFh. Второй адаптер COM2  имеет  базовый  адрес  2F8h  и
занимает адреса 2F8h..2FFh.
    Асинхронные адаптеры могут вырабатывать прерывания:
    COM1,COM3 - IRQ4
    COM2,COM4 - IRQ3

    Имеется 7 основных регистров для управления портами:

    а) Регистр данных
    Регистр данных расположен непосредственно по базовому адресу порта  RS-
232-C и используется для обмена данными и для задания скорости обмена.
    Для передачи данных в этот  регистр  необходимо  записать  передаваемый
байт данных. После приема данных от внешнего устройства принятый байт  можно
прочитать из этого же регистра.
    В зависимости  от  состояния  старшего  бита  управляющего  регистра  (
расположенного по адресу base_adr+3,  где  base_adr  соответствует  базовому
адресу порта RS-232-C) назначение  этого  регистра  может  изменяться.  Если
старший  бит  равен  нулю,  регистр  используется  для  записи  передаваемых
данных. Если же старший бит равен единице, регистр  используется  для  ввода
значения младшего  байта  делителя  частоты  тактового  генератора.  Изменяя
содержимое делителя, можно изменять скорость передачи данных.  Старший  байт
делителя  записывается  в  регистр   управления   прерываниями   по   адресу
base_adr+1.
    Максимальная скорость обмена информацией,  которую  можно  достичь  при
использовании асинхронного адаптера,  достигает  115200  бод,  что  примерно
соответствует 14 Кбайт в секунду.

    б) Регистр управления прерываниями
    Этот  регистр  используется  либо  для   управления   прерываниями   от
асинхронного адаптера, либо (после вывода  в  управляющий  регистр  байта  с
установленным  в  1  старшим  битом)  для  вывода  значения  старшего  байта
делителя частоты тактового генератора.

    в) Регистр идентификации прерывания
    Считывая его содержимое, программа может определить причину прерывания

    г) Управляющий регистр
    Управляющий регистр доступен по записи и чтению. Этот регистр управляет
различными характеристиками UART  :  скоростью  передачи  данных,  контролем
четности, передачей сигнала BREAK, длиной передаваемых слов(символов).

    д) Регистр управления модемом
    Регистр управления модемом управляет состоянием выходных линий DTR, RTS
и линий,  специфических  для  модемов  -  OUT1  и  OUT2,  а  также  запуском
диагностики при соединенных вместе входе и выходе асинхронного адаптера.

    е) Регистр состояния линии
    Регистр  состояния  линии  определяет  причину  ошибок,  которые  могут
возникнуть при передаче данных между компьютером и микросхемой UART.

    ж) Регистр состояния модема
    Регистр состояния модема  определяет  состояние  управляющих  сигналов,
передаваемых модемом асинхронному порту компьютера.

                     Инициализация асинхронного адаптера

    Первое,  что  должна  сделать  программа,  работающая   с   асинхронным
адаптером - установить формат и скорость  передачи  данных.  После  загрузки
операционной системы  для  асинхронных  адаптеров  устанавливается  скорость
2400 бод, не выполняется проверка на четность, используются один стоповый  и
восьмибитовая  длина  передаваемого  символа.  Можно  изменить  этот   режим
командой MS-DOS MODE.
    Выполнив  ввод  из  управляющего  регистра,  программа  может  получить
текущий режим адаптера. Для установки  нового  режима  измените  нужные  вам
поля и запишите новый байт режима обратно в управляющий регистр.
    Если вам надо задать новое  значение  скорости  обмена  данными,  перед
записью байта режима установите старший  бит  этого  байта  в  1,  при  этом
регистр данных и  управляющий  регистр  используются  для  задания  скорости
обмена. Затем  последовательно  двумя  командами  ввода  загрузите  делитель
частоты тактового генератора. Младший байт  запишите  в  регистр  данных,  а
старший - в регистр управления прерываниями.
    Перед  началом  работы  необходимо  также  проинициализировать  регистр
управления  прерываниями,  даже  если  в  вашей  программе  не  используются
прерывания от  асинхронного  адаптера.  Для  этого  сначала  надо  перевести
регистр данных и регистр управления прерываниями в  обычный  режим,  записав
ноль в
12345След.
скачать работу

Модем

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ