Oberon #04
28 ноября 1997 |
|
(C) Е.Милун (PAUL ATRIDES). Подключение модема "АЛЕГРО" (C-DOS). ══════════════════════════════════════════ А сейчас, дорогие наши читателеи, мы расскажем вам о том, как подключить модем "АЛЕГРО" к вашему компьютеру. Поскольку в народе уже прочно укоренилось другое его название - "C-DOS", то в дальнейшем я буду придерживаться его. Для начала, подтвержу высказывания всем известного умельца-железячника гос- подина Кирилла Громова - со Scorpion'ом C- DOS модем не работает. (О, не стоит пу- гаться, _теперь_ работает. О том,как этого добиться - ниже.) Но... Но, виноват в этом отнюдь не Scorpion, как утверждает этот господин, а... сам C- DOS. И не работает он не только на Scor- pion'ах, но и на всяком компьютере, где реализован нормальный порт #FF. Почему же это происходит ? Давайте раз- берёмся. Любое внешнее устройство, хоть сколько-нибудь претендующее на это звание "внешнее", при своей работе должно сооб- щать компьютеру: "я начало работать, а по- тому, всем внутренним портам, просьба не беспокоиться". Одним словом - внешнее ус- тройство должно сообщать компьютеру, что оно "просекло" обращение к себе. Понятно ? Ну так вот, C-DOS этого _не_делает_. Теперь рассмотрим всё подробнее. Итак, компьютер попытался обратиться к порту #FFEF (порту C-DOS) и тут же получил ответ сразу от двух устройств: от самого C-DOS, и от внутреннего порта #FF. Происходит это следующим образом. При чтении порта модема на шине адреса появляется адрес #FFEF (llllllll lllOllll), поскольку дешифрация порта модема осуществляется по всего лишь одному сигналу A4, который сейчас в 0, то C-DOS, естественно же, преисполняется гор- достью и начинает деловито выставлять дан- ные на шину данных. Всё правильно, не так ли? Вот тут-то в эту идиллию и вламывается самым наглым образом скорпионовский порт #FF. Этот "мерзопакостный" порт на ту же самую шину данных, в то же самое время начинает выдавать свои собственные данные. Всё, приехали ! Накладываясь на данные от модема, атрибуты искажают их. Ничего не подозревающий об этом конфликте процессор забирает свой байт, и пытается интерпрети- ровать его как информацию, полученную от чуда современной техники - модема. И, ес- тественно, у него ничего не получается ! Единомышленики К.Громова в этот момент радостно потирают руки,и злорадно говорят: "Ага, а мы говорили, предупреждали. Такая реализация #FF - неправильная, глючная. Делайте так, как у нас." Вот тут-то и настаёт пора вмешаться нам и сказать "Минуточку, а давайте разберём- ся". Дещифрация порта атрибутов происходит по всем правилам "хорошео тона" - учитыва- ется сигнал IORQ (обращение к портам), DOS (обращение к портам TR-DOS), а также состояние 4-х адресных сигналов A0, Al, A2, AS. Так что же здесь неправильного ? Сигналы A0-A3 и AS-A7 в 1-це, IORQ - в нуле, т.к. идёт запрос порта, DOS - в 1 т.к. это не TR-DOS'овский порт. Мало того, сигнал IORQGE (разрешение выборки внут- ренних портов) тоже в нуле !!! И что, по- вашему, должен "подумать" #FF, если это совершенно штатный запрос к нему ? Конечно, можно завести в дешифрацию пор- та атрибутов сигнал A4, но где гарантия того, что при подключении какого-либо дру- гого устройства вам не понадобится заво- дить туда же A3, A6, A7, короче не делать ПОЛНУЮ дешифрацию ? Есть ещё один вариант - не заводить в порт #FF сигнал IORQ (как и предлагает господин К.Громов), но тогда возникает другая проблема, о которой мы писали в первом нашем номере, - это больше не порт атрибутов, т.к. нару- шается синхронизация работы связки "про- цессор - порт атибутов", т.е. иногда вместо атрибутов будет читаться мусор. А не проще ли использовать подобную вы- борку порта атрибутов "на полную катушку". И надо-то просто сделать так, что бы вне- шнее устройство, в данном случае - модем, формировал сигнал IORQGE ? А поскольку сигналы IORQ и IORQGE взаимосвязаны, то появление 1-цы на IORQGE приведёт к тому, что на IORQ тоже установится 1, и вы- борка порта атрибутов не произойдёт. По- моему, это более нормальный способ. Напомню, что подобные "глюки с модемом" будут происходить не только в Scorpion'е, но и в любом другом компьютере, в котором порт #FF реализован полностью, а не по схеме Громова. Но, довольно теорий. К делу. Нужно зас- тавить C-DOS формировать сигнал IORQGE, как раз и сообщающий компьютеру, точнее, всем его внутренним портам, когда они мо- гут работать, а когда должны "заткнуться" (IORQGE=0 - работают внутренние порты, IORQGE=l - порты на внешнем устройстве). На Scorpion'е такой сигнал уже заведён на системный разъём. Если на вашем компьютере такого сигнала нет, то не отчаивайтесь, для его реализации вам потребуется неболь- шой кусок провода и... один резистор, но об этом ниже (причём, сигнал IORQGE при- годится вам не только для модема). Итак, вот схема доработки модема C-DOS (которую, естественно, надо вставить вну- трь модема) для формирования IORQGE. Схе- ма подключается параллельно со "стандарт- ным" подключением модема.Транзисторы - KT36l, KT3lS или им подоб- ные, буква значения не имеет. Микросхема DDl - типа ЛЕl, любой серии lSS, SSS, S31, lSЗЗ или любая другая микросхема, содержа- щая логические элементы 2ИЛИ-НЕ, нужно то- лько учитывать расположение ножек. Сигналы A4, IORQ берутся с системного разъёма, туда же заводится и IORQGE. Причём, A4 и IORQ уже подводятся к моде- му (в Скорпионе - контакты 24В и 17A сис- темного разъёма соответственно), т.е. вам фактически надо будет добавить только IORQGE (в Скорпионе - контакт 13В). Если вас по-прежнему не устраивает выбор- ка модема по одному сигналу A4 и/или у вас приведённая выше схема не даёт поло- жительного результата, то можно исполь- зовать более полную дешифрацию:Как видите, надо только добавить одну микросхему DD2, содержащую как минимум три элемента 2И-НЕ, например ЛА9 серий SSS, lSЗЗ, lSS. DDl - та же, что и в предыдущей схеме (для формирования IORQGE). Итого, для нормального подключения и дешифрации модема вам понадобится всего две микро- схемы - ЛЕl и ЛА9. Сигналы A0, Al, A2, AS, DOS берутся с системного разъёма (для Скорпиона - кон- такты 9В, 10В, 11В, 23В, 4В), и являются теми самыми, по которым в Скорпионе проис- ходит дешифрация порта атрибутов. При этом модем будет откликаться на любой порт, адрес которого в двоичном виде представляет собой число хххххххх xl0xlll, и не является портом TR-DOS. Если у вас сигнал DOS не выведен на системный разъём и вы не знаете, где его взять, то вместо него можете завести, например, A6, A7, ..., или даже просто подать +5В. В принципе, это не должно ни на что повлиять, т.к. портов TRDOS с похожими адресами - нет. Сигнал A4 - тот же, что первоначально подводился к модему, т.е. берётся с системного разъёма, или с разъёма на модеме. Последний вариант предпочтительней. Получившийся сигнал MOD заводится в модем (и в схему формирования IORQGE, ко- торая теперь часть модема) вместо A4, то- есть дорожка A4 на модеме перерезается с той части, которая соединена с компьюте- ром, берётся A4, а к другой подводится MOD. Это показано на следующем рисунке: A4, от разрыв A4, к компьютера модему ■■■■■■■■■┬■■■■■■■х■■■■■┬■■■■■■■■■■ │ │ │ │ A4, к схеме MOD, от схемы дешифрации дешифрации Теперь о том, как сделать сигнал IORQGE в других компьютерах. Схема проста до идиотизма: сигнал IORQGE 560 Ом сигнал IORQ ■■■■■■■■■■■■■■■■■■▓▓▓▓■■■■■■■■■■■■■■■ (системный разъём) (20 нога Z80) Сигнал IORQGE выводится на системный разъём (например, в Скорпионе это 13В в 60-ти контактном разъёме), а сигнал IORQ подключается непосредственно к микропроце- ссору (к дорожке, естественно).Всё, теперь к вашему компьютеру можно подключать хоть холодильник. И если он будет в нужные мо- менты информировать компьютер о своей ра- боте, то всё будет "хоккей". --══════════════════════════════════════-- * * * * MUSIC ВУ : GYN
Other articles:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 21 November