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

Интерфейсы, порты ПК

я  не  оказывает  (после  аппаратного  сброса  они
         пассивны).
       >  Olh - вывод символа из регистра AL  (без  аппаратных  прерываний).
         Активируются сигналы DTR и RTS, и после освобождения регистра THR в
         него помещается выводимый символ. Если за заданное время регистр не
         освобождается, фиксируется ошибка тайм-аута и функция завершается.
       >  02h -  ввод  символа  (без  аппаратных  прерываний).  Активируется
         только  сигнал  DTR  (RTS  переходит  в  пассивное  состояние),   и
         ожидается готовность принятых данных, принятый символ помещается  в
         регистр AL. Если за заданное  время  данные  не  получены,  функция
         завершается с ошибкой тайм-аута.
       >  03h - опрос состояния модема и линии (чтение регистров MSR и LSR).
         Эту гарантированно быструю функцию обычно вызывают перед  функциями
         ввода/вывода во избежание риска ожидания тайм-аута.
   При вызове INT 14h номер функции задается в регистре АН, номер порта (0-
3) - в регистре DX(0 - СОМ 1, 1 - COM2...). При возврате из функций 0,1 и  3
регистр АН содержит байт состояния линии (регистр LSR), AL - байт  состояния
модема (MSR). При возврате из функции 2 нулевое значение бита 7 регистра  АН
указывает на наличие принятого символа в регистре  AL',  ненулевое  значение
бита 7 - на ошибку приема, которую можно уточнить функцией 3.

                               СОМ-порт и РпР
   Современные   ПУ,   подключаемые   к   СОМ-порту,   могут   поддерживать
спецификацию  РпР.  Основная   задача   ОС   заключается   в   идентификации
подключенного  устройства,   для   чего   разработан   несложный   протокол,
реализуемый на любых СОМ-портах чисто программным способом (рис. 2.18):
   [pic]
               Рис. 2.18. Запрос идентификатора устройства РпР
   1. Порт инициализируется с состоянием линий DTR=OA/, RTS=OFF, TXD=Mark -
состояние покоя (Idle).
   2. Некоторое время (0,2 с)  ожидается  появление  сигнала  DSR,  которое
указало бы на  наличие  устройства,  подключенного  к  порту.  В  простейшем
случае  устройство  имеет  на  разъеме  перемычку  DTR-DSR,   обеспечивающую
указанный  ответ.  Если  устройство  обнаружено,   выполняются   манипуляции
управляющими сигналами DTR и RTS для  получения  информации  от  устройства.
Если ответ не получен, ОС, поддерживающая  динамическое  реконфигурирование,
периодически опрашивает состояние порта для обнаружения новых устройств.
   3. Порт программируется на режим 1200 бит/с, 7 бит данных, без паритета,
1 стоп-бит, и на 0,2 с снимается сигнал  DTR.  После  этого  устанавливается
DTR=1, а еще через 0,2 с устанавливается и RTS=1.
   4. В течение 0,2 с ожидается приход первого символа  от  устройства.  По
приходе символа начинается прием идентификатора  (см.  ниже).  Если  за  это
время символ не пришел (рис. 2.18), выполняется вторая попытка  опроса  (см.
п. 5), несколько отличающаяся от первой.
   5. На 0,2 с снимаются оба сигнала (DTR=0 и RTS=0), после  чего  они  оба
устанавливаются (DTR=1 и RTS==1).
   6. В течение 0,2 с ожидается приход первого символа  от  устройства,  по
приходе символа начинается прием идентификатора  (см.  ниже).  Если  за  это
время символ не пришел, то в зависимости от состояния сигнала DSR  переходят
к  проверке  отключения  Verify  Disconnect  (при  DSR^O)  или  в   дежурное
состояние Connect Idle (при DSR=1).
   7. В дежурном состоянии Connect Idle устанавливается DTR=1, RTS=0,  порт
программируется на режим 300 бит/с, 7 бит данных, без паритета, 1  стоп-бит.
Если в этом состоянии обнаружится DSR=0, ОС следует уведомить об  отключении
устройства.
   Посимвольный прием идентификатора устройства имеет ограничения по  тайм-
ауту в 0,2 с на символ, а также  общее  ограничение  в  2,2  с,  позволяющее
принять строку длиной до 256  символов.  Строка  идентификатора  РпР  должна
иметь маркеры начала (28h или 08h) и конца (29h  или  09h),  между  которыми
располагается  тело  идентификатора  в  стандартизованном   формате.   Перед
маркером  начала  может  находиться  до  16  символов,  не   относящихся   к
идентификатору РпР. Если за первые 0,2 с ожидания  символа  (шаг  4  или  6)
маркер начала не пришел,  или  же  сработал  тайм-аут,  а  маркер  конца  не
получен, или же какой-либо символ принят с  ошибкой,  происходит  переход  в
состояние Connect Idle. Если получена корректная строка идентификатора,  она
передается ОС.
   Для проверки отключения (Verify Disconnect) устанавливается DTR=1, RTS=0
и через 5 с проверяется состояние сигнала DSR. При DSR=1 происходит  переход
в состояние Connect  Idle  (см.  п.  7),  при  DSR^O  происходит  переход  в
состояние Disconnect Idle, в котором система может  периодически  опрашивать
сигнал DSR для обнаружения подключения устройства.
   Описанный   механизм   разрабатывался   фирмой   Microsoft   с    учетом
