Сафоненко Практикум по интерфейсам последователной передачи 2012
.pdfMODBUS – наиболее распространенный международный стандарт де-факто (разработан фирмой Gould Inc.) на протокол канального уровня (не зависит от типа физического интерфейса) для промышленной автоматизации, работающий по принципу «ведущийведомый» с возможностью адресации до 247 ведомых узлов (протокол описывает фиксированный формат команд, последовательность полей в команде, обработку ошибок, коды функций).
Mil-Std-*** – аббревиатура стандартов Министерства обороны США.
PROFIBUS (Process Fieldbus) – де-факто европейский стандарт (проект EN 50170), фирменная разработка Siemens (германский стандарт DIN 19245) для промышленной автоматизации на базе полевой шины (протоколы уровня 1,2 и 7 OSI) с модификациями – FMS (1990г.) для связи устройств высокого уровня, DP (1992 г.) для связи в дискретных производственных линиях и PA (1997 г.) для связи систем управления с полевыми приборами по типу «веду- щий-ведомый» – со скоростями 9,6−1500 Кбит/с (максимально до 12 Мбит/с) на расстояния до 9,6 км (электрический кабель) –
90км (оптоволокно).
RS-232C (Recommended Standards) – международный последова-
тельный интерфейс стандарта EIA или V.24 CCITT для связи двух устройств с малым быстродействием – до 57,6 Кбит/с (новое назва-
ние стандарта EIA/TIA-232).
RS-422 – международный последовательный магистральный интерфейс стандарта EIA (V.10 CCITT) для симметричных линий связи высокого быстродействия (до 10 Мбит/с). Симметричная реализация RS-449 для высоких скоростей передачи.
RS-432 − несимметричная реализация RS-449 для совместимо-
сти с RS-232.
RS-449 − версия RS-232C на скорости до 2 Мбит/с.
RS-423 – международный последовательный магистральный интерфейс стандарта EIA (V.11 CCITT) для несимметричных линий связи среднего быстродействия (до 100 Кбит/с).
RS-485 – усовершенствованный вариант RS-422 стандарта EIA (V.10 CCITT) с несколькими режимами работы и реализациями линий.
171
TIA (Telecommunications Industry Association) – организация,
разрабатывающая телекоммуникационные стандарты в США (выделена их EIA).
Token Ring – метод объединения устройств в кольцевую локальную сеть со скоростями передачи от 4 до 16 МБод.
UART − Universal Asynchronous Receiver Transmitter – универ-
сальный асинхронный приемопередатчик.
V.21 − стандарт CCITT для дуплексных модемов на скорость 300 бит/с в телефонных сетях общего назначения.
V.22 − стандарт CCITT для дуплексной работы при скорости
1200 бит/с.
V.22bis − стандарт CCITT для дуплексной работы при скорости
2400 бит/с.
V.23 − стандарт CCITT для модема, работающего на частотах
600/1200 бит/с.
V.24 − стандарт CCITT для схемы сочленения DTE и DCE.
V.26 − стандарт для модема, работающего на выделенную линию на частотах 2400/1200 Бод/с.
V.27 − стандарт CCITT для модемов, работающих на частоте
4800 Бод/с.
V.27bis − стандарт для модема, работающего на выделенную линию на скорости 2400/4800 бит/с.
V.27ter − стандарт для модема с набором телефонного номера, работающего на скорости 2400/4800 бит/с.
V.29 − стандарт CCITT для модема, работающего на частоте 9600 бит/с для 4-проводных выделенных линий.
V.32 − стандарт CCITT для семейства 2-проводных модемов, работающих на скорости до 9600 бит/с.
V.33 − стандарт CCITT для модемов, работающих на скорости 14-4К бит/с для выделенных линий.
V.34 − стандарт CCITT для модемов, работающих на скорости
28.8К бит/с.
V.35 − стандарт для модемов, работающих на выделенную линию на скорости 9600 бит/с.
V.32bis − стандарт для модемов, работающих на выделенную линию на скорости 14400 бит/с.
V.42bis − стандарт сжатия данных дла модемов (4:1).
172
V.34 – международный последовательный магистральный интерфейс стандарта ITU на передачу данных со скоростью 28 КБит/с через стандартные коммутируемые линии общего пользования.
V.90 – международный последовательный магистральный интерфейс стандарта ITU на передачу данных со скоростью до 56 Кбит/с через стандартные коммутируемые линии общего пользования.
WAP − (WirelessAccessProtocol) – протокол доступа к беспро-
водным приложениям в режиме горячей линии (оn-line) к услугам с мобильным телефонам.
Х.12 − ANSI-комитет по электронному обмену данными.
Х.21 − стандарт CCITT для коммутируемых сетей, DTE/DCE 15-контактный интерфейс.
Х.25 − низкоуровневый пакетный переключатель; протокол CCITT на скорости до 64 Кбит/с.
173
Структуры регистров страниц ввода-вывода
Адресация регистров управления UART на странице ввода-вывода
Порт ввода-вывода |
Состояние бита |
|
Адресуемый регистр |
||||
|
|
|
«7» р-ра 3fb |
|
|
||
Смещ. |
COM1 |
COM2 |
|
||||
|
|
|
|||||
|
|
|
|
|
|||
|
|
|
0 |
|
|
|
Регистр данных |
|
|
|
|
|
|
передатчика-приемника |
|
|
|
|
|
|
|
|
|
БА |
3f 8 |
2f 8 |
|
|
|
|
Младший байт делителя скорости |
|
|
|
1 |
|
|
|
передачи |
|
|
|
1 |
|
|
|
Старший байт делителя скорости |
|
|
|
|
|
|
передачи |
|
+1 |
3f 9 |
2f 9 |
|
|
|
|
|
|
|
|
|
Регистр разрешения прерываний |
|||
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
+2 |
3fa |
2fa |
Регистр |
|
идентификации типа прерывания |
||
|
|||||||
+3 |
3fb |
2fb |
|
|
Регистр управления линией |
||
+4 |
3fc |
2fc |
|
Регистр управления модемом |
|||
+5 |
3fd |
2fd |
|
|
Регистр состояний линии |
||
+6 |
3fe |
2fe |
|
|
Регистр состояний модема |
||
|
|
|
|
|
|
|
|
Приложение 2
Таблица П2.1
Регистр доступа
(R,W) |
|
(W) |
|
делитель = |
|
= 115200/бод |
471 |
(W) |
|
(W) |
|
(R) |
|
(R,W) |
|
(W) |
|
(R) |
|
(R) |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Остановка в работе
= 0
=1, то |
|
|
Break |
|
|
Ошибка |
|
|||||
данные |
|
|
|
|
|
|
|
четности |
|
|||
в линии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ошибка |
|
|
|||
|
|
|
|
|
|
|
синхронизации |
|
|
|||
|
=1, то регистр |
|
|
|
(потеря стоп-бита) |
|
|
|||||
|
передатчика пуст, |
|
|
|
|
|
|
|
|
|
||
|
=0, то в регистре |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
имеется байт, |
|
|
|
|
|
|
Индикатор |
||||
|
который еще не |
|
|
|
|
|
|
качества |
||||
|
передан |
|
|
|
|
|
|
работы = 1, |
||||
|
|
|
|
|
|
|
|
|
|
если потеря |
||
|
|
|
|
|
|
|
|
|
|
данных |
||
|
|
|
|
|
|
|
|
|
|
(дублирование |
||
|
|
|
|
|
|
|
|
|
|
байта), |
||
|
|
|
|
|
|
|
|
|
|
переполнение |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. П2.1. Регистр состояния линии (Абсолютный адрес 3fd, относительный = Базовый адрес +5)
=1, то в регистре данных
преемника
принят 1 байт, =0 при чтении происх. сброс
751
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
=0 |
|
=0 |
|
=0 |
|
=0 |
|
|
|
|
|
|
|
Разрешение прерываний по изменению состояния сигналов синхронизации: CTS, DSR, RI, DCD
Разрешение прерываний по ошибке или обрыву линии связи
Разрешение
прерываний по событию «символ принят»
761
Разрешение прерываний «символ передан»
Рис. П2.2. Регистр разрешения прерываний (Абсолютный адрес 3f 9, относительный = Базовый адрес +1)
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
=0 |
|
=0 |
|
=0 |
|
=0 |
|
=0 |
|
|
|
|
|
|
|
|
|
Причина прерывания, если: =00, то изменилось состояние модема,
cброс – чтением BA+6 =01, то передан байт, cброс – записью данных в
BA,
=10, то прием байта, cброс – чтением BA, =11, то изменилось состояние линии, сброс – чтением BA+5
Рис. П2.3. Регистр идентификации типа прерываний (Абсолютный адрес 3fa, относительный = Базовый адрес +2)
Если: =1, то отсутствует запрос на
прерывания
771
7 |
|
Бит |
|
|
|
|
|
Переключение регистров |
|
|
|||
|
|
|
|
|||
6 |
|
=1, если посылка =0 (обрыв линии связи) |
||||
5 |
|
=0, если контроль на четность =11 |
||||
|
=1, если контроль на четность =01 |
|||||
|
|
|||||
4 |
|
Контроль на четность: |
01 – нечетный |
|||
3 |
|
|
|
11 – четный |
||
|
|
|
*0 – нет контроля |
|||
|
|
|
|
|||
2 |
|
Количество стоп-битов: |
0 – 1 бит |
|||
|
|
|
|
1 – 2 бита |
||
|
|
|
|
|
||
1 |
|
00 – 5 бит в посылке |
|
|
||
0 |
|
… |
|
|
|
|
|
11 – 8 бит в посылке |
|
|
|||
|
|
|
|
|||
|
|
Рис. П2.4. Регистр управления линией (протокол связи) |
||||
|
|
(Абсолютный адрес 3fb, относительный = Базовый адрес +3) |
||||
|
|
|
|
|
|
|
7 |
|
=0 |
|
|
|
|
6 |
|
=0 |
|
|
|
|
5 |
|
=0 |
|
|
|
|
4 |
|
Заглушка LoopBack |
|
|
||
3 |
|
OUT2 Сигнал разрешения (запрета) сигнала прерывания IRQ |
||||
2 |
|
OUT1 |
|
|
|
|
1 |
|
=1, то RTS = 1 |
|
|
||
0 |
|
=1, то DTR = 1 (активен) |
|
|
||
|
|
|
|
Рис. П2.5. Регистр управления модемом |
||
|
|
|
(регистр установления связи между каналами) |
|||
|
|
(Абсолютный адрес 3fc, относительный = Базовый адрес +4) |
||||
|
|
|
|
|
|
|
7 |
DSD |
|
Отвечают за статическое состояние линии |
|
||
6 |
RI |
|
|
|||
5 |
DSR |
|
|
|
|
|
4 |
CTS |
|
|
|
|
|
3 |
|
DCD |
|
|
|
|
2 |
|
RI |
|
=1, если прошел фронт, изменилось состояние |
|
|
1 |
|
DSR |
|
|
||
|
|
|
|
|
||
0 |
|
CTS |
|
|
|
|
Рис. П2.6. Регистр состояния модема (Абсолютный адрес 3fe, относительный = Базовый адрес +6)
178
Приложение 3
Алфавитный список свойств
BaudRate – определяет скорость передачи данных. BreakInterruptFcn – определяет функцию М-файла, вызывае-
мую для обработки прерывания.
ByteOrder – определяет порядок обработки байт, переданных в устройство.
BytesAvailable − указывает число байтов, доступных во входном буфере.
BytesAvailableFcnCount – определяет число байт во входном буфере, при накоплении которых возникает событие–прерывание.
BytesAvailableFcnMode – определяет причину, в случае которой выполняется событие по доступным байтам.
BytesAvailableFcnCount – определяет количества байт в блоке обмена.
DataBits – определяет число бит в структуре символа данных. ErrorFcn– определяет функцию М-файла, которая вызывается
по прерыванию ошибки передачи.
FlowControlО пределяет метод контроля ошибок в процессе передачи данных.
InputBufferSize – определяет размер входного буфера в байтах. Name – определяет имя объекта последовательного порта. OutputBufferSize – определяет размер выходного буфера в бай-
тах.
OutputEmptyFcn – определяет функцию М-файла, которая обрабатывает событие отсутствия данных в выходном буфере.
Parity – определяет метод контроля четности.
PinStatus– указывает состояние CD, CTS, DSR и RI сигналов. PinStatusFcn − определяет функцию отзыва М-файла, которая выполняется, когда CD, CTS, DSR или RI пины изменяют состоя-
ние.
Port – определяет специфическое для платформы имя последовательного порта.
ReadAsyncMode – определяет режим чтения данных: асинхронный или непреырвный.
RecordDetail – определяет количество байт информации, сохраненной файлом записи.
179
RecordMode – определяет, сохраняются ли данные и информация о событиях в одном файле или в нескольких.
RecordName – определяет имя файла записи.
RecordStatus − указывает, сохраняются ли данные и информация события файлом записи.
RequestToSend – определяет состояние сигнала RTS.
Status – указывает состояние объекта последовательного порта. StopBits – определяет число бит, завершающих байт.
Tag – определяет ярлык, который связывается с объектом последовательного порта.
Terminator – определяет символ завершения блока байт в потоковой передаче.
Timeout – определяет время ожидания завершения операций чтения или записи при отсутствии символа Terminator.
TimerFcn – определяет функцию М-файла, которая выполняется в моменты времени срабатывания таймера.
TimerPeriod – определяет период времени между событиями таймера.
TransferStatus – индикатор активности операции асинхронного чтения или записи.
Type – указывает тип объекта.
UserData – определяет данные, которые будут связаны с объектом последовательного порта.
ValuesReceived – указывает количество читаемых из устройства байт.
ValuesSent – указывает количество байт, записанных в устройство.
180