Breeze
#09
04 июля 1997 |
|
Железо - XTR Modem: описание и программирование.
А сейчас, уважаемые читате- ли - опять выдержка из ZX-NEWS. Пора поговорить на тему М О Д Е М (c) Алексей Михайлов Вот, пожалуй, самая инте- ресная новость для поль- зователей сети- выход в свет нового модема, модема, кото- рый на мой взгляд станет мо- демом будущего в SpbZxNet, а возможно и во всей остальной стране, особенно в тех ре- гионах, где модемная связь на ZX только поднимает голо- ву, или вообще еще не начи- нала свое существование. Как Координатора, как Си- сОпа, как просто синклерис- та, меня не может оставить равнодушным тот факт, что благодаря развитию сети продолжает развиваться и Спектрум, и XTR-modem - тому живое подтверждение. Разра- ботчики аппаратного обес- печения, также как и прог- раммного, всегда зависили от потребителей, и сейчас они видят, что сеть растет, что старый добрый Викомм по раз- ным причинам уже не устраи- вает людей. Многие не могут звонить на дневные станции потому что на работе,а вечером, в самое удобное время, порой бывает просто не пробиться - неко- торые СисОпы уже вынуждены прекращать регистрацию новых пользователей из-за большого количества поинтов и юзеров, которые порой устраивают настоящий PILE UP. Ну а ночью хочется спать... Да и максимальная скорость виком- мки - 2400 бод: это не так уж и много, по крайней мере, хотелось бы больше. И вот, пришло время ска- зать НЕТ примитивному трансформатору, который стоит просто громадную сум- му из-за того, что его производит в городе только один человек - Сергей Усов, являющийся в некоторой сте- пени монополистом. Ладно бы такие деньги платить за нормальный модем, но не за Викомм ведь! В двух словах о том, что может новый модем. Во-первых, поднимать/опус- кать трубку без "прибамба- са", во-вторых, определять номер звонящего, дозвани- ваться автоматически по любому номеру (нескольким номерам), что предоставляет уникальные возможности для ббсного софта и для простых поинтов: включили вечером комп, легли спать, модем сам дозвонился до bbs'ки, слил почту и файлы, отправил вашу почту, а вы с утреца (или после работы) спокойно и без всякой нервотрепки сиди- те и читаете почту- не прав- да-ли, просто здорово? Не- плохая скорость - 3200 обе- щают даже на плохих линиях, а на хороших - гораздо выше, простота в подключении - воткнул в системный разъем, и все! Стоить новый модем будет не дороже Викомма. Поэтому я считаю, что рано или поздно вся сеть все равно перейдет на XTR-mo- dem'ы, фактически, дело только в софте... Ну а теперь - слово авторам. ────────────────────────── (c)X-TRADE GROUP XTR-modem Вот и настало время пора- довать мир SPECCY - XTR сде- лан, отлажен и пущен в производство. Анонс в ZF#5 имел целью информацию о на- добности сего продукта на рынке. Удовлетворяя всеобщий ин- терес, расскажу вкратце о концепции модема. ----- ЖЕЛЕЗО ----- Изначально мы планировали усовершенствовать VICOMM и сделать его максимально де- шевым. Увы, полумеры ни к чему не привели, изначальная ущербность VICOMMa не позво- лила реализовать все задум- ки, а именно: возможность автоматического (без кнопки) занятия линии, контроля звонка и занятости линии. Все это дает невиданные ранее возможности, как-то: импульсный и тональный набор номера, возможность автодозвона, определение но- мера, набираемого с парал- лельного телефона, автома- тическое определение номера звонящего абонента (АОН), а в режиме модема улучшеный сервис и повышеное качество приема/передачи. Я не даром делаю упор на побочную функцию модема - АОН, т.к. считаю АОН безус- ловно полезной и нужной фун- кцией в модеме. Посему программная совмес- тимость с VICOMMom была ут- рачена, но не полностью. При общении в сети процесс выглядит следующим образом: вы включаете машину, заг- ружаете программу, выклю- чаете монитор, отключаете телефоны, чтобы не звенели, и ложитесь спать. А поутру, за чашкой чая и тарелкой манной каши, вы листаете на- бежавшие сообщения. Модем стал внутренним (это удешевляет конструкцию) -он втыкается в слот SCORPI- ON/KAY и его подключение не сопровождается разогревом паяльника. Подключение к другим SPECTRUM-совместимым машинам сопроводится включе- нием паяльника и примене- нием оного согласно инструк- ции. Модем имеет гальваничес- кую развязку с линией (про- бивное напряжение 1.5 Kv). Развязка сделана посредст- вом оптронов, а не трансфор- матора, как в VICOMMe, что опять-таки удешевляет конст- рукцию и снижает ее габари- ты. Соблюдены все стандарты на оконечное устройство те- лефонной сети (максимальная утечка 250 мкА, максимальное напряжение - 220 В, макси- мальный ток - 100 мА). Когда компьютер выключен, когда модемом не пользуются, а так же по нажатию RESET, модем отключается от линии и не оказывает на нее ника- кого влияния. Сигнальная часть модема имеет частотную полосу на передачу более 20 Кгц, на прием - более 10 Кгц, что более чем достаточно для обмена на 3200 бод (если линия и станция позволят). Максимальная испытанная скорость - 3900 бод, резуль- таты обнадеживают. Немаловажная деталь: реа- лизована аппаратная поддерж- ка обмена с модемом в лице стробирования процесса вы- бираемой кварцованной часто- той посредством сигнала WAIT. Идея такая - программа написана под тактовую часто- ту CPU SPECCY не ниже, скажем, 3.2 Мгц, а все маши- ны с большей частотой под- тормаживаются до нужной. К сожалению, есть ограничение- не более 7.0 Мгц (типовой ТУРБО-режим). Это очень удобно - качест- во связи не зависит от вре- мянки машины и не надо поль- зоваться кнопкой ТУРБО, все и так работает, включая CON- NECT SCORPION-PENTAGON. Возможна передача в линию аналогого сигнала с кванто- ванием по 16-ти уровням пос- редством ШИМ-модуляции с частотой дискретизации до 23 Кгц (голосовые возможности АОН РУСЬ-16 и выше, а также DIGITAL STUDIO ). Конструктивно усройство представляет собой печатную плату размером 75*70 мм и содержит разъем в виде сло- та SCORPION/KAY и разъема телефонной линии. Потребле- ние тока от источника пита- ния SPECCY около 100 мА. +12 В не требуется. ----- SOFT ----- Пока модем в производстве, мы адаптируем существующие терминальные программы, а так же пишем новые. Уже пе- ределан MODEM 3.6 и напи- сана программа АОН. Переделаный MODEM 3.6 мо- жет быть использован для связи XTR-VICOMM. Данный проект поддержан OMEGA GROUP и программа Macro-Modem будет адаптиро- вана под XTR. Мы уверены, что XTR пол- ностью вытеснит все VICOMMы и станет стандартом на плат- форме ZX-SPECTRUM. ----- ПОЖЕЛАНИЯ ----- Мы знаем, что на сегодня, кроме Питера и Москвы, нигде модемов нет и в помине. А посему предлагаем- попробуй- те сей продукт и в вашем ре- гионе, вы не пожалеете. ----- ПРОГРАММИРОВАНИЕ ----- Для любопытных пользова- телей сообщаем необходимый минимум информации. Общение с модемом происходит через единственный порт с адресом #B7 (183). IN A,(#B7), если линия не занята модемом Bit7 BitO 0 0 линия не подклю- чена к модему 0 1 снята трубка па- ралл. аппарата 1 0 звонок ( возможны глюки ) 1 1 линия свободна IN A,(#B7), если линия за- нята модемом Bit7 всегда 0 BitO через него идут при- нимаемые данные OUT (#B7),A BitO при занятой линии - передаваемые данные, при приеме д.б. =1 при освобожденной ли- нии неактуален Bit1 1-занять линию 0-освободить линию BitЧ биты определяют вре- мя, до которого BitS аппаратно растянется интервал времени меж- Bit7 ду двумя соседними Bitб командами IN A,(#B7) или OUT (#B7),A Bit7-BitЧ #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 TURBO PENTAGON 11+10=21* SCORPION 12+10=22 TURBO SCORPION 12+10=22* KAY 12+10=22 TURBO KAY 12+12=24 секунд PENTAGON .000006 TURBO PENTAGON .000004 ! SCORPION .0000063 TURBO SCORPION .000004 ! KAY .0000063 TURBO KAY .0000034 * плюсуется WAIT ! приблизително Для случая XTR период для всех машин уравнивается, увеличиваясь (!) до значе- ния, установленого в битах 7-4 (кроме значения #F0). То же спрведливо для OUT (#B7),A и для любых комбинаций IN/OUT с портом #B7. Примечание_1: естественно, программа должна быть пи- сана под худшую машину, чтобы время исполнения ко- манд на этой машине было меньше, чем установленое время, до которого все рас- тягивается (иначе это будет сжатие!). примечание_2: период без растягивания не должен быть менее .00000229 сек, (8 так- тов heTURBO PENTAGONa, 16 тактов TURBO PENTAGONa), иначе растягивания не прои- зойдет. Пример паузы в .002 секунды: W002 XOR A OUT (#B7),A ; период 32 мкС LD B,62 W0021 IN A,(#B7) ; 62*.000032=.001984 DJNZ W0021 ... На любой машине это будет .002 сек, независимо от TUR- BO/heTURBO. Примеры программирования: освободить линию OUT (#B7),#F0 занять линию OUT (#B7),#F3 Набор номера (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 Передача данных (принцип VI- COMM): OUT (#B7),#F2 WAIT OUT (#B7),#F3 WAIT повторять по алгоритму Ожидание звонка: WTCALL LD DE,#8180 XOR A OUT (#B7),A WTCLO LD BC,#FFOO 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,WTCLO ; нет звонка WTCLЗ LD B,0 ;ожидаем конец WTCLЧ WAIT .002 ; звонка IN A,(#B7) AND D CP E JR Z,WTCLЗ DJNZ WTCLЧ ; можно занимать линию RET ! не рекомендуется зани- мать линию в момент звонка (как-никак 120 вольт !!!), нужно дождаться паузы между звонками (сказанное спра- ведливо для любого оконеч- ного устройства телефонной линии). ____________________________ ──────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября