01.03.2019
Интерфейс RS-232 имеет следующие характеристики:
Вы, наверное, уже видели этот разъем на задней панели компьютера.
Он имеет 9 контактов, но 3 основные:
контакт 2: RxD (прием данных).
контакт 3: TxD (передача данных).
Контакт 5: GND (заземление).
Используя 3 провода, вы можете передавать и получать данные.
Данные обычно отправляются частями по 8 бит ( байтом) и "сериализуются": сначала отправляется LSB (бит данных 0), затем бит 1 ... и MSB (бит 7) - последний.
Этот интерфейс использует асинхронный протокол. Это означает, что по данным не передается тактовый сигнал. Приемник должен иметь способ "освободить время" для входящих бит данных.
В случае RS-232, это сделано таким образом:
Давайте посмотрим, как выглядит байт 0x55 при передаче:
Байт 0x55 является 01010101 в двоичном формате.
Но так как сначала передается LSB (bit-0), то линия переключается следующим образом: 1-0-1-0-1-0-1-0.
Вот еще один пример:
Вот данные 0xC4.
Части труднее разглядеть. Это иллюстрирует, насколько важно для получателя знать, с какой скоростью отправляются данные.
Скорость указывается в бодах, т.е. сколько бит в секунду может быть отправлено. Например, 1000 БОД означают 1000 бит в секунду, или что каждый бит длится одну миллисекунду.
Общие реализации интерфейса RS-232 (как у ПК) не позволяют использовать любую скорость. Если вы хотите использовать 123456 БОД, вам не повезло. Приходится довольствоваться какой-то "стандартной" скоростью. Общие значения:
На 115200 БОД, каждый бит длится (1/115200) = 8.7 µs. Если вы передаете 8-разрядные данные, это длится 8 x 8.7 µs = 69µs. Но каждый байт требует дополнительного стартового и стопового Бита, Поэтому вам действительно нужно 10 x 8.7 µs = 87µs. Это означает максимальную скорость 11.5 Кбайт в секунду.
На 115200 бодах, некоторые ПК с багги-чипами требуют "длинного" стоп-бита (1,5 или 2 бита), что делает падение максимальной скорости до 10.5 Кбайта в секунду.
Сигналы на проводах используют положительную/отрицательную схему напряжения тока.
Таким образом, холостая линия несет -10V.