ZXNet эхоконференция «hardware.zx»
тема: XTR modem
от: Valerij Kozhevnikoff
кому: All
дата: 24 Jun 2000
Здравствуй, All!
······------====== Стеклорез мониторный ======------······
──────────────────────────
(c) X-TRADE GROUP
XTR-modem
Вот и настало время порадовать мир SPEC-
CY - XTR сделан, отлажен и пущен в произ-
водство. Анонс в ZF#5 имел целью информа-
цию о надобности сего продукта на рынке.
Информацию сию мы поимели, благодаря чему
числу эдак к 10-му апреля ожидается первая
партия модемов.
Удовлетворяя всеобщий интерес, расскажу
вкратце о концепции модема.
----- ЖЕЛЕЗО -----
Изначально мы планировали усовершенство-
вать VICOMM и сделать его максимально де-
шевым. Увы, полумеры ни к чему не привели,
изначальная ущербность VICOMMа не позволи-
ла реализовать все задумки, а именно: воз-
можность автоматического (без кнопки) за-
нятия линии, контроля звонка и занятости
линии. Все это дает невиданные ранее воз-
можности, как-то: импульсный и тональный
набор номера, возможность автодозвона, оп-
ределение номера, набираемого с параллель-
ного телефона, автоматическое определение
номера звонящего абонента (АОH), а в режи-
ме модема улучшеный сервис и повышеное ка-
чество приема/передачи.
Я не даром делаю упор на побочную функ-
цию модема - АОH, т.к. считаю АОH безус-
ловно полезной и нужной функцией в модеме.
Посему программная совместимость с VI-
COMMом была утрачена, но не полностью.
При общении в сети процесс выглядит сле-
дующим образом: вы включаете машину, заг-
ружаете программу, выключаете монитор,
отключаете телефоны, чтобы не звенели, и
ложитесь спать. А поутру, за чашкой чая и
тарелкой манной каши, вы листаете набежав-
шие сообщения.
Модем стал внутренним (это удешевляет
конструкцию) - он втыкается в слот SCORPI-
ON/KAY и его подключение не сопровождается
разогревом паяльника. Подключение к другим
SPECTRUM-совместимым машинам сопроводится
включением паяльника и применением оного
согласно инструкции.
Модем имеет гальваническую развязку с
линией (пробивное напряжение 1.5 Kv). Раз-
вязка сделана посредством оптронов, а не
трансформатора, как в VICOMMе, что опять-
таки удешевляет конструкцию и снижает ее
габариты.
Соблюдены все стандарты на оконечное
устройство телефонной сети (максимальная
утечка 250 мкА, максимальное напряжение -
220 В, максимальный ток - 100 мА).
Когда компьютер выключен, когда модемом
не пользуются, а так же по нажатию RESET,
модем отключается от линии и не оказывает
на нее никакого влияния.
Сигнальная часть модема имеет частотную
полосу на передачу более 20 Кгц, на при-
ем - более 10 Кгц, что более чем достаточ-
но для обмена на 3200 бод (если линия и
станция позволят). Максимальная испытанная
скорость - 3900 бод, результаты обнадежи-
вают.
Hемаловажная деталь: реализована аппа-
ратная поддержка обмена с модемом в лице
стробирования процесса выбираемой кварцо-
ванной частотой посредством сигнала WAIT.
Идея такая - программа написана под такто-
вую частоту CPU SPECCY не ниже, скажем,
3.2 Мгц, а все машины с большей частотой
подтормаживаются до нужной. К сожалению,
есть ограничение - не более 7.0 Мгц (типо-
вой ТУРБО-режим).
Это очень удобно - качество связи не за-
висит от времянки машины и не надо пользо-
ваться кнопкой ТУРБО, все и так работает,
включая CONNECT SCORPION-PENTAGON.
Возможна передача в линию аналогого сиг-
нала с квантованием по 16-ти уровням пос-
редством ШИМ-модуляции с частотой дискре-
тизации до 23 Кгц (голосовые возможности
АОH РУСЬ-16 и выше, а также DIGITAL STU-
DIO ).
Конструктивно усройство представляет со-
бой печатную плату размером 75*70 мм и со-
держит разъем в виде слота SCORPION/KAY и
разъема телефонной линии. Потребление тока
от источника питания SPECCY около 100 мА.
+12 В не требуется.
----- SOFT -----
Пока модем в производстве, мы адаптируем
существующие терминальные программы, а так
же пишем новые. Уже переделан MODEM 3.6 и
написана программа АОH.
Переделаный MODEM 3.6 может быть исполь-
зован для связи XTR-VICOMM.
Данный проект поддержан OMEGA GROUP и
программа Macro-Modem будет адаптирована
под XTR.
Мы уверены, что XTR полностью вытеснит
все VICOMMы и станет стандартом на плат-
форме ZX-SPECTRUM.
----- ПОЖЕЛАHИЯ -----
Мы знаем, что на сегодня, кроме Питера и
Москвы, нигде модемов нет и в помине. А
посему предлагаем - попробуйте сей продукт
и в вашем регионе, вы не пожалеете.
-+- iS-DOS 4.5
······------====== Стеклорез мониторный ======------······
WBR, Jason.
[Team Obituary][Team Friday 13th][Team Злобные Маньяки][Team Огромные Топоры]
от: Valerij Kozhevnikoff
кому: All
дата: 24 Jun 2000
Здравствуй, All!
······------====== Стеклорез мониторный ======------······
----- ПРОГРАММИРОВАHИЕ -----
Для любопытных пользователей сообщаем
необходимый минимум информации. Общение с
модемом происходит через единственный порт
с адресом #B7 (183).
IN A,(#B7), если линия не занята модемом
Bit7 Bit0
0 0 линия не подключена к модему
0 1 снята трубка паралл. аппарата
1 0 звонок ( возможны глюки )
1 1 линия свободна
IN A,(#B7), если линия занята модемом
Bit7 всегда 0
Bit0 через него идут принимаемые данные
OUT (#B7),A
Bit0 при занятой линии - передаваемые
данные, при приеме д.б. =1
при освобожденной линии неактуален
Bit1 1-занять линию
0-освободить линию
Bit4 биты определяют время, до которого
Bit5 аппаратно растянется интервал вре-
Bit7 мени между двумя соседними коман-
Bit6 дами IN A,(#B7) или OUT (#B7),A
Bit7-Bit4
#00 время .000002*16 сек
#10 время .000002*15 сек
...
#E0 время .000002*1 сек
#F0 асинхронный режим, NO WAIT
Для случая #F0 ничего не растягивается,
все выполняется, как для порта #FE в режи-
ме эмуляции VICOMM.
Для чего нужны биты 7-4?
пример:
LD A,#?0 *
OUT (#B7),A *
IN A,(#B7) !
POP AF
IN A,(#B7) !
без аппаратной поддежки для команд, отме-
ченых знаком !, период выполненя составит:
тактов секунд
PENTAGON 11+10=21 .000006
TURBO PENTAGON 11+10=21* .000004 !
SCORPION 12+10=22 .0000063
TURBO SCORPION 12+10=22* .000004 !
KAY 12+10=22 .0000063
TURBO KAY 12+12=24 .0000034
* плюсуется WAIT
! приблизително
Для случая XTR период для всех машин
уравнивается, увеличиваясь (!) до значе-
ния, установленого в битах 7-4 (кроме зна-
чения #F0).
То же спрведливо для OUT (#B7),A и для
любых комбинаций IN/OUT с портом #B7.
Примечание_1: естественно, программа долж-
на быть писана под худшую машину, чтобы
время исполнения команд на этой машине бы-
ло меньше, чем установленое время, до ко-
торого все растягивается (иначе это будет
сжатие!).
примечание_2: период без растягивания не
должен быть менее .00000229 сек, (8 тактов
неTURBO PENTAGONа, 16 тактов TURBO PENTA-
GONа), иначе растягивания не произойдет.
Пример паузы в .002 секунды:
W002 XOR A
OUT (#B7),A ; период 32 мкС
LD B,62
W002_1 IN A,(#B7) ; 62*.000032=.001984
DJNZ W002_1
...
Hа любой машине это будет .002 сек, не-
зависимо от TURBO/неTURBO.
Примеры программирования:
освободить линию OUT (#B7),#F0
занять линию OUT (#B7),#F3
Hабор номера (WAIT ... в секундах):
ADRNUM DB "1234567"
DIAL OUT (#B7),#00 ; сброс линии
WAIT 0.5
OUT (#B7),#02 ; занять линию
LD HL,ADRNUM
LD C,7
DIAL7 WAIT 0.5
LD A,(HL)
SUB #30
JR NZ,DIAL7_0
LD A,10 ; для нуля-десять
DIAL7_0 LD B,A
INC HL
PUSH HL
PUSH BC
CALL DIALN ; набор цифры
POP BC
POP HL
DEC C
JR NZ,DIAL7
WAIT 0.5
OUT (#B7),#03
RET
DIALN OUT (#B7),#00
WAIT .06
OUT (#B7),#02
WAIT .04
DJNZ DIALN1
RET
Передача данных (принцип VICOMM):
OUT (#B7),#F2
WAIT
OUT (#B7),#F3
WAIT
повторять по алгоритму
Ожидание звонка:
WTCALL LD DE,#8180
XOR A
OUT (#B7),A
WTCL0 LD BC,#FF00
WTCL1 WAIT .002
IN A,(#B7)
AND D
CP E
JR NZ,WTCL2
INC C
WTCL2 DJNZ WTCL1
LD A,C
CP 30 ; антиглюк
JR C,WTCL0 ; нет звонка
WTCL3 LD B,0 ; ожидаем конец
WTCL4 WAIT .002 ; звонка
IN A,(#B7)
AND D
CP E
JR Z,WTCL3
DJNZ WTCL4
; можно занимать линию
RET
! не рекомендуется занимать линию в мо-
мент звонка (как-никак 120 вольт !!!),
нужно дождаться паузы между звонками (ска-
занное справедливо для любого оконечного
устройства телефонной линии).
__________________________
Вот и всё.
-+- iS-DOS 4.5
······------====== Стеклорез мониторный ======------······
WBR, Jason.
[Team Obituary][Team Friday 13th][Team Злобные Маньяки][Team Огромные Топоры]
|