
- •Экзамен по дисциплине «Интерфейсы асоиу».
- •Классы стандартных интерфейсов. Виды совместимости систем.
- •Основные модели сложных систем. Конечный автомат.
- •Интерфейс rs-232. Перечень регистров и их назначение.
- •Последовательная передача данных
- •Универсальный асинхронный приемопередатчик
- •Виды сигналов
- •Имитационное моделирование систем (метод особых состояний).
- •Интерфейс rs-232. Блок-схема типичного адаптера.
- •Основные модели сложных систем. Вероятностный автомат.
- •Интерфейс rs-232. Подтверждение связи и управление потоком. Соединение двух компьютеров. Подтверждение связи
- •Управление потоком
- •Модели сложных систем. Объекты, описываемые дифференциальными уравнениями.
- •Интерфейс rs-485. Модули серии I-7000. Структура системы передачи данных на основе модуля серии I-7000.
- •Модели сложных систем. Объекты, описываемые в терминах тмо.
- •Интерфейс токовая петля. Подключение устройств.
- •Метод зондирования пространства с помощью лПτ последовательности. Основы метода.
- •Интерфейс Centruonics. Назначение сигналов. Протокол передачи данных.
- •Метод зондирования пространства с помощью лПτ последовательности. Устранение коррелированности критериев качества.
- •Интерфейс ieee 1284 режим spp. Требования и перечни сигналов.
- •Метод зондирования пространства с помощью лПτ последовательности. Поиск оптимальных решений в пространстве задач.
- •Интерфейс ieee 1284 режим epp. Цикл записи в пу. Цикл чтения адреса в пу.
- •1.2. Стандарт ieee 1284
- •1.2.1. Физический и электрический интерфейсы
- •Интерфейс usb. Метод кодирования. Подключение высокоскоростных и низкоскоростных устройств.
- •Интерфейс ieee 1394. Структура взаимодействия устройств шины ieee 1394.
- •Метод особых состояний при имитационном моделировании.
- •Стандарт ieee 1284. Электрические требования к передатчикам. Перечень регистров eppp.
- •Определение двоичной последовательности в лПτ сетке в методе проектирования с помощью лПτ последовательности.Top of Form
Последовательная передача данных
Микропроцессорная система без средств ввода и вывода оказывается бесполезной. Поскольку данные обычно представлены на шине микропроцессора в параллельной форме (байтами, словами), их последовательный ввод–вывод оказывается несколько сложным. Для последовательного ввода потребуется средства преобразования последовательных входных данных в параллельные данные, которые можно поместить на шину. С другой стороны, для последовательного вывода необходимы средства преобразования параллельных данных, представленных на шине, в последовательные выходные данные. В первом случае преобразование осуществляется регистром сдвига с последовательным входом и параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным входом и последовательным выходом (PISO).
Последовательные данные передаются в синхронном или асинхронном режимах. В синхронном режиме все передачи осуществляются под управлением общего сигнала синхронизации, который должен присутствовать на обоих концах линии связи. Асинхронная передача подразумевает передачу данных пакетами; каждый пакет содержит необходимую информацию, требующуюся для декодирования содержащихся в нем данных. Конечно, второй режим сложнее, но у него есть серьезное преимущество: не нужен отдельный сигнал синхронизации.
Существуют специальные микросхемы ввода и вывода, решающие проблемы преобразования, описанные выше. Вот список наиболее типичных сигналов таких микросхем:
D0–D7 — входные–выходные линии данных, подключаемые непосредственно к шине процессора;
RXD — принимаемые данные (входные последовательные данные);
TXD — передаваемые данные (выходные последовательные данные);
CTS — сброс передачи. На этой линии периферийное устройство формирует сигнал низкого уровня, когда оно готово воспринимать информацию от процессора;
RTS — запрос передачи. На эту линию микропроцессорная система выдает сигнал низкого уровня, когда она намерена передавать данные в периферийное устройство.
Все сигналы программируемых микросхем последовательного ввода–вывода ТТЛ–совместимы. Эти сигналы рассчитаны только на очень короткие линии связи. Для последовательной передачи данных на значительные расстояния требуются дополнительные буферы и преобразователи уровней, включаемые между микросхемами последовательного ввода–вывода и линией связи.
Универсальный асинхронный приемопередатчик
Возможно, связь через асинхронный последовательный порт уходит в прошлое, однако сложно найти контроллер, не имеющего в составе своей периферии UART. Поэтому хоронить его, думаю, рановато. Раз так, то будет нелишним сказать пару слов о том, как оно работает. Описание конкретной реализации последовательного порта есть в datasheet на каждый контроллер, поэтому опишу общее для всех.
UART можно разделить на приемник (Receiver) и передатчик (Transmitter). В состав UART входят: тактовый генератор связи (бодрейт-генератор), управляющие регистры, статусные регистры, буферы и сдвиговые регистры приемника и передатчика. Бодрейт-генератор задает тактовую частоту приемопередатчика для данной скорости связи. Управляющие регистры задают режим работы последовательного порта и его прерываний. В статусном регистре устанавливаются флаги по различным событиям. В буфер приемника попадает принятый символ, в буфер передатчика помещают передаваемый. Сдвиговый регистр передатчика - это обойма, из которой в последовательный порт выстреливаются биты передаваемого символа (кадра). Сдвиговый регистр приемника по биту накапливает принимаемые из порта биты. По различным событиям устанавливаются флаги и генерируются прерывания (завершение приема/отправки кадра, освобождение буфера, различные ошибки).
UART - полнодуплексный интерфейс, то есть приемник и передатчик могут работать одновременно, независимо друг от друга. За каждым из них закреплен порт - одна ножка контроллера. Порт приемника обозначают RX, передатчика - TX. Последовательной установкой уровней на этих портах относительно общего провода ("земли") и передается информация. По умолчанию передатчик устанавливает на линии единичный уровень. Передача начинается посылкой бита с нулевым уровнем (старт-бита), затем идут биты данных младшим битом вперед (низкий уровень - "0", высокий уровень - "1"), завершается посылка передачей одного или двух битов с единичным уровнем (стоп-битов).
Электрический сигнал кадра посылки выглядит так:
Перед началом связи между двумя устройствами необходимо настроить их приемопередатчики на одинаковую скорость связи и формат кадра.
Скорость связи или бодрейт (baudrate) измеряется в бодах - число передаваемых бит в секунду (включая старт и стоп-биты). Задается эта скорость в бодрейт-генераторе делением системной частоты на задаваемый коэффициент. Типичный диапазон скоростей: 2400 … 115200 бод.
Формат кадра определяет число стоп-битов (1 или 2), число бит данных (8 или 9), а также назначение девятого бита данных. Все это зависит от типа контроллера.
Приемник и передатчик тактируются, как правило, с 16-кратной частотой относительно бодрейта. Это нужно для сэмплирования сигнала. Приемник, поймав падающий фронт старт-бита, отсчитывает несколько тактов и следующие три такта считывает (семплирует) порт RX. Это как раз середина старт-бита. Если большинство значений семплов - "0", старт-бит считается состоявшимся, иначе приемник принимает его за шум и ждет следующего падающего фронта. После удачного определения старт-бита, приемник точно также семплирует серединки битов данных и по большинству семплов считает бит "0" или "1", записывая их в сдвиговый регистр. Стоп-биты тоже семплируются, и если уровень стоп-бита не "1" - UART определяет ошибку кадра и устанавливает соответствующий флаг в управляющем регистре.
Поскольку бодрейт устанавливается делением системной частоты, при переносе программы на устройство с другим кварцевым резонатором, необходимо изменить соответствующие настройки UART.
Таблица 1. Функции сигнальных линий интерфейса RS–232C.
Номер контакта |
Сокращение |
Направление |
Полное название |
1 |
FG |
— |
Основная или защитная земля |
2 |
TD (TXD) |
К DCE |
Передаваемые данные |
3 |
RD (RXD) |
К DTE |
Принимаемые данные |
4 |
RTS |
К DCE |
Запрос передачи |
5 |
CTS |
К DTE |
Сброс передачи |
6 |
DSR |
К DTE |
Готовность модема |
7 |
SG |
— |
Сигнальная земля |
8 |
DCD |
К DTE |
Обнаружение несущей данных |
9 |
— |
К DTE |
(Положительное контрольное напряжение) |
10 |
— |
К DTE |
(Отрицательное контрольное напряжение) |
11 |
QM |
К DTE |
Режим выравнивания |
12 |
SDCD |
К DTE |
Обнаружение несущей вторичных данных |
13 |
SCTS |
К DTE |
Вторичный сброс передачи |
14 |
STD |
К DCE |
Вторичные передаваемые данные |
15 |
TC |
К DTE |
Синхронизация передатчика |
16 |
SRD |
К DTE |
Вторичные принимаемые данные |
17 |
RC |
К DTE |
Синхронизация приемника |
18 |
DCR |
К DCE |
Разделенная синхронизация приемника |
19 |
SRTS |
К DCE |
Вторичный запрос передачи |
20 |
DTR |
К DCE |
Готовность терминала |
21 |
SQ |
К DTE |
Качество сигнала |
22 |
RI |
К DTE |
Индикатор звонка |
23 |
— |
К DCE |
(Селектор скорости данных) |
24 |
TC |
К DCE |
Внешняя синхронизация передатчика |
25 |
— |
К DCE |
(Занятость) |
Примечания:
Линии 11, 18, 25 обычно считают незаземленными. Приведенная в таблице спецификация относится к спецификациям Bell 113B и 208A.
Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения.
Во избежание путаницы между RD (Read — считывать) и RD (Received Data — принимаемые данные) будут использоваться обозначения RXD и TXD, а не RD и TD.
Терминальное оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с отверстиями (но могут быть и исключения).
Сигналы интерфейса RS–232C подразделяются на следующие классы.
Последовательные данные (например, TXD, RXD). Интерфейс RS–232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации.
Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи.
Сигналы синхронизации (например, TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования.
На практике вспомогательный канал RS–232C применяется редко, и в асинхронном режиме вместо 25 линий используются 9 линий (таблица 2).