Асинхронная передача данных по каналу связи

Полнодуплексный обмен данными.

Означает, что можно одновременно передавать и принимать поток данных. Существуют два аппаратно и программно независимых канала передачи данных. Один канал для передачи данных, другой канал для приема данных. Причем COM-портам безразлично, чем занят процессор в это время, у них присутствуют собственные буферы приема и передачи данных. В этих буферах данные выстраиваться в очередь на передачу и очередь на прочтение данных процессором. Любая программа может обратиться к СОМ-порту и получить данные из его буфера, тем самым очистив его. Естественно буферы не безграничны, их размер задается при конфигурировании портов. Интерфейсы RS-485, Modbus, USB и др. (за Асинхронная передача данных по каналу связи исключением сетевых протоколов) являются полудуплексными и физически не способны вести обмен данными в обоих направлениях одновременно.

Набор сервисных сигналов

Сервисные сигналы, предусмотренные стандартом RS-232c, позволяют организовать обмен данными между двумя устройствами одновременно в обоих направлениях. Сервисные сигналы представлены отдельными цифровыми входами и выходами с памятью. Например, кода по телефону на модем поступал звонок со станции, модем по 9-му контакту (RI) сообщал РС, что ему позвонили, и начиналась процедура обмена данных. Причем с помощью сервисных сигналов РС и модем могли приостановить обмен данных или заставить повторить их. Вариантов использования сервисных сигналов большое множество. Разработчик может использовать их по своему усмотрению. Например Асинхронная передача данных по каналу связи, с помощью этих сигналов удобно опрашивать контакты концевых выключателей или фотодатчиков, а также можно включать/выключать различные устройства или запитывать слаботочное устройство.

Программная независимость

UART полностью реализован аппаратно и не зависит от программного обеспечения и ОС.

Асинхронная передача данных по каналу связи

Означает то, что РС может послать данные на конечное устройство, не заботясь о синхронности их поступления. Конечное устройство само подстраивается под полученные данные. В синхронных протоколах для этого служит специальный сигнал, передающийся по отдельному проводу. В коммуникационных портах синхросигнал встроен в каждый передаваемый символ, в виде стартового и стопового бита. Метод, которым синхронизируются данные по стандарту RS-232С, стал Асинхронная передача данных по каналу связи общеупотребительным для всех асинхронных протоколов обмена данными.

1.2 Технические характеристики COM портов

Рис.1 Вид разъёмов СОМ1 и СОМ2 на материнской плате.

Тип разъема:DE9p(DB9P) или DB25P male (папа), ответная часть DE9s(DB9s) или DB25s femini (мама)

Аппаратная реализация: микросхемы UART intel8250/16450/16550

Уровень сигнала для TxD, RxD: 1 = -3...-12 в; 0=+3...+12 в (сигналы инвертированы)

Уровень сигналов RTS, DTR, CTS, DSR, DCD, RI: 1 (True)=+3...+12в ; 0 (False)= -3...-12в

Зона нечувствительности: -3...+3 в

Количество портов IBM XT: четыре COM1, COM2, COM3, COM4

Адреса в пространстве ввода/вывода: COM1=3F8h, COM2=2F8h, COM3=3E8h, COM4=2E8h

Аппаратные прерывания: COM1,COM3= IRQ Асинхронная передача данных по каналу связи4(IQ11) COM2,COM4= IRQ3(IQ10)

Функции BIOS: 14h (инициализация, запись, чтение, опрос состояния, настройка)

Стандартная скорость, бит/сек: 50,75,110,150,300,600,1200,1800,2000,2400,3600,4800,7200,9600,14400,19200,28800,38400,57600,115200



Максимальная скорость, бит/сек: 1 500 000

Количество бит данных в переданном символе: 5,6,7,8

Длина стопового бита: 1, 1.5, 2

Режимы контрольного бита(Parity): N(None), E(Even), M(Mark), O(Odd), S(Space)

Режимы синхронизации обмена (Handshaking): 0-None, 1-XOnXoff, 2-RTS, 3-RTSXOnXoff

Канал передачи данных (инверсный) : TxD (3)-GND(5)

Канал приёма данных (инверсный): RxD(2)-GND(5)

Выходные сервисные сигналы: RTS(7)-CND(5); DTR(6)-GND(5)

Входные сервисные сигналы: CTS(8)-GND(5); DSR(6)-GND(5); DCD(1)-GND(5); RI(9)-GND(5)