совместимости с не РпР устройствами - невозможность их  вывода  из  строя  и
устойчивость системы  к  сообщениям,  не  являющимся  РпР  идентификаторами.
Например, обычная  Microsoft  Mouse  при  включении  питания  от  интерфейса
ответит ASCII-символом "М" (трехкнопочная - строкой "МЗ").
                      Параллельный интерфейс: LPT-порт
   Порт параллельного интерфейса был введен в PC для  подключения  принтера
—LP'T-порт (Line PrinTer — построчный принтер).
   Адаптер параллельного интерфейса  представляет  собой  набор  регистров,
расположенных  в  пространстве  ввода/вывода.  Регистры   порта   адресуются
относительно  базового  адреса  порта,  стандартными   значениями   которого
являются 386h, 378h и 278h. Порт имеет  внешнюю  8-битную  шину  данных,  5-
битную шину сигналов состояния и 4-битную шину управляющих сигналов.
   BIOS поддерживает до четырех  LPT-портов (LPT1-LPT4)  своим  сервисом  —
прерыванием  INT  17h,  обеспечивающим  через  них  связь  с  принтерами  по
интерфейсу  Centronics.  Этим  сервисом  BIOS  осуществляет  вывод  символа,
инициализацию интерфейса и принтера, а также опрос состояния принтера.
   Интерфейс Centronics
   Понятие  Centronics  относится  как  к  набору  сигналов   и   протоколу
взаимодействия,  так  и  к  36-контактному  разъему,   устанавливаемому   на
принтерах. Назначение сигналов приведено в табл. 1.
   Сигналы интерфейса Centronics
                                                               Таблица 1.
|Сигнал   |I/O   |Контакт  |Назначение                                     |
|Strobe   |I     |1        |Строб данных. Данные фиксируются по низкому    |
|         |      |         |уровню сигнала                                 |
|Data     |I     |2-9      |Линии данных. Data 0 (контакт 2) — младший бит |
|[0:7]    |      |         |                                               |
|Actt     |0     |10       |Acknowledge — импульс подтверждения приема     |
|         |      |         |байта (запрос на прием следующего). Может      |
|         |      |         |использоваться для формирования запроса        |
|         |      |         |прерывания                                     |
|Busy     |0     |11       |Занято. Прием данных возможен только при низком|
|         |      |         |уровне сигнала                                 |
|PaperEnd |0     |12       |Высокий уровень сигнализирует о конце бумаги   |
|Select   |0     |13       |Сигнализирует о включении принтера             |
|Auto LF# |I     |14       |Автоматический перевод строки.                 |
|Еггогй   |0     |32       |Ошибка: конец бумаги, состояние OFF-Line или   |
|         |      |         |внутренняя ошибка принтера                     |
|Imt#     |I     |31       |Инициализация                                  |
|Slot In# |I     |36       |Выбор принтера (низким уровнем). При высоком   |
|         |      |         |уровне принтер не воспринимает остальные       |
|         |      |         |сигналы интерфейса                             |
|GND      |-     |19-30 33 |Общий провод интерфейса                        |
|* I/O    |Задает|Направлен|(вход/выход) применительно к принтеру.         |
|         |      |ие       |                                               |


   Интерфейс   Centronics   поддерживается   большинством    принтеров    с
параллельным интерфейсом,  его  отечественным  аналогом  является  интерфейс
ИРПР-М.

                         Функции BIOS для LPT-порта
   BIOS  обеспечивает  поддержку  LPT-порта,  необходимую  для  организации
вывода по интерфейсу Centronics.
   В  процессе  начального  тестирования  POST   BIOS   проверяет   наличие
параллельных портов по адресам ЗВСЬ, 378h и 278h и помещает  базовые  адреса
обнаруженных портов в ячейки BIOS DATA AREA 0:0408h,  040Ah,  040СП,  040ЕП.
Эти ячейки хранят адреса портов с логическими именами  LPT1-LPT4.  В  ячейки
0:0478, 0479, 047А, 047В заносятся константы,  задающие  выдержку  тайм-аута
для этих портов.
   Поиск портов обычно ведется по  базовому  адресу.  Если  считанный  байт
совпал с записанным, считается, что найден LPT-порт, и его адрес помещают  в
ячейку BIOS DATA AREA. Адрес порта LPT4 BIOS  самостоятельно  установить  не
может, поскольку в списке стандартных  адресов  поиска  имеются  только  три
вышеуказанных.
   Обнаруженные порты  инициализируются  —  записью  в  регистр  управления
формируется и снимается сигнал  Initff,  после  чего  записывается  значение
00h, соответствующее исходному состоянию сигналов интерфейса.
   Программное прерывание BIOS I  NT  17h  обеспечивает  следующие  функции
поддержки LPT-порта:
   00h — вывод символа из  регистра  AL  по  протоколу  Centronics.  Данные
помещаются в  выходной  регистр  и  после  готовности  принтера  формируется
строб.
   01h — инициализаия интерфейса и принтера.
   02h — опрос состояния принтера.
   При вызове INT 17h номер функции задается в регистре АН, номер порта &mdash
12345След.
скачать работу

Интерфейсы, порты ПК

 

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

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


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