Oberon #04
28 ноября 1997
  Железо  

  Подключение внутренних Hayes-совмести-  
         мых модемов к Спектруму.         
------------------------------------------
  Для начала хочу сказать пару слов по по-
воду всего нижеследующего. В принципе, эта
схема  уже  не раз публиковалась, но... Но
ведь не у каждого есть Питерская электрон-
ная  газета ZX-News, в 15-м номере которой
была аналогичная статья. И уж тем более не
каждый   имеет   доступ  к  эхоконференции
ZX.SPECTRUM  в  сети Фидонет. А потому, мы
взяли на себя смелость донести до вас этот
материал, дорогие читатели. Тем более, что
здесь  же  мы  расскажем  о  тех тонкостях
подключения, с которыми сами столкнулись. 
  COPYRIGHT на схему контроллера принадле-
жит Михаилу Кондратьеву. Автор статьи, под
впечатлением  от  которой  написана  эта -
Игорь Груздев.                            
 В первых же строках хочу ещё раз развеять
миф о том, что нормально hayes-совместимый
модем можно подключить только к Скорпиону.
Ничего   подобного!  Просто  на  системном
разъёме Скорпиона уже выведены все необхо-
димые сигналы, а вот владельцам, например,
Пентагонов  придётся  самим  их протянуть.
Причём,  ещё неизвестно кому повезло боль-
ше,  владельцам  Скорпиона или Пентагона -
"пентагонщикам"  не  надо  собирать схему,
блокирующую  внутренние  порты компьютера.
Да  и  согласование внутреннего и внешнего
сигналов /NMI в Скорпионе выполнено немно-
го  неудачно  (по  крайней  мере, для этой
схемы подключения).                       
  Итак,  меньше  слов,  ближе  к делу. Для
реализации  контроллера  внутреннего (!!!)
HAYES-совместимого модема  вам понадобятся
три  микросхемы и 8-10 резисторов. Микрос-
хемы: DD1 - ЛЛ1, DD2 - ЛН1, DDЗ - ТМ2. Се-
рия  любая, хоть 1533-я, хоть 555-я, прин-
ципиального  значения это не имеет. Резис-
торы  любого  номинала в интервале от 1 до
15 кОм.                                   
                                          

  Как видите, схема довольно проста. C ле-
вой  стороны приведены названия сигналов и
номера  контактов  (A  -  верхний ряд, В -
нижний)  для  Скорпиона, с правой - Hayes-
совместимого  модема. На 1-й вход триггера
(DDЗ)  через резистор 1 КОм следует подать
+5В  для  более надёжной работы схемы. Для
запитывания  микросхем  на  их 14- й вывод
необходимо подать +5В, а на 7-й - землю.  
  Как  видно из схемы, контроллер произво-
дит дешифрацию всего лишь по одному адрес-
ному сигналу - A4, а между тем, полный его
адрес  -  #xEF.  Поэтому, если у вас Скор-
пион или любой другой компьютер, у которо-
го  при  дешифрации  внутренних  портов не
анализируется  сигнал  A4, то вам надо ещё
собрать   и  схемку  формирования  сигнала
/IORQGE, котурую вы можете найти в этом же
номере, в статье о подключении C-DOS моде-
ма.  Входными сигналами для этой схемы бу-
дут: /IORQ и A4, выходным - /IORQGE.      
  Теперь  о  том, как будет выглядеть рас-
пайка  слота  модема  и системного разъёма
комьютера (номера контактов даны для Скор-
пиона:  A - верх, В - низ: на модеме: верх
- верхняя часть платы, где расположены все
микросхемы,   нумерация   контактов  слота
начинается со стороны разъёма для телефон-
ной линии и дальше вдоль модема):         
                                          
     Скорпион           Модем             
   ┌------┬---┐      ┌---┬------┐         
   │A 8   │A26│----> │A31│ A 0          
   │A 9   │В27│----> │A30│ A 1          
   │A10   │A27│----> │A29│ A 2          
   │D 0   │A6 │----> │A9 │ D 0          
   │D 1   │A7 │----> │A8 │ D 1          
   │D 2   │A8 │----> │A7 │ D 2          
   │D 3   │A11│----> │A6 │ D 3          
   │D 4   │A12│----> │A5 │ D 4          
   │D 5   │A10│----> │A4 │ D 5          
   │D 6   │A9 │----> │A3 │ D 6          
   │D 7   │A3 │----> │A2 │ D 7          
                │A28│ A 3  │ -┐      
                │A27│ A 4   │ на   
                │A26│ A 5   │ +5В  
                │A25│ A 6   │через 
                │A24│ A 7   │3-10К 
                │A23│ A 8         
                │A22│ A 9  │ -┘      
                │A21│ A10  │ -┐  на  
                │A20│ A11  │ -┘ землю
                │A11│ AEN  │ на землю
   │ +5v  │В3 │----> │В3 │ +5v          
