Приемный модем расшифровывает данные, определяя разность фаз между соседними дибитами. Эта остроумная идея имеет один недостаток, именно, приемник теряет значение относительной фазы, если поступает длинная последовательность одинаковых дибит. Для того чтобы предотвратить длинные посылки данных с неизменной фазой, передаваемый поток данных рандомизуется (скремблируется) путем выполнения над данными операции исключающего ИЛИ с псевдослучайной последовательностью (генерируемой с помощью 17-разрядного сдвигового регистра с петлей обратной связи из 14-го разряда по исключающему ИЛИ, см.
Полно-дуплексные модемы со скоростью передачи 2400 бод также передают дибиты с фазовым кодированием, хотя и с другим набором фаз. В этих сложных устройствах обычно используются адаптивные корректоры частотных и временных ошибок на телефонной линии, а также глубоко оптимизированные фильтры для передаваемых и принимаемых сигналов. В результате частота ошибок уменьшается в незначительной степени по сравнению с ранними FSK-модемами на 300 бод.
Нет никакой необходимости разрабатывать модемы заново, так как фирмы AMI/Gould, Exar, National, Rockwell, Silicon Systems и ΤΙ выпускают микросхемы и модули модемов. Еще проще купить готовый модем, либо в виде вставной платы, либо в виде отдельного прибора с соединителем в стандарте RS-232 для подключения к компьютеру. Модемы, в зависимости от характеристик, стоят 100–300 долл. Стоит поискать «Hayes-совместимый» модем, воспринимающий стандартизованный набор команд для передачи номера абонента и проч.; эти модемы стали стандартом де-факто для всего связного программного обеспечения.
Полезный совет: передавая через модем файлы данных между компьютерами, используйте модемный протокол с проверкой блоков, например, Kermit или XMODEM. Такой протокол посылает данные блоками фиксированной длины, сопровождая каждый блок контрольной суммой. Приемный модем сравнивает контрольные суммы, автоматически запрашивая повторную передачу дефектных блоков. Принятые таким образом файлы гарантированно не имеют ошибок; напротив, файлы, посланные просто в виде набора кодов ASCII, почти наверняка будут содержать ошибки!
Для кабельных соединений со скоростными периферийными устройствами параллельная связь обычно оказывается удобнее последовательной. Ниже описаны популярные представители этого направления.
Centronics. Это простой байтовый однонаправленный параллельный порт с квитированием, первоначально предложенный фирмой Centronics и широко используемый для подключения принтеров. В отличие от RS-232 он всегда работает! В табл. 10.6 перечислены сигналы, выходящие на 36-контактный разъем; их полагается передавать по скрученным парам.
На рис. 10.20 показаны временные соотношения этих сигналов.
Рис. 10.20.
Базовые сигналы перечислены в первой группе: D0-D7, STROBE