Книга: Аппаратные интерфейсы ПК. Энциклопедия
2.9. СОМ-порт и PnP
2.9. СОМ-порт и PnP
Современные ПУ, подключаемые к СОМ-порту, могут поддерживать спецификацию PnP. Основная задача ОС заключается в идентификации подключенного устройства, для чего разработан несложный протокол, реализуемый на любых СОМ-портах чисто программным способом. Этот протокол иллюстрирует рис. 2.15.
Рис. 2.15. Запрос идентификатора устройства PnP
1. Порт инициализируется с состоянием линий DTR=ON
, 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 с ожидается приход первого символа от устройства. По приходу символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел, выполняется вторая попытка опроса (см. п. 5), несколько отличающаяся от первой.
5. На 0,2 с снимаются оба сигнала (DTR
=0 и RTS
=0), после чего они оба устанавливаются (DTR
=1 и RTS
=1).
6. В течение 0,2 с ожидается приход первого символа от устройства, по приходу символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел, то в зависимости от состояния сигнала DSR
переходят к проверке отключения Verify Disconnect (при DSR
=0) или в дежурное состояние Connect Idle (при DSR
=1).
7. В дежурном состоянии Connect Idle устанавливается DTR
=1, RTS
=0, порт программируется на режим 300 бит/с, 7 бит данных, без паритета, 1 стоп-бит. Если в этом состоянии обнаружится DSR
=0, ОС следует уведомить об отключении устройства.
Посимвольный прием идентификатора устройства имеет ограничения по тайм- ауту в 0,2 с на символ, а также общее ограничение в 2,2 с, позволяющее принять строку длиной до 256 символов. Строка идентификатора PnP должна иметь маркеры начала (28h или 08h) и конца (29h или 09h), между которыми располагается тело идентификатора в стандартизованном формате. Перед маркером начала может находиться до 16 символов, не относящихся к идентификатору PnP. Если за первые 0,2 с ожидания символа (шаг 4 или 6) маркер начала не пришел, или же сработал тайм-аут, а маркер конца не получен, или же какой-либо символ принят с ошибкой, происходит переход в состояние Connect Idle. Если получена корректная строка идентификатора, она передается ОС.
Для проверки отключения (Verify Disconnect) устанавливается DTR
=1, RTS
=0 и через 5 с проверяется состояние сигнала DSR
. При DSR
=1 происходит переход в состояние Connect Idle (см. п. 7), при DSR
=0 происходит переход в состояние Disconnect Idle
, в котором система может периодически опрашивать сигнал DSR
для обнаружения подключения устройства.
Описанный механизм разрабатывался компанией Microsoft с учетом совместимости с устройствами, не относящимися к устройствам PnP, — он обеспечивает невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся PnP-идентификаторами. Например, обычная мышь Microsoft Mouse (не PnP) по включении питания от интерфейса ответит ASCII-символом «M» (трехкнопочная — строкой «M3»).
- 2.1. Интерфейс RS-232C
- 2.2. Родственные интерфейсы и преобразователи уровней
- 2.3. Асинхронный режим передачи
- 2.4. Управление потоком данных
- 2.5. Микросхемы асинхронных приемопередатчиков
- 2.6. Системная поддержка СОМ-портов
- 2.7. Конфигурирование СОМ-портов
- 2.8. Использование СОМ-портов
- 2.9. СОМ-порт и PnP
- 2.10. Неисправности и тестирование СОМ-портов
- 12. Лекция: Создание приложений с графическим интерфейсом пользователя.
- 4.5 Типы портов Fibre Channel
- 2.4.1. Быстро, просто и портабельно: Tor на флешке
- Я нашел интересный сайт, но со сложным адресом. Как его запомнить?
- Как составить психологический портрет с помощью Сети?
- Если не включить внешний модем (COM-порт) до загрузки компьютера, то он не определяется системой. Это можно исправить?
- Во время загрузки появляется окно с запросом пароля, но раскладка используется русская, а у меня пароль на английском. К...
- include - Импорт текста из внешнего файла ActionScript
- Фильтрация портов
- Подружитесь с почтовым сервисом!
- 10.7.2. Сканирование портов
- Управление процессом снизу