-->│ +12v │В17│----> │В9 │ +12v │         
-->│ -12v │A16│----> │В7 │ -12v │         
-->│ -5V  │A18│----> │В5 │ -5v          
   │ GND  │A30│----> │В1 │ GND          
   │ GND  │В30│----> │В31│ GND          
(*)│/IORQG│В13│-│н │              
   │/RESET│В20│-│а │              
   │ /RD  │A18│-│                
   │ A4   │В24│-│п │              
   │/IORQ │A17│-│л │-│В2 │ RESET│         
   │ /WR  │A19│-│а │-│В14│ IOR          
   │ A11  │В28│-│т │-│В13│ IOW          
   │ /NMI │A14│-│у │-│В24│ IORQ4│         
   └------┴---┘      └---┴------┘         
    сигнал                сигнал          
                                          
Обозначения слева:                        
-->  -  подвести сигнал к системному разъ-
        ёму.                              
(*)  -  только  для компьютеров, в которых
        необходимо  блокировать внутренние
        порты (сигнал /IORQGE).           
                                          
  Сам  модем  надо  настроить на СОМ1, что
соответствует адресу  #3F8  и  запросу  на
прерывание IORQ4. О том, какими перемычка-
ми это можно сделать, читайте в инструкции
по вашему модему.                         
                                          
  Ну  вот,  теперь сделать осталось совсем
немного  - чуть-чуть доработать ваш компь-
ютер.                                     
  Во-первых.  Надо  реализовать нормальное
согласование  сигналов  /NMI, получаемых с
системного  разъёма (если у вас на разъёме
его  нет  -  выведите)  и  от схемы Magic-
кнопки.  Делается  это  добавлением  всего
лишь  одной  микросхемы  5SSЛИ1 (или любой
другой  серии). Для этого около процессора
перережьте дорожку,  ведущую  к  его 17-му
контакту,  и  в разрыв вставьте логический
элемент  "И"  (К5SSЛИ1),  ко второму входу
которого подведите сигнал /NMI с системно-
го разъёма. Изменения будут выглядеть сле-
дующим образом:                           
                                          
                     ┌-------             
                                       
                   17│                    
  ------┬---х-----┬--┤ Z80                
        │ 1┌---┐  │  │                    
        └--┤&  │3 │  │                    
  /NMI    2│   ├--┘  │                    
  ---------┤        └------              
           └---┘                          
                                          
  Во-вторых.  Если  у вас не Пентагон и не
