Переделка внутренних 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 во
внешних модемах
Некоторые пояснения к схеме. Эта схема внешнего модема с частотой
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 во
внутренних модемах
Из схемы видно, что сигналы, отвечающие за работу в синхронном
режиме, не соединяются с чипом UART. Они "заглушены" на плате модема
и не используются в работе.
Имея перед глазами обе схемы, способ переделки внутреннего модема
во "внешний" более чем очевиден и не требует особого осмысления в
части, касающейся электроники. Стоит лишь продумать способ
запитывания "буферной" схемы и модема, а также способ размещения
модема и платы с буферами RS232.
Разберемся с питанием. Тут есть два варианта - либо делать
самостоятельный источник питания (как во внешнем модеме) либо брать
питание от БП компьютера.
В первом случае прийдется делать достаточно мощный блок питания,
способный выдавать три напряжения: +5v, +12v и -12v. Отделаться
простыми 78xx (КРЕН) не получится. По крайней мере 7805 не
вытягивает нагрузку - раскаляется даже с нехилым радиатором когда
модем ничего не делает. Можно, конечно, сделать импульсный источник,
но у меня не было желания с этим возиться. Если Вы сделаете такой
источник и опробуете его в работе, напишите мне - Ваш опыт будет ценен
многим.
При наличии собственного источника питания модем становится
полностью независимым от компьютера. В этом случае можно собрать
интерфейсные цепи и схему питания на одной плате, которая бы имела
ножевой разьем под ISA и соединить ее с модемом с помощью
переходника с ISA-разьемами, сделанного из старой материнской платы:
Так можно сделать из
внутреннего внешний модем
Идея, конечно, хорошая, но при ее реализации возникнет множество
мелких проблем - как сделать корпус, как обеспечить жесткость
конструкции, как добиться нормального теплового режима и защитится
от помех от источника питания и т.п. Короче, есть поле для
деятельности, дерзайте. Только помните - источник питания должен
быть гальванически развязан с сетью 220v (класс 2).
Многих лишних проблем можно избежать, если отказаться от затеи
вынести переделываемый модем за пределы компьютера. В этом случае
лучше всего взять питание с разьема PCI, благо таких слотов в
матерях теперь много :)
На мой взгляд, логично было бы, чтобы переходник, который
вставляется в слот PCI, нес также на себе интерфейсные цепи
последовательного порта вместе с разьемом RS232, а так же служил бы
несущей конструкцией для модема, для чего переходник необходимо
оснастить разьемом ISA, таким, как на материнских платах. Рисунок,
приведенный ниже, иллюстрирует эту идею:
Подключение модема через
переходник на PCI
Из рисунка также видно, что телефонные разьемы модема подключены
к телефонным разьемам переходника. Разьемы на переходнике введены
для удобства эксплуатации создаваемой конструкции.
У данной конструкции есть один недостаток - будучи установленной
в компьютер, она занимает не только тот слот PCI, в который
вставляется плата переходника, но и часть пространства слота PCI,
расположенного над ней. Это связано с тем, что элементы на платах
ISA и PCI расположены на разных сторонах относительно слотового
разьема. Однако, на практике, если это жизненно необходимо
(например, когда не хватает PCI слотов), удается разместить в
"ущемленном" слоте какое-нибудь низкопрофильное устройство типа
саунд-карты или сетевухи.
В остальном конструкция позволяет добиться желаемого результата
"малой кровью".
В заключении теоретической части давайте рассмотрим, что мы
приобретаем, и что теряем при переделке внутренних курьеров для
работы внутри компьютера с PCI и внешним COM-портом?
Приобретаем мы, ясное дело, собственно работу модема :) После
переделки можно спокойно работать с модемом до следующего припадка
мудрецов из intel - до исчезновения из компьютера COM-портов (после
чего купить переходник USB-COM и работать дальше - до исчезновения
диалапа, факсов и телефонов вообще).
Теряем же мы свободный доступ к DIP-переключателям модема - после
переделки прийдется вскрывать корпус компьютера для изменения
установки DIP-переключателей. В список "потерь" можно также включить
COM-порт на материнской плате, который теперь будет занят модемом.
Однако, я думаю, что это не существенные потери -
DIP-переключателями пользуются очень редко, а один свободный
COM-порт - это и так много :)
Кстати говоря, после переделки мы НЕ приобретаем возможность
работы порта в синхронном режиме, которая возможна для внешник
курьеров. Ее можно реализовать, но кому она нужна?
Часть 2. Практика
Из предыдущего раздела, я думаю, ясно, что для переделки
внутреннего курьера для работы без ISA нужно выкинуть из модема
микросхему UART, собрать переходник, соединить модем и переходник и
воткнуть все это в компьютер, после чего обычным модемным кабелем
соединить разьем переходника и COM-порта.
Вот как это реализовано у меня:
Подключение модема через
переходник на PCI. Реализация "в железе"
На фотографии приведен пилотный образец, работа которого не
вызвала нареканий. У него есть один недостаток - микросхемы на
переходнике можно было установить с другой стороны платы, чтоб они
не мешали соседнему PCI-устройству. Однако, как показала практика,
даже такая конструкция или не мешает "соседу" вовсе, или мешает уже
не только чипами, но и модемом :) Поэтому я не стал переделывать
плату - меня она ПОКА устраивает, а с заказами во Владивостоке не
густо :( Кроме того, есть шкурная :) надежда, что добрый
"кто-нибудь", в благодарность за мой труд нарисует эту плату с более
нормальным размещением элементов и не в Visio, как это делал я, а в
формате, пригодном для использования в промышленных установках для
изготовления печатных плат :) А если кто подкинет пару-тройку
промышленно изготовленных плат - моей благодарности не будет границ!
Итак, что нам понадобится для переделки модема и сборки
переходника? Вот перечень необходимых материалов и деталей:
- Текстолит фольгированный двухсторонний, толщиной 2.5мм,
размерами примерно 11х14 см.
- Разьем DB25F на плату - D-образный, 25 контактов, "мама",
монтируемый на плату.
- Разьем ISA 8bit - та часть исашного разьема, в которой больше
контактов (туда будет вставляться модем). Разьем, монтируемый на
плату.
- Железка, которая будет крепиться к разьему, с помощью которой
переходник будет закрепляться в корпусе компьютера.
- Микросхемы 1488 - 2 штуки, 1489 - 1 штука. Они могут
обозначаться как MC1488, MC14C88, DS1488, 75188 и т.п. Если
интересны ТТХ этих чипов - читайте "даташиты"
на их аналоги.
- Конденсаторы 10мкФ х 16в - 2 шт.
- Диоды маломощные, например КД521 - 2 шт.
- Телефонные гнезда, как в модеме, монтируемые на плату и
ответные части от них, с проводами.
- Гибкий шлейф с 10-ти штырьковым разьемом (типа IDE-шного) и
ответная часть от этого разьема (штырьки).
В качестве буферов RS232 можно использовать не 148х, а что-то
типа 75323, 75232 или MAX237 (естественно, с корректировкой схемы).
Вот пример - GD75323:
Использование в
качестве буфера 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:
44 Lead Plastic Leaded Chip Carrier (PLCC-44)
Корпус PLCC-68 выглядит так же, только ножек, естественно,
больше. Ножки нумеруются против часовой стрелки, первая ножка
отмечена точкой на корпусе.
Вам нужно найти на плате модема этот чип и удалить его с платы.
При этом саму плату желательно не уродовать :) Есть два метода
аккуратного снятия чипов такого рода с плат: перерезанием ножек у
корпуса с последующим их выпаиванием по одной и выпаивание чипа с
помощью паяльной станции или строительного фена. Первый способ хорош
тем, что кроме удаляемого чипа не страдает ничего больше, а плох
тем, что чип после этого не пригоден к использованию по назначению.
Второй способ оставляет выпаиваемый чип в живых, но возможно
нежелательное термическое воздействие на соседние элементы и плату.
Особенно в случае использования фена.
Я выпаиваю чипы феном и ставлю на их место панельку. Таким
образом, вставив в панельку выпаянный чип, мы будем иметь обычный
исашный курьер. Вставив вместо UART разьем со шлейфом, идущим от
переходника с буферами, мы получим "внешний" курьер.
Если Вы не собираетесь больше использовать Ваш модем на ISA,
можете паять шлейф прямо на плату.
Разьем DB25F и железку я беру из старых мультипортовок. Железка
нужна от такой мультикарты, где на железку выведены разьемы LPT и
GAME. Если взять железку LPT+COM, то отверстие от бывшего
COM-разьема прийдется растачивать для доступа к телефонным разьемам.
Также следует иметь ввиду, что в разных мультикартах расстояние от
начала железки до LPT разьема бывает разным.
Печатную плату я изготавливал по "лазерно-утюжной" технологии.
"Исходники"
печатной платы, "скомпилированные" для печати на лазерном принтере,
в формате Visio 5.
В заключение несколько слов о поддержке Plug and Play
переделанными модемами. Если работать с PnP не предполагается, то
ничего больше делать не нужно - в этом случае модем будет
определяться как внутренний, без PnP. Иначе необходима еще одна
доработка модема - нужно разорвать соединение сдвоенного диода с
контактом 14 микросхемы NEC - такой модем будет определяться как
внешний и использовать технологию Plug and Play.
Подводя итоги, хочу сказать, что все вышеописанное испытано в
железе на модемах с чипами 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:5O3O/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 :)"
Тема: Печатная плата в формате PCAD 4.5 Скачать
архив Автор: Jura Baskakov
"AK> Где плата переходника с чипа 16550 на переходник в PCI?"
"не делалась. сразу паял на нужные ноги. у меня не 16550 а тот,
что PNP."
"AK> Ты сам это собирал?"
"Да. Две штуки."
"AK> Если да, то по своему ли чертежу?"
"да."
Тема: Опыт переделки Автор: Rodion Sagdeev
Переделал по предложенной методике без проблем. Ну почти без
проблем. Вот о мелких грабельках и напишу:
- ЛУТ (пробовал первый раз в жизни. И ваще это моя первая печатка
- до этого макетками обходился :-)). Фотобумага у меня была тока
"картон". Вернее была еще тонкая но матовая - не катит по причине
матовости :_). Ну значит картон. Во первых - линейное расширение
довольно заметное, и для двух сторон было несовпадение. К счастью
небольшое совсем. Болше огорчило то, что при отмокании (очень долго
- картон всётаки) большие полигоны оказались повреждены :-( Ну это
не страшно - заретушировал нитрокраской. Но на будующее я бы сделал
их (полигоны) полосатыми матросами :-)
- Пайка. Разводка разъема естественно неизвестна. Плюс - разводка
печатки не совпадает с приведенной схемой внешнего курьера. Полчаса
тыкания Ц-шкой конечно решило проблему, но было бы проще, если бы
для разъема было подписано на какую ногу UART какой пин паять. У
меня курьер 25мгц, поэтому воспользоваться печаткой переходника тоже
было затруднительно :-(
- Детали: Телефонные разъемы найти не удалось (естественно, я их
начал искать уже после того как изготовил плату :-))). Сделал проще
- выпаял разъемы с курьера. Естественно - он при этом стал
несъемным, но об этом - ниже. Исашный разъем спаял с 386sx материнки
- тут без проблем. Старую мультяху нашел по блату у ремонтников. :-)
Гребенку и кабель - от той же мультяхи (второй ком-порт был на
выкидной планке). Длинный компорт, шнурок из запасов и db9мама из
магазина составили кабель для компорта (кстати - его распайку тоже
неплохо привести. Хотя это совсем не проблема).
- PnP включил отпаяв один край диода и повесив его в воздухе. Тут
надо осторожно - я сначала отпаял общий вывод, затем нужный и после
этого, повернув сборку на бок - припаял общий.
- Спаял, собрал, воткнул. ЧУДО - всё заработало сразу!!!
- А это еще не всё! :-) "Если всё работает, значит что-то не так
собрали". Ага - полученный гибрид выступал за пределы корпуса на 5
мм. Блин - ладно бы на полметра - не так обидно было бы :-)
Вытаскиваю, разбираю, отпаиваю ису, припаиваю МОДЕМ НЕПОСРЕДСТВЕННО
НА ПЕРЕХОДНИК - с верхней стороны у переходника нет контактов на isa
- приложил туда луженый край модема и пропаял. С нижней стороны
сделал перемычки на верхнюю. Для жесткости припаял железку модема на
плату переходника. Получилось отлично!
В результате - пожертвовав "съемностью" модема можно съекономить
:-) на двух парах телефонных разъемов, иса-разъеме, разъеме под
гребенку.
Комментарии? Пишите!
|