Составители:
159
Последовательные данные передаются в синхронном или асинхронном
режимах. В синхронном режиме все передачи осуществляются под
управлением общего сигнала синхронизации, который должен присутствовать
на обоих концах линии связи. Асинхронная передача подразумевает передачу
данных пакетами; каждый пакет содержит необходимую информацию,
требующуюся для декодирования содержащихся в нем данных. Конечно, второй
режим сложнее, но
у него есть серьезное преимущество: не нужен отдельный
сигнал синхронизации.
В асинхронном режиме посылке очередного байта информации
предшествует специальный старт-бит, сигнализирующий о начале передачи
(обычно логический «0»). Затем следуют биты данных (их обычно 8), за
которыми может следовать дополнительный бит (его наличие зависит от
режима передачи, обычно этот бит выполняет функцию
контроля четности).
Завершается посылка стоп-битом (логическая «1»), длина которого
(длительность единичного состояния линии) может соответствовать
длительности передачи 1, 1.5 («полтора стоп-бита») или 2 бита (см. рис. выше).
Стоп-бит гарантирует некоторую выдержку между соседними посылками, при
этом пауза между ними может быть сколь угодно долгой (без учета понятия
«тайм-аута»).
Контроль
четности
Контроль четности может быть использован для обнаружения ошибок при
передаче данных. При использовании контроля четности посылаются
сообщения, подсчитывающие число единиц в группе бит данных. В
зависимости от результата устанавливается бит четности. Приемное устройство
также подсчитывает число единиц и затем сверяет бит четности. Для
обеспечения контроля четности компьютер и устройство должны
одинаково
производить подсчет бита четности, т.е. определиться устанавливать бит при
четном (even) или нечетном (odd) числе единиц. При контроле на четность биты
данных и бит четности всегда должны содержать четное число единиц. В
противоположном случае выполняется контрол на нечетность. Часто в
драйверах UART RS-232 реализуются еще две опции на четность: Mark и Space.
Эти опции
не влияют на возможность контроля ошибок: Mark означает, что
устройство всегда устанавливает бит четности в 1, а Space – всегда в 0.
Обнаружение ошибок
Проверка на четность – это простейший способ обнаружения ошибок. Он
может определить возникновение ошибок в одном бите, но при наличии
ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает
на вопрос, какой бит ошибочный. Другой механизм проверки включает в себя
старт- и стоп-биты, циклические проверки на избыточность, которые часто
применяются в соединениях Modbus.
Рассмотрим пример. В этом примере показана структура передаваемых
данных со синхронизирующим тактовым сигналом. В этом примере
Страницы
- « первая
- ‹ предыдущая
- …
- 158
- 159
- 160
- 161
- 162
- …
- следующая ›
- последняя »
