Конфигурирование СОМ-портов.
Управление последовательным портом разделяется на два этапа: предварительное конфигурирование аппаратных средств порта (через SetUp), и текущее (оперативное) переключение режимов работы прикладным или системным программным обеспечением. Способ и возможности конфигурирования
СОМ-порта определяются его исполнением и размещением. Порт, расположенный на плате расширения, устанавливаемой в слот ISA, конфигурируется перемычками на самой карте, а расположенный на системной плате – программно, через утилиту SetUp.
Чтобы правильно сконфигурировать платы портов, придется переставлять на них перемычки или переключать соответствующие переключатели, а т. к. подобных плат существует множество типов, то сведения об их конфигурировании, следует искать в инструкции по эксплуатации конкретной платы.
Конфигурированию подлежат:
1) базовый адрес, могущий иметь значения 3F8h, 2F8h, 3E8h, 2E8h. BIOS, перед загрузкой ОС, проверяет наличие СОМ-портов и присваивает обнаруженным портам логические имена СОМ1, СОМ2, СОМ3 и СОМ4 именно в такой последовательности;
2) используемая линия запроса прерывания для СОМ1 и СОМ3 – обычно IRQ4 или IRQ11, для СОМ2 и СОМ4 – IRQ3 или IRQ10. Прерывания необходимы для портов, к которым подключаются устройства ввода (мышь, дигитайзер), UPS и модемы. При связи двух компьютеров нуль-модемным кабелем, прерывания обычно не используются;
3) использование канала DMA для UART 16450 или 16550 – это разрешение использования и номер канала DMA при работе с СОМ-портом, но с СОМ-портами режим DMA используется редко.
Лучше всего использовать для конфигурирования стандартные принятые для СОМ-портов значения (таблица 3.1).
Проблема может возникнуть, когда BIOS регистрирует эти порты. Если оказывается, что последовательный порт по адресу 3F8 не обнаружен, а адрес 2F8 занят, скажем, модемом, то порту СОМ1 ошибочно присваивается адрес 2F8. Для СОМ1 зарезервирована линия IRQ4, но порт с адресом 2F8, будет использовать ресурсы СОМ2, т. е. линию IRQ3, а не IRQ4, и если теперь обращаться к СОМ1 через DOS, то выяснится, что последовательный порт или модем не работают.
Таблица 3.1 Стандартные адреса ввода-вывода и прерывания для последовательных портов).
Тип шины | Порт | Адрес в\в | IRQ |
Все | COM1 | 3F8 | IRQ4 |
Все | COM2 | 2F8 | IRQ3 |
ISA | COM3 | 3E8 | IRQ4 |
ISA | COM4 | 2E8 | IRQ3 |
ISA | COM3 | 3E0 | IRQ4 |
ISA | COM4 | 2E0 | IRQ3 |
ISA | COM3 | IRQ4 | |
ISA | COM4 | IRQ3 |
Другая проблема связана с тем, что в BIOS компьютеров с шиной ISA, не предусмотрена возможность использования СОМ3 и СОМ4. Поэтому DOS-команда MODE не может быть выполнена для последовательных портов с номерами больше, чем 2. DOS получает информацию об устройствах ввода-вывода от BIOS, которая, в свою очередь, идентифицирует подключенные устройства при выполнении процедуры POST. При этом в старых компьютерах проверяются только два первых их всех возможных установленных портов. Существуют вспомогательные программы, позволяющие добавить в BIOS информацию о СОМ-портах, делая их доступными для DOS, например, программа Port Finder. Активизируя дополнительные порты, эта программа позволяет обращаться к СОМ3 и СОМ4 программам, в которых такая возможность заранее не предусматривалась.
Для дополнительных портов должны использоваться и отдельные прерывания, но, как видно из таблицы 1.3, СОМ-портам назначены всего два запроса – IRQ3 и IRQ4. Поэтому, все подключаемые
СОМ-порты должны быть разбиты на две группы так, чтобы с портами, использующими одно и то же IRQ, работали внешние устройства, которые не будут работать одновременно, а одновременно работающие ПУ – использовали порты с разными прерываниями.
Режим работы порта по умолчанию: 2400 бит/сек, 7 бит данных, 1 стоп-бит. Режим работы и использование контроля четности, заданные при инициализации порта во время работы BIOS, может изменяться в любой момент времени (оперативное переключение) самой прикладной программой, или командой DOS MODE COMx: с указанием соответствующих параметров.
Дата добавления: 2015-07-18; просмотров: 1263;