Расстояния связи: стандартное - 25ft( 7.62м), максимальное (определено многими факторами)

1.3 Назначение сигналов СОМ порта по стандарту RS-232C Асинхронная передача данных по каналу связи.

GND- Ground, (общий) второй провод для всех сигналов.(Сигналы передаются всегда по двум проводам!)

TxD- Transmited Data, асинхронный канал для передачи данных.

RxD- Received Data, асинхронный канал для приема данных.

RTS- Request To Send (запрос на передачу), Выход который говорит о том, что у компьютера есть данные для передачи по каналу TxD для конечного устройства.

DTR- Data Terminal Ready(готовность терминала данных), Выход который говорит о том, что компьютер(терминал) готов к обмену данными с конечным устройством

CTS- Clear To Send (очищен для передачи) Вход, который говорит о том, что конечное устройство готово принимать данные от терминала по каналу TxD. Обычно Асинхронная передача данных по каналу связи этот сигнал выставляет конечное устройство после того, как оно получит от компьютера сигнал RTS=True(запрос на передачу) и будет готово принять данные от компьютера. Если конечное устройство не выставит сигнал CTS=True, то передача по каналу TxD не начнется. Данный сигнал используется для аппаратного управления потоками данных

DSR- Data Set Ready(установка данных готова), Вход который говорит о том, что конечное устройство выполнило все установки и готово начать передавать и принимать данные от компьютера. Если конечное устройство модем, то установка DSR=True воспринимается компьютером(терминалом) так, что модем уже установил связь с другим модемом и готов начать процедуру обмена Асинхронная передача данных по каналу связи между двумя компьютерами оснащенных модемами

DCD- Data Carrier Detected(обнаружен носитель информации), Вход который информирует компьютер(терминал) об обнаружении другого терминала, то есть конечное устройство , например модем, обнаружил другой модем, который хочет инициализировать обмен данных между терминалами. Модем выставляет сигнал DCD=True, который обнаруживается на входе компьютера(терминала). Если терминал готов к обмену данными, то он на сигнал DCD=True должен выставить сигнал готовности терминала к обмену данными DTR=True, после чего начинается обмен данными между двумя терминалами.

RI- Ring Indicator(индикатор звонка), Вход который говорит компьютеру(терминалу) что на конечное устройство поступает сигнал вызова. Например, на модем поступил сигнал Асинхронная передача данных по каналу связи вызова с телефонной станции, совсем не обязательно, что этот вызов закончится обменом данных.

PG - Protective Ground. Защитное заземление.

Рис.2 Нумерация контактов для разъёмов COM-порта

1.4 Уровни сигналов UART

UART использует уровни сигналов -12в....+12в . Зона нечувствительности, то есть отсутствие сигналов считается напряжение -3в...+3в. При этом обратите внимания, что принимаемые/передаваемые данные инвертированы.

Рис.3 Уровни сигналов UART по стандарту RS-232c

Исходные состояния

порт не инициализирован - на всех линиях напряжения находятся в диапазоне -3в...+3в

режим ожидания - на всех линиях напряжение находится в диапазоне -3в...-12в

1.5 Передача данных через UART

При передаче данных символы передаются из буфера передатчика последовательно (первым пришел- первым вышел). Специально назвал символами , а Асинхронная передача данных по каналу связи не байтами, так как символы могут иметь размер от 5 до 8 бит. Каждый переданный символ снабжается стартовым и стоповым битами, предназначенным для синхронизации на приемной стороне. После стартового бита следуют биты данных, начиная с младшего бита и заканчивая старшим. За последним битом данных символа может следовать бит паритета, служащий для обнаружения ошибки передачи битов данных. Последним передается стоповый бит, который необходим для временного разделения переданных символов

Рис.4 Показана передача символов "0" "0" без паритета, с одним стоповым битом

На рисунке 4 хорошо видно, что стоповый бит разделяет два переданных символа. При необходимости можно увеличить этот интервал до 2 стоповых битов, если конечное устройство не успевает разделять Асинхронная передача данных по каналу связи символы.

Рис.5 Показана передача символов "0" "0" с проверкой на четность (EVEN), с одним стоповым битом

1.6 Соединительные кабели


documentatzpxkj.html
documentatzqeur.html
documentatzqmez.html
documentatzqtph.html
documentatzrazp.html
Документ Асинхронная передача данных по каналу связи