Сергей Пилец, Санкт-Петербург
РадиоХОББИ №6, 1998г.
Достаточно часто требуется на одном IBM-совместимом
компыотере поставить более двух
последовательных портов, и эта, вроде бы,
возможно - для портов зарезервированы базовые
адреса 0x318, 0x218, 0хЗе8 и 0x2е8 (СОМ1-СОМ4
соответственно). Но проблема возникнет, когда
появится необходимэсть пользоваться всеми
четырьмя портами однавременно (на самом деле,
проблема может возникнуть даже с двумя СОМами).
Дело в том, что порты СОМ1 и COM3, а также COM2 и СОМ4
используют одно и тоже прерывание (IRQ4 и IRQЗ
соответственно). Из-за чего одновременная работа
двух модемов, установленных на втором и
четвертых портах, невозможна. Первая же мысль -
"а не поставить ли второй модем на СОМЗ?"
натыкается на возражения со стороны мыши,
использующей первый порт и, следовательно, все
тот же IRQ4. Возможна, конечно же, замена сериальной
мьши на PS/2, но этот порт есть не на всех
материнских платах, и подразумевает отказ от
использования трехкнопочного манипулятора.
Чтобы стало возможным использовать на одном
компьютере более двух СОМ-портов одновременно (именно
"использовать", а не просто "иметь"),
необходимо разделить используемые прерывания.
Конечно, мне сейнас напомнят о карточкак, имеющик
4-8-16 последовательных портов, и использующих при
этим только одно прерывание, на что я отвечу: "а
Вы посмотрите на ее цену" - в домашних условиях
применение такого контроллера не всегда
оправдано.
Для решения конфликтов портов надо, всего-то,
развести порты по разным прерываниям. Если
используются внутренние модемы, часто это
возможно - многие модемы имеют возможность
использования прерываний, помимо классичесских
второго, пятого, седьмого. Но седьмое прерывание
использует принтерный порт (LPT1), пятое - второй
принтерный порт (LPT2) или звуковая карта. Более-менее
свободными остаются прерывания 2, 10, 11, 12. При
установке только внешних устройств даже эти
прерывания малодоступны. Но проблема победима -
нужно взять дополнительно обычную
мультипортовую карту и назначить на ней новые
параметры порта, даже если они в ней не
предусмотрены. Если необходимо поменять
прерывание, а джамперов под это дело нет (они
обычно находятся внизу платы, в середине 8-битового
"ножа" и их легко найти без документации),
придется разрезать проводок около контактной
ламели для (COM3 -это IRQ4 В24) и припаять его к В23,
например.
Доступные прерывания, и их контакты на разъеме
ISА:
IRQ2 - В4
IRQ3 - B25 - CQM 2,4
IRQ4 - В24 - СОМ 1,3
IRQ5 - В2З - LРТ2, SВ16
IRQ6 - B22 - FDD
IRQ7 - B21 - LPT1
IRQ10 - D3
IRQ11 - D4
IRQ12 - D5
IRQ14 - D7 - IDE HDDC1
IRQ15 - D6 - IDE HDDC2
Данные контакты находятся на стороне,
противоположной деталям, отсчет идет от
металлической планки в порядке В1-В31, D1-D18.
Далее необходимо переконфигурировать
программноеобеспечение, указав новую
конфигурацию портов. Описывать его настройку не
буду, т.к. она проста, и описывается в
документации на используемое ПО.