| Модемы и сетевое оборудование |
| Стартовые, стоповые и контрольные биты |
| Прежде всего данные преобразуются в последовательный формат, то есть в сплошную цепочку битов. Затем, чтобы данные можно было передавать асинхронно, эта цепочка разбивается на блоки, которые в данном случае равны одному байту. И наконец, каждый блок снабжается маркерами — признаками начала и конца блока. В V.14 этими маркерами являются стартовый бит (start bit) и стоповый бит (stop bit) . Стартовый бит всегда равен О, стоповый — 1. Послав один за другим стартовый бит, байт данных и стоповый бит, передатчик может повторять стоп-бит до тех пор, пока приемник не будет готов получить следующий байт. Тогда посылается стартовый бит, служащий сигналом начала новой порции данных. Такой механизм обеспечивает гибкий контакт передатчика и приемника, но не защищает от ошибок, которые могут произойти при передаче. Чтобы обеспечить обнаружение ошибок, стандарт V.14 предписывает вставку сразу после байта данных (перед стоповым битом) еще одного бита — контрольного (parity bit). Его значение определяется содержимым передаваемого байта и тем, какой из двух режимов контроля установлен — контроль четности (even parity) или контроль нечетности (odd parity). Допустим, передается байт 01001101. Он содержит четыре, т. е. четное количество единиц. Поэтому, если включен режим контроля нечетности, контрольный бит устанавливается в 1, чтобы общее число единиц стало нечетным. И наоборот, когда установлен режим контроля четности, контрольный бит приравнивается 0, чтобы сохранить количество единиц четным. Итак, вот что происходит с байтом данных при его преобразовании из параллельной в последовательную (и из синхронной в асинхронную) форму по стандарту V.14 (рис. 8). После передачи (например, по телефонному каналу) UART принимающего компьютера преобразует данные обратно в обычный 8-битовый формат. ![]() Весь этот процесс поддается некоторой настройке. Во-первых, длина байта данных может быть равна не только восьми битам, но и семи — при этом старший бит каждого байта игнорируется (сейчас такой режим используется очень редко). Во-вторых, можно управлять контрольным битом — устанавливать режим контроля четности или нечетности либо вообще отключать контроль (при этом контрольный бит не вставляется). И наконец, можно управлять минимальным количеством стоповых битов — 1 или 2 (в последнем случае передача несколько замедляется, но надежность ее повышается). Эти три параметра можно менять из коммуникационной программы. Разумеется, они должны совпадать у приемника и передатчика, иначе данные будут искажаться. Часто значения этих параметров пишут сокращенно: например, 8/N/1 означает «8 битов данных, отсутствие (None) контроля четности, один сто-повый бит». Чаще всего используются именно эти значения, так что, если вы не знаете, какие параметры установлены на другом конце линии, попробуйте 8/N/1. V.I 4 и протоколы коррекции ошибок Стандарт V. 14 обеспечивает очень слабую защиту от ошибок, неизбежно возникающих из-за помех в канале связи. Кроме того, эффективность передачи при этом довольно низка, так как на каждый байт полезных данных приходится минимум два бита служебной информации. Поэтому современные модемы реализуют более эффективные протоколы, размер блока в которых больше, а алгоритм вычисления контрольной суммы значительно сложнее, чем правила установки контрольного бита в V.14. Так, если в модеме реализован аппаратный протокол коррекции ошибок (например, V.42), то синхронно-асинхронное преобразование по стандарту V.14 становится ненужным. Поэтому модем, получив от компьютера данные, сразу же убирает стартовые, стоповые и контрольные биты. После этого байты данных собираются в более крупные блоки и снабжаются контрольной суммой, как предусмотрено протоколом V.42 (стр. 82). |

