Переделка внутренних Courier V.Everything для работы без ISA

Как известно, благодаря идиотской политике intel сейчас трудно найти современную материнскую плату с ISA слотами. В результате весь парк исашных устройств стройными колоннами двинулся на свалку. И если исашным контроллерам IDE, SCSI, а также звуковым и видео карточкам место именно на свалке, то модемы туда отправлять было и рано, и глупо. Посудите сами - зачем COM-порту, например, bus mastering? Зачем вообще отдавать ресурсы COM-портов другим устройствам? Особенно меня "умиляет" безумная идея яйцеголовых из intel вообще отказаться от COM портов. Можно подумать, что кроме как в компьютерах COM-порты больше нигде не используются.

Тем не менее, ситуация уже имеет место быть, а значит, нужно как-то выкручиваться. Наиболее удачным из существующих решений мне представляется переходник USB-ISA. Однако это не самое дешевое решение, хоть и самое простое и перспективное. Если Вам не светит в ближайшее время разжиться таким адаптером, то все написанное ниже - для Вас.

В этой статье речь пойдет о переделке внутренних модемов USRobotics Courier V.Everything для работы без ISA.

Небольшое отступление, касающееся переделки НЕ-курьеров. Сразу огорчу владельцев модемов Sportster на чипсете от Texas Instruments (92МГц по ATI7) - их исашные модемы пойдут на свалку. Что же касается модемов Sportster (еще не переделанных в курьер) с супервизором Intel (20.16MHz по ATI7), то описанная ниже методика применима и для них, однако в этом случае после переделки модем будет работать только на скорости 115200. Это связано с невозможностью определения этими модемами скорости COM-порта без штатного чипа UART. То же касается и 16-ти мегагерцовых модемов Sportster и RC21600, однако тут дело обстоит еще хуже - эти модемы не в состоянии работать на скорости 115200 при перекачке больших обьемов информации :( Вообще, теоретически, можно заставить эти модемы работать на любых скоростях (внешние же работают!), но мне не удалось сходу решить эту проблему, да и не очень-то и хотелось, так как курьеры были на первом месте :) Если у кого-то есть желание побиться над решением этой проблемы или есть уже готовое решение - пишите.

Но вернемся к нашим курьерам. Итак, как же заставить их работать в системах без ISA?

Часть 1. Теория

Если сравнить внутренний и внешний Courier V.Everything, в глаза сразу бросается идентичность этих моделей - тот же процессор, тот же ASIC NEC. Светодиоды, кнопка и регулятор звука во внимание не берутся - это не принципиальные различия. Есть только два существенных отличия этих моделей друг от друга: первое - это способ "общения" (интерфейс) с компьютером, а второе - питание электроники модема.

Начнем с интерфейса компьютер-модем. Модемы Courier V.Everything для связи с компьютером используют последовательный интерфейс, контролируемый процессором-супервизором модема (далее CPU или i186) и микросхемой NEC 1-016-905 - заказной БИС (далее NEC).

Во внешних моделях сигналы последовательного интерфейса проходят через буферы RS232, основная задача которых преобразование уровней сигналов TTL <-> RS232. После буферов RS232 сигналы проходят через 25-контактный разьем, который соединяется с COM-портом компьютера. COM-порт состоит из буферов RS232, выполняющих ту же, что и в модеме функцию, и соединенным с ними UART. UART расшифровывается как "универсальный асинхронный приемопередатчик". Проще говоря, UART - это "контроллер COM-порта". Буфера и UART могут быть объединены в одном кристалле, но это не суть важно. Важно то, что UART компьютера занимает те же ресурсы, что и UART внутреннего модема. То есть, если говорить очень грубо, UART компьютера "сидит" на ISA. Даже в тех материнских платах, где ISA нет :) Ниже приведена блок-схема, наглядно иллюстрирующая сказанное.

Блок-схема связи внешнего модема с компьютером
Блок-схема связи внешнего модема с компьютером