Профи, и  при дешифрации внутренних портов
не  принимает участие сигнал A4 (например,
в   Скорпионе   контроллер   модема  будет
конфликтовать с внутренним портом #FF), то
вам надо позаботиться о том, чтобы  вывес-
ти на системный разъём сигнал /IORQGE. Ес-
ли  у  вас  его нет, то, опять же, читайте
про это в статье о подключении C-DOS моде-
ма - вам надо будет добавить на плату все-
го лишь один резистор.                    
  В-третьих.  Отрицательные напряжения для
модема.  Один  из  самых больных вопросов,
потому как, если  на разъёме вашего модема
данные контакты задействованы, то подавать
на  них соответствующее напряжение  ОБЯЗА-
ТЕЛьНО  !!!  Т.е., например, если у модема
задействованы   контакты  В5  (-5v)  и  В7
(-12v), то надо  обязательно подводить эти
напряжения. Если у вас IBM'овский блок пи-
тания,  то  там все эти напряжения есть, и
вы  можете  не волноваться.               
  В-четвёртых.  Самый-самый больной вопрос
- исправление ошибки в ПЗУ. Как, наверное,
многим  известно, в стандартном ПЗУ-48 со-
держится  грубейшая  ошибка   в  процедуре
обработки   немаскируемого  прерывания. По
адресу #006D вместо команды JR Z,#70 (коды
#28  #01),  находится   команда  JR NZ,#70
(коды #20  #01). По идее, это должно рабо-
тать  так: при приходе немаскируемого пре-
рывания  процессор  запускает процедуру по
адресу  #66,  которая берёт вектор (адрес)
процедуры  обработки из ячейки #5CB0: если
в  этой ячеке 0, т.е. вектор не определён,
то управление возвращается прерванной про-
грамме:  если же вектор определён, то осу-
ществляется  переход  по нему. В следствии
ошибки,  переход  на вектор осуществляется
именно  тогда,  когда он не определён т.е.
равен  0.  В  результате компьютер сбрасы-
вается.                                   
  К нашему великому сожалению, есть только
один  способ исправить эту ошибку - переп-
рошить ПЗУ-48. Впрочем, некоторые програм-
мы  не используют немаскируемое прерывание
от  модема, но именно поэтому они, как го-
ворится,  "не используют на полную" катуш-
ку все возможности hayes-совместимых моде-
мов. А потому, наш вам совет: постарайтесь
найти   возможность   и  перепрошить  свою
ПЗУ'шку. Хотя, если вы владелец Скорпиона,
с  версией  теневого монитора 2.95 и выше,
то у вас эта ошибка уже исправлена.       
                                          
                                          
  Ну  вот,  модем мы подключили, а как те-
перь проверить его. Для этого, раздобудьте
какую-нибудь терминальную программу, кото-
рая работает с данной реализацией контрол-
лера, и запустите её. Например, терминалку
под   IS-DOS,  написанную  самим  Михаилом
Кондратьевым.                             
  Для  проверки  связи между компьютером и
модемом включите в модеме режим эха (пере-
дайте  модему команду АТЕ1), хотя, обычно,
в  больщинстве  модемов этот режим включен
по  умолчанию. При этом модем будет возра-
щать каждый посланный ему байт. Если связь
без  сбоев,  то  на экране каждый вводимый
вами  символ  будет  продублирован (один с
клавиатуры,  второй - эхо от модема). Сле-
дует также помнить, что в некоторых терми-
налках  (например,  в  терминалке  by Alex
Globa  под  IS-DOS)  отключен режим вывода
вводимых  символов, и все символы, которые
выводятся на экран - эхо модема. Здесь ещё
проще  - если, допустим, вы нажали клавишу
"I",  а  появилась  буква Q, то это непра-
вильно, а вот если I - всё нормально.     
  Вот,  в  принципе  и всё. Теперь для вас
открыты  двери  в  увлекательный  мир BBS,
электронных  сетей и прочих чудес техноло-
гии.  Вы  сможете  скачать  у вашего друга
IBM'щика  любой  файл. Вы сможете получить
доступ  к  IBM'овским BBS, а если повезёт,
то  и к узлам сети FidoNet.               
                                          
  И уж точно  вы получите доступ к органи-
зующеся  сейчас  в Самаре Спектрум-Сети на
hayes-совместимых модемах.                
                                          
  Ну и напоследок, для тех,кому интересно,
как работает контроллер.                  
  Выборка портов модема осуществляется при
A4=0,  при этом сигналы A8-A10 задают один
из  семи  регистров  модема. Но... Но, как
видно из схемы, в этом принимает участие и
ещё  один  адресный  сигнал  -  A11. Он не
участвует  напрямую  в  выборке модема, он
лишь  задаёт  состояния  ключа прерываний,
собранного  на основе тригера DDЗ. При за-
писи  в  любой регистр модема, ключ прини-
мает состояние линии A11. И зачем всё это?
- спросите вы.  А вот зачем.  При закрытом
ключе  (5-й  вывод  DDЗ  =  1),  на выходе
контроллера - входе компьютера сигнал /NMI
всегда  равен  1,  независимо от состояния
модемного  сигнала  IORQ4.  Т.е.  импульсы
запроса  прерывания, генерируемые модемом,
никогда не попадут на компьютер.          
  При  записи  в  регистр  при A11=0 ключ 
открывается  и состояние сигнала /NMI нап-
рямую  зависит от IORQ4. При RESETe компь-
ютера ключ опять закрывается.             
  Таким  образом,  адреса регистров модема
определяются маской:                      
F Е D C В A 9 8 7 6 5 4 3 2 1 0           
-------------------------------           
х х х х 1 r r r 1 1 1 0 1 1 1 1 - 0EF-7EF 
х х х х 0 r r r 1 1 1 0 1 1 1 1 - 8EF-FEF 
                                          
х - состояние не учитывается.             
r - соответствующий разряд трёхбитного    
номера регистра модема.                   
                                          
  Вот.  Вот теперь всё. Собирайте, подклю-
чайте и наслаждайтесь.                    
                         (C) Евгений Милун
MUSIC ВУ : MARKET SOFT                    
-════════════════════════════════════════-
                  * * * 



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
DI: HALT: 99 - Hidden Parts. Dzerzhinsky life (not only) in the period spektrumistov of DI: HALT: 99.
Rulezniki - the continuation of the story.
Iron - Information on a new project by Scorpion - motherboard expansion graphics and memory GMX.

В этот день...   23 November