Страница 1 из 1

1000 вопросов и ответов по сетевым интерфейсам и протоколам

Добавлено: 07 янв 2013, 07:43
Михайло
1) Что это за настройки "количество бит, четность, количество стоповых бит" и как их настраивать?

Эти настройки связаны с универсальным асинхронным приемопередатчиком (UART). Универсальный приемопередатчик - это микросхемное решение, предназначенное для приема (receive) и отправки (transmit) 7- или 8-битных данных (попадаются также приемопередатчики, которые могут работать с 5-, 6-, 7-, 8- и 9-битными данными). Единого стандарта на контроллер связи UART нет, однако описание работы имеется в некоторых стандартах, например, RS232.
Универсальный асинхронный приемопередатчик берет всю работу с каналом связи на себя, он определяет начало посылки, принимает данные по одному биту от устройства в сети, кладет полученные 7 или 8 бит в регистр приема, а также отправляет такие же 7 или 8 бит из регистра отправки.
1. Принято считать, что уровень напряжения логической единицы в сети перед началом приема и передачи данных означает молчание.
2. Начало передачи порции данных сигнализируется подачей напряжения логического нуля (стартовый бит).
3. После стартового бита последовательно передаются биты из регистра отправки.
4. Передается бит четности, если контроль четности включен (EVEN, ODD). При отключенном контроле четности (NONE) этот бит не передается. В отправленных полезных данных подсчитывается количество логических единиц, в зависимости от четности или нечетности этого количества и настроек EVEN (чет) или ODD (нечет) передается логический нуль или единица. Этот бит позволяет контролировать целостность передачи данных.
5. Стоповых битов один или два, они соответствуют уровню логической единицы.
После того, как прием данных закончился, приемопередатчик формирует в специальном регистре флаги ошибок и т.д. Ошибка приема данных возникает при несоответствии бита четности и отсутствии стопового бита. Более тщательный контроль целостности данных осуществляет уже не микросхема UART, а система более высокого уровня, которая принимает от приемопередатчика полезные данные и формирует многобайтные телеграммы. Такой системой может быть операционная система или, например, программное обеспечение протокола Modbus.
Универсальный асинхронный приемопередатчик UART.gif
Физический уровень канала связи приемопередатчика (уровни напряжений, количество подключаемых проводов, разъем и т.д.) может быть различным. В частности, канал связи может быть симплексным, полудуплексным или дуплексным.
Асинхронность приемопередатчика и заключается в том, что он работает не по тактовым (синхронизирующим) импульсам, а по стартовому и стоповым битам. Благодаря современной схемотехнике, основанной на кварцевых генераторах, приемопередатчики от различных производителей хорошо синхронизируются. Длительность посылки одного бита определяется настройкой битрейта приемопередатчика. Существует общепринятый ряд стандартных скоростей: 300 бит/с, 600 бит/с, 1200 бит/с, 2400 бит/с, 4800 бит/с, 9600 бит/с, 19200 бит/с, 38400 бит/с, 57600 бит/с, 115200 бит/с, 230400 бит/с, 460800 бит/с, 921600 бит/с.

Таким образом приемопередатчик UART избавляет систему более высокого уровня от проблем синхронизации с устройствами в сети и предоставляет регистр приема и регистр отправки, из которых можно считывать и куда можно записывать полезные данные. Кроме того, приемопередатчик можно настроить. Наиболее типовая настройка: битрейт 9600 бит/с, контроль четности отключен (NONE), стоповый бит один. Хотя все зависит от индивидуальных требований обмена данными и возможностей сетевых устройств.