Во внутренних моделях курьеров все проще. UART находится на плате модема и соединяется с шиной ISA с одной стороны и с NEC и CPU модема - с другой. Причем в этом случае сигналы последовательного интерфейса как UART так и модема будут иметь уровни TTL, что не требует никаких согласующих элементов между ними (буферов RS232).

Блок-схема связи внутреннего модема с компьютером
Блок-схема связи внутреннего модема с компьютером

Сравнивая две блок-схемы, приведенные выше, легко понять, что заменив во внутреннем модеме UART на буфера RS232 + разьем мы получим интерфейс внешнего модема. Этот интерфейс не требует наличия ISA, но нуждается во внешнем COM-порте, каковым может служить COM-порт на материнской плате.

Перейдем от блок-схем к реальным схемам. Для начала ознакомимся со схемой интерфейса RS232 во внешних модемах Courier V.Everything:

Схема интерфейса RS232 во внешних модемах
Схема интерфейса RS232 во внешних модемах

Некоторые пояснения к схеме. Эта схема внешнего модема с частотой 20.16МГц. Для внешних модемов с частотой 25МГц все то же самое, только каждая цепь буферов имеет RC-цепочку, видимо, для более стабильной работы на скорости порта 230к. Поскольку PC с такими скоростными портами не распространены, да и нормальные прошивки не поддерживают такие скорости, я не стал вводить RC-цепочки в эту схему. Кроме того, последовательные порты в PC не поддерживают синхронный режим обмена (как и внутренние курьеры), поэтому для нас наличие цепей SYNC RX TIMING, SYNC TX TIMING, SYNC TX TIMING EXT и SPEED INDICATE не актуально. Некоторые сигналы, идущие на NEC, идут и на CPU. Конденсаторы в цепях питания - 10мк х 16v и 0.1мк. Диоды - самые обычные, аналог КД521.

Ниже приведена схема соединения чипов UART и NEC для внутренних модемов. Нумерация ножек UART в скобках приведена для чипа 16PNP550, без скобок - для 16C550:

Схема интерфейса RS232 во внутренних модемах
Схема интерфейса RS232 во внутренних модемах

Из схемы видно, что сигналы, отвечающие за работу в синхронном режиме, не соединяются с чипом UART. Они "заглушены" на плате модема и не используются в работе.

Имея перед глазами обе схемы, способ переделки внутреннего модема во "внешний" более чем очевиден и не требует особого осмысления в части, касающейся электроники. Стоит лишь продумать способ запитывания "буферной" схемы и модема, а также способ размещения модема и платы с буферами RS232.

Разберемся с питанием. Тут есть два варианта - либо делать самостоятельный источник питания (как во внешнем модеме) либо брать питание от БП компьютера.

В первом случае прийдется делать достаточно мощный блок питания, способный выдавать три напряжения: +5v, +12v и -12v. Отделаться простыми 78xx (КРЕН) не получится. По крайней мере 7805 не вытягивает нагрузку - раскаляется даже с нехилым радиатором когда модем ничего не делает. Можно, конечно, сделать импульсный источник, но у меня не было желания с этим возиться. Если Вы сделаете такой источник и опробуете его в работе, напишите мне - Ваш опыт будет ценен многим.

При наличии собственного источника питания модем становится полностью независимым от компьютера. В этом случае можно собрать интерфейсные цепи и схему питания на одной плате, которая бы имела ножевой разьем под ISA и соединить ее с модемом с помощью переходника с ISA-разьемами, сделанного из старой материнской платы:

Так можно сделать внешний модем из внутреннего
Так можно сделать из внутреннего внешний модем

Идея, конечно, хорошая, но при ее реализации возникнет множество мелких проблем - как сделать корпус, как обеспечить жесткость конструкции, как добиться нормального теплового режима и защитится от помех от источника питания и т.п. Короче, есть поле для деятельности, дерзайте. Только помните - источник питания должен быть гальванически развязан с сетью 220v (класс 2).

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

