Страница 118 из 124
Другие стандарты на последовательную передачу: RS-422, RS-423 и RS-485. Стандарт RS-232C был введен в 1969 г., когда последовательная передача данных осуществлялась медленно. Интерфейс обеспечивает дальность связи до 15 м со скоростью до 19200 бод. Однако скорости компьютеров и периферийных устройств удваивались каждые год-два, и потребовались лучшие стандарты на последовательную передачу. Как уже отмечалось в разд. 9.14, RS-423 представляет собой улучшенный протокол для биполярных несимметричных цепей, обеспечивающий скорость передачи до 100 кбод и дальность до 1200 м (но не одновременно); он принципиально совместим с RS-232. RS-422 представляет собой протокол для однополярных симметричных цепей с граничными возможностями 10 Мбод и 1200 м (см. рис. 9.37, где приведена зависимость скорость-дальность). RS-485 подобен RS-422, но содержит дополнительные спецификации для подключения к одной линии многих драйверов и приемников. В табл. 10.5 собраны характеристики этих четырех стандартов.
Модемы. Как уже отмечалось ранее, модем («модулятор/демодулятор») используется для преобразования бит — последовательных цифровых величин в аналоговые сигналы, которые можно пересылать по телефонным линиям или другим каналам передачи данных (рис. 10.18).
Рис. 10.18. Связь через модем.
Внутренний модем вставляется в разъем (слот) вашего компьютера (либо поступает к вам уже встроенным в компьютер), в то время как внешний модем представляет собой автономный прибор, питающийся от сети переменного тока и имеющий соединитель в стандарте RS-232 для подключения к последовательному порту компьютера. Любой модем имеет выход на телефонную линию одним из двух способов: (а) с помощью прямого соединения через телефонную розетку или (б) акустически, когда телефонная трубка кладется в обрезиненное гнездо, содержащее микрофон и динамик. Модемы с акустическим подключением в настоящее время вышли из моды, хотя они могут пригодиться, например, в гостинице, где иначе вам пришлось бы лазить под кроватями в поисках телефонной розетки (возможно и несуществующей!).
В большинстве случаев требуется пересылать данные по одному телефонному каналу в обоих направлениях одновременно («полнодуплексная связь»); передача и прием совместно используют телефонную полосу частот, которая занимает область приблизительно 300 Гц-3 кГц. Широко используются три полнодуплексных формата: 300 бод FSK (Bell 103) 1200 бод дибитный PSK (Bell 212А) и 2400 бод дибитный PSK (FSK обозначает Frequency-shift Keying — частотная манипуляция, a PSK — Phase-Shift Keying — фазовая манипуляция; о дибитах см. ниже). Модем, предназначенный для передачи со скоростью, скажем, 1200 бод, обычно поддерживает и связь со скоростью 300 бод и т. д. Хотя для использования модема нет необходимости вникать в тонкости кодирования им данных, однако методы кодирования интересны сами по себе, и мы не можем удержаться, чтобы кратко не описать их.
Стандарт на 300 бод (Bell 103) использует частотную манипуляцию (FSK), при которой выбранная пара звуковых тонов обозначает маркер и пробел: 1270 Гц (маркер) и 1070 Гц (пробел) в одном направлении, 2225 Гц и 2025 Гц в другом. Модем Bell 103 очень прост и состоит из переключаемого генератора для передачи и пары звуковых фильтров для приема (рис. 10.19, а). Обратите внимание на использование гибридной цепи (рис. 10.19, б) для разделения передаваемого и принимаемого сигналов. Если принять, что импеданс телефонной линии близок к его номинальному значению 600 Ом, передаваемый сигнал модема (Тх) совершенно не проходит на выход принимаемого сигнала (Rx). На практике гибридные цепи работают не так уж хорошо, потому что импеданс телефонной линии может заметно отклоняться от номинального значения 6000 м (см. разд. 14.5). Поэтому желательно иметь узкополосный приемный фильтр, а это приводит к усложнению модема.
Рис. 10.19. Модем с частотной манипуляцией (а) и гибридная цепь (б).
Упражнение 10.5. Разберитесь, как работает гибридная цепь на рис. 10.19. После этого вы сможете поражать коллег своей эрудицией.
Стандарт на 1200 бод (Bell 212А) работает иначе. Поток цифровых данных группируется в пары бит («дибиты»); каждый из четырех возможных дибит передается в виде заданного сдвига фазы несущей постоянной частоты (00:90°, 01:0°, 10:180° и 11:-90°), с плавным переходом фазы от одного дибита к следующему. Таким образом, скорость передачи дибит составляет 600 Гц. Частота (фазово-модулированной) несущей равна 1200 Гц в одном направлении и 2400 Гц в другом.
Приемный модем расшифровывает данные, определяя разность фаз между соседними дибитами. Эта остроумная идея имеет один недостаток, именно, приемник теряет значение относительной фазы, если поступает длинная последовательность одинаковых дибит. Для того чтобы предотвратить длинные посылки данных с неизменной фазой, передаваемый поток данных рандомизуется (скремблируется) путем выполнения над данными операции исключающего ИЛИ с псевдослучайной последовательностью (генерируемой с помощью 17-разрядного сдвигового регистра с петлей обратной связи из 14-го разряда по исключающему ИЛИ, см. разд. 9.32). На приемном конце выполняется аналогичный процесс дескремблирования.
Полно-дуплексные модемы со скоростью передачи 2400 бод также передают дибиты с фазовым кодированием, хотя и с другим набором фаз. В этих сложных устройствах обычно используются адаптивные корректоры частотных и временных ошибок на телефонной линии, а также глубоко оптимизированные фильтры для передаваемых и принимаемых сигналов. В результате частота ошибок уменьшается в незначительной степени по сравнению с ранними FSK-модемами на 300 бод.
Нет никакой необходимости разрабатывать модемы заново, так как фирмы AMI/Gould, Exar, National, Rockwell, Silicon Systems и ΤΙ выпускают микросхемы и модули модемов. Еще проще купить готовый модем, либо в виде вставной платы, либо в виде отдельного прибора с соединителем в стандарте RS-232 для подключения к компьютеру. Модемы, в зависимости от характеристик, стоят 100–300 долл. Стоит поискать «Hayes-совместимый» модем, воспринимающий стандартизованный набор команд для передачи номера абонента и проч.; эти модемы стали стандартом де-факто для всего связного программного обеспечения.
Полезный совет: передавая через модем файлы данных между компьютерами, используйте модемный протокол с проверкой блоков, например, Kermit или XMODEM. Такой протокол посылает данные блоками фиксированной длины, сопровождая каждый блок контрольной суммой. Приемный модем сравнивает контрольные суммы, автоматически запрашивая повторную передачу дефектных блоков. Принятые таким образом файлы гарантированно не имеют ошибок; напротив, файлы, посланные просто в виде набора кодов ASCII, почти наверняка будут содержать ошибки!
10.20. Параллельная связь: Centronics, SCSI, IPI, GPIB(488)
Для кабельных соединений со скоростными периферийными устройствами параллельная связь обычно оказывается удобнее последовательной. Ниже описаны популярные представители этого направления.
Centronics. Это простой байтовый однонаправленный параллельный порт с квитированием, первоначально предложенный фирмой Centronics и широко используемый для подключения принтеров. В отличие от RS-232 он всегда работает! В табл. 10.6 перечислены сигналы, выходящие на 36-контактный разъем; их полагается передавать по скрученным парам.