P.S. Интересные факты:
1. Микросхема UART обеспечивает работу COM-порта (интерфейса RS232) в обычных персональных компьютерах.
2. Некоторые приемопередатчики имеют функцию автоопределения скорости передачи данных. Для такого устройства необязательно выбирать битрейт, достаточно выбрать настройку "Auto-detect". При первом включении устройство находится в неопределенности, какой битрейт установлен для сети. Когда первое устройство в сети "заговорит", включается автоопределение битрейта и выбирается та скорость, при которой "язык общения" адекватен и не формируются ошибки, то есть фронты и спады сетевого сигнала синхронизированы, а биты четности и стоповые биты соответствуют правильной посылке.

Re: 1000 вопросов и ответов по сетевым интерфейсам и протоко

Добавлено: 08 янв 2013, 09:36
Михайло
Немного поправил ответ на 1-ый вопрос. Добавил картинку для наглядности.

Re: 1000 вопросов и ответов по сетевым интерфейсам и протоко

Добавлено: 16 янв 2013, 04:38
Михайло
2) Чем отличаются симплексный, дуплексный и полудуплексный каналы связи?

Эти понятия достаточно просты для понимания.
Симплексный канал связи (simplex) - это односторонний канал связи. В автоматизации такие сетевые интерфейсы не применяются по той причине, что промышленные устройства практически всегда принимают и передают данные: двухсторонний обмен позволяет, как минимум, перепроверять правильность передачи данных.

Дуплексный канал связи (full duplex) - это двухсторонний канал связи, при этом сигналы приема и сигнал передачи используют различные физические среды (для медных кабелей - различные провода). В таком сетевом интерфейсе трафик приема не влияет на трафик передачи. Примерами сетевых интерфейсов, работающих в дуплексном режиме, являются RS232, Ethernet. Верным признаком дуплексного канала связи является наличие проводников Rx (receive, прием) и Tx (transmit, передача) в распиновке разъема.

Полудуплексный канал связи (half duplex) - это двухсторонний канал связи, при этом сигналы приема и сигнал передачи используют общую физическую среду (для медных кабелей - общие провода). Трафик приема циклически блокирует трафик передачи и наоборот. Алгоритм смены направления передачи данных определяется протоколом сетевого интерфейса. Одним из самых распространенных принципов, лежащих в основе такого алгоритма, является принцип Master/Slave, когда один абонент сети (мастер сети) определяет направление трафика путем подачи команд слэйвам. В случае протокольных ошибок и конфликтов абоненты должны "принять молчание" и право "разговора" снова переходит к мастеру. Известен также принцип маркерного доступа (см. Token ring), когда по сути дела свойство абонента "Master" переходит от абонента к абоненту вместе со специальным маркером в сообщении (как эстафетная палочка). Ярким примером полудуплексного сетевого интерфейса является интерфейс RS485. Преимущество полудуплексного канала связи - простота среды передачи данных (например, достаточно двух проводов), но при этом имеются недостатки - взаимовлияние трафиков приема и передачи, возможные конфликты, сложность протокола и аппаратная реализация. Недостатки полудуплексных интерфейсов легко нивелируются благодаря современной схемотехнике за счет повышения быстродействия, надежности и помехоустойчивости контроллеров связи.

Re: 1000 вопросов и ответов по сетевым интерфейсам и протоко

Добавлено: 16 янв 2013, 04:57
Михайло
3) Чем отличается последовательная передача данных от параллельной?

Ответ на этот вопрос также очень прост.
При параллельной передаче данных (parallel line) полезная информация передается в одном направлении по нескольким физическим средам одновременно (например, по нескольким проводам). Очевиден недостаток такого канала связи - сложная среда передачи данных, но есть и преимущество - увеличенная скорость передачи данных. Благодаря современной быстродействующей схемотехнике наблюдается переход от параллельной передачи к последовательной с упрощением физики интерфейса и одновременным увеличением скорости, например, в компьютерной технике произошел переход от Parallel ATA (PATA) к Serial ATA (SATA) в интерфейсе жестких дисков и оптических приводов.

В автоматизации промышленности практически все сетевые интерфейсы являются последовательными (serial line). Каждый бит информации передается последовательно друг за другом по одной среде передачи данных.