На мой взгляд, логично было бы, чтобы переходник, который вставляется в слот PCI, нес также на себе интерфейсные цепи последовательного порта вместе с разьемом RS232, а так же служил бы несущей конструкцией для модема, для чего переходник необходимо оснастить разьемом ISA, таким, как на материнских платах. Рисунок, приведенный ниже, иллюстрирует эту идею:

Подключение модема через переходник на PCI
Подключение модема через переходник на PCI

Из рисунка также видно, что телефонные разьемы модема подключены к телефонным разьемам переходника. Разьемы на переходнике введены для удобства эксплуатации создаваемой конструкции.

У данной конструкции есть один недостаток - будучи установленной в компьютер, она занимает не только тот слот PCI, в который вставляется плата переходника, но и часть пространства слота PCI, расположенного над ней. Это связано с тем, что элементы на платах ISA и PCI расположены на разных сторонах относительно слотового разьема. Однако, на практике, если это жизненно необходимо (например, когда не хватает PCI слотов), удается разместить в "ущемленном" слоте какое-нибудь низкопрофильное устройство типа саунд-карты или сетевухи.

В остальном конструкция позволяет добиться желаемого результата "малой кровью".

В заключении теоретической части давайте рассмотрим, что мы приобретаем, и что теряем при переделке внутренних курьеров для работы внутри компьютера с PCI и внешним COM-портом?

Приобретаем мы, ясное дело, собственно работу модема :) После переделки можно спокойно работать с модемом до следующего припадка мудрецов из intel - до исчезновения из компьютера COM-портов (после чего купить переходник USB-COM и работать дальше - до исчезновения диалапа, факсов и телефонов вообще).

Теряем же мы технологию Plug and Play, если таковая присутствовала в модеме (для поддержки PnP необходима еще одна маленькая доработка модема, о ней читайте в откликах на статью, приведенных в конце этой страницы). Кроме PnP мы теряем свободный доступ к DIP-переключателям модема - после переделки прийдется вскрывать корпус компьютера для изменения установки DIP-переключателей. В список "потерь" можно включить COM-порт на материнской плате, который теперь будет занят модемом. Однако, я думаю, что это не существенные потери - модем можно установить и без PnP (что на мой взгляд даже лучше в плане совместимости со "старым" софтом), DIP-переключателями пользуются очень редко, а один свободный COM-порт - это и так много :)

Кстати говоря, после переделки мы НЕ приобретаем возможность работы порта в синхронном режиме, которая возможна для внешник курьеров. Ее можно реализовать, но кому она нужна?

Часть 2. Практика

Из предыдущего раздела, я думаю, ясно, что для переделки внутреннего курьера для работы без ISA нужно выкинуть из модема микросхему UART, собрать переходник, соединить модем и переходник и воткнуть все это в компьютер, после чего обычным модемным кабелем соединить разьем переходника и COM-порта.

Вот как это реализовано у меня:

Пилотный образец переделанного модема

Подключение модема через переходник на PCI. Реализация "в железе"

На фотографии приведен пилотный образец, работа которого не вызвала нареканий. У него есть один недостаток - микросхемы на переходнике можно было установить с другой стороны платы, чтоб они не мешали соседнему PCI-устройству. Однако, как показала практика, даже такая конструкция или не мешает "соседу" вовсе, или мешает уже не только чипами, но и модемом :) Поэтому я не стал переделывать плату - меня она ПОКА устраивает, а с заказами во Владивостоке не густо :( Кроме того, есть шкурная :) надежда, что добрый "кто-нибудь", в благодарность за мой труд нарисует эту плату с более нормальным размещением элементов и не в Visio, как это делал я, а в формате, пригодном для использования в промышленных установках для изготовления печатных плат :) А если кто подкинет пару-тройку промышленно изготовленных плат - моей благодарности не будет границ!

Итак, что нам понадобится для переделки модема и сборки переходника? Вот перечень необходимых материалов и деталей:

В качестве буферов RS232 можно использовать не 148х, а что-то типа 75323, 75232 или MAX237 (естественно, с корректировкой схемы). Вот пример - GD75323:

Использование в качестве буфера RS232 чипа 75323

Использование в качестве буфера RS232 чипа 75323

По мне проще и дешевле распотрошить старую мультикарту с чипами 148x, чем выискивать в магазинах чипы 75xxx (хотя 75232 можно снять со старой материнской платы, но этих микросхем нужно будет две штуки, в отличии от одной 75323). Кстати, в старой мультикарте есть железка с уже прорубленными отверстиями, а также конденсаторы и, возможно, диоды.

Во внутренних модемах Courier V.Everything применяются два типа UART - 16550 и 16pnp550. Первый тип чипов выпускают многие фирмы. Эти микросхемы в модемах USR встречаются только в корпусах PLCC-44 и в их маркировке присутствует надпись 16C550. Второй тип чипов я видел только в исполнении Texas Instruments. Применяются чипы в корпусах PLCC-68 и в обозначении обычно присутствует надпись 16PNP550. 16pnp550 отличается от 16550 только наличием в 16pnp550 встроенного контроллера Plug and Play.

Вот как выглядит микросхема в корпусе PLCC-44:

PLCC-44
44 Lead Plastic Leaded Chip Carrier (PLCC-44)

Корпус PLCC-68 выглядит так же, только ножек, естественно, больше. Ножки нумеруются против часовой стрелки, первая ножка отмечена точкой на корпусе.

Вам нужно найти на плате модема этот чип и удалить его с платы. При этом саму плату желательно не уродовать :) Есть два метода аккуратного снятия чипов такого рода с плат: перерезанием ножек у корпуса с последующим их выпаиванием по одной и выпаивание чипа с помощью паяльной станции или строительного фена. Первый способ хорош тем, что кроме удаляемого чипа не страдает ничего больше, а плох тем, что чип после этого не пригоден к использованию по назначению. Второй способ оставляет выпаиваемый чип в живых, но возможно нежелательное термическое воздействие на соседние элементы и плату. Особенно в случае использования фена.

Я выпаиваю чипы феном и ставлю на их место панельку. Таким образом, вставив в панельку выпаянный чип, мы будем иметь обычный исашный курьер. Вставив вместо UART разьем со шлейфом, идущим от переходника с буферами, мы получим "внешний" курьер.

Если Вы не собираетесь больше использовать Ваш модем на ISA, можете паять шлейф прямо на плату.

Разьем DB25F и железку я беру из старых мультипортовок. Железка нужна от такой мультикарты, где на железку выведены разьемы LPT и GAME. Если взять железку LPT+COM, то отверстие от бывшего COM-разьема прийдется растачивать для доступа к телефонным разьемам. Также следует иметь ввиду, что в разных мультикартах расстояние от начала железки до LPT разьема бывает разным.

Печатную плату я изготавливал по "лазерно-утюжной" технологии. "Исходники" печатной платы, "скомпилированные" для печати на лазерном принтере, в формате Visio 5.

Подводя итоги, хочу сказать, что все вышеописанное испытано в железе на модемах с чипами 16C550 (лично мною) и 16PNP550 (авторами восторженных писем). За время, прошедшее с момента опубликования этой статьи, я не получил ни одного письма с критикой (а благодарственных - множество), что говорит о правильности и доступности изложенного материала. Тем не менее, если у Вас есть комментарии или идеи - поделитесь ими: возможно, они пригодятся многим. Пишите!

Еще раз хочу акцентировать Ваше внимание на том, что неквалифицированные действия могут привести к порче модема и компьютера, а также к другим печальным последствиям. Прежде чем начать переделку своего модема еще раз подумайте - а сможете ли Вы сами это сделать?

Часть 3. Письма

Тема: О внешнем источнике питания и включении Plug'n'Play
Автор: Anton Barabanov

"...Блок питания собран на ШИМ контроллере TL494 по типовой двухтактной схеме. Он преобразует входное напряжение 8..15В в стабилизированные +5, +12 и -12В. Нагрузка по каналу 5 В - до 1 А, +/-12В - до 100мА, чего вполне хватает Курьеру.

Вот его принципиальная схема.

Т1 намотан на кольце (или Ш-образном сердечнике) из феррита марки 2000НМ с внутренним сечением около 15..20 мм^2, Т2 - 600..800НН соответственно.

T1:
Обмотка I: 20+20 витков провода D 0,8 мм
Обмотка II: 18+18 вит. D 0,8 мм
Обмотка III: 36 вит. D 0,1..0,2 мм

Т2:
Обмотка I: 40 вит. D 0,8 мм
Обмотка II: 110 вит. D 0.1 мм
Обмотка III: 110 вит. D 0.2 мм

В принципе, ничего особо сложного в этом блоке питания нет, у меня он заработал сразу. Единственное с чем пришлось немного поковыряться, это трансформаторы. Т.к. всё собиралось из подручного хлама, (для Т1 я использовал Ш-образный сердечник сечением 4,5х4,5мм из неизвестного феррита, Т2 намотал на кольце размером 12х7х6 от преобразователя питания процессора со старой материнки) с первого раза я промазал с количеством витков (мало намотал), пришлось перематывать. Выше указано количество витков с запасом.

На холостом ходу (без модема) этот БП потребляет около 20мА от 12В на входе, с модемом в простое около 200мА и во время соединения около 320мА.

Единственные детали, которые будут при этом греться - это диоды D1 и D2, и немного транзисторы V1 и V2 (но руку они не должны обжигать). Если необходимо чтобы БП работал от напряжения больше 15В, (например от 8 до 40В) нужно поставить более высоковольтные диоды D1, D2 (SR508, SR308) и транзисторы V1 и V2 (любые ключевые тр-ры с граничной частотой не менее 50МГц, h21э>60, Iк>3A и UкэОбр>80В), ну и конденсатор на 50МГц, h21э>входе на напряжение 50В.

После пары экспериментов мне удалось включить PNP и теперь модем находится Виндами как Advanced Voice Courier External PNP (у меня прошивка AVC56). В ответе на команды ATI7 и другие также видно external.

Для этого надо отпаять ногу сдвоенного диода D8 (или заменить его на один) подключённую к ноге 14 микросхемы NEC, т.е. останется один диод анодом к ноге 21 и катодом к ногам 13 и 43 NEC. На моём Куре 25 MHz 97-го года он находится напротив ноги 32 NEC-а, на других может немного отличаться..."
 



Тема: О внешнем источнике питания и конструкции
Автор: Sergej Pipets, 2:5030/195.73 FidoNet

"...У меня мысли по внешнему универсальному переходнику RS232-ISA. БП для него легко делается из трансформатора с выходом по переменке (как в настоящих внешних модемах), выпрямитель +-12; а +5 формировать из +12 схемкой на МС34063 (aka 1156ЕУ5, 1184ПH1) по схеме из даташита (без внешних транзисторов). Проверено, работает. Размеры меньше радиатора для 142ЕH5 ;-)"

"Преобразователи на 34063 я делал много, остается добавить входной мост, расщепитель для получения минуса и все это развести на плату."

"Выпускает его [этот чип] уйма фирм, иногда называется UC34063, КР1156ЕУ5 и еще как-то. Цена в DIP-8 около 10 руб, SOIC-8 - 40."

"...Детали на PCI нужно было ставить с другой стороны, и разъем XT брать с угловыми ногами, чтобы габариты не нарушать."

"AK> А что значит "с yгловыми ногами"?"

"Обычно разъем-корзинка впаивается перпендикулярно плате (см. любую матплату), но есть и с загнутыми ногами, то есть плата, вставляемая в такой разъем, оказывается параллельной основной плате. Есть разъемы и с высокими ногами."

"AK> Понятно. Я исходил из того, что есть. А есть кyча битого хлама. А вот таких хитpых ISAшных pазьемов y нас не кyпишь :((( Тем более с таким pазьемом пpийдется свеpлить тyчy дыp :)"
 


Комментарии? Пишите!

Александр Купцов.
© 2000- #EGONY Enterprises, Inc. All rights reserved.
http://www.egony.newmail.ru/up_isa.htm