Применение последовательного интерфейса RS232
Связь цифровых приборов, поддерживающих протокол RS232 между собой, может производиться без применения каких-либо дополнительных устройств согласования, если расстояние между ними не превышает 10 метров. При передаче данных с одного цифрового измерительного устройства до другого при больших удалениях (до одного километра) можно использовать, например, оптронную развязку с токовой петлей (рис. 9.1).
Для связи ЦИУ с персональным компьютером следует использовать специализированные микросхемы преобразователя уровня сигнала из ТТЛ в уровни СОМ-порта и из уровней СОМ-порта в уровни ТТЛ.
Если ЦИУ содержит микроконтроллер, поддерживающий аппаратно или программно протокол RS232, то подключение этого ЦИУ к персональному компьютеру для режимов 0 и 1 можно выполнить по схеме, приведенной на рис. 9.2.
Назначение контактов разъема СОМ-порта персонального компьютера представлено в табл. 9.1.
Таблица 9.1
Номер контакта | Имя сигнала | Назначение |
TxD RxD RTS CTS DSR SG DCR DTR RI | передаваемые данные принимаемые данные запрос на передачу разрешение приемника на передачу готовность передатчика сигнальное заземление контроль приема готовность приемника кольцевой индикатор вызова |
Существуют три типа подключения интерфейса.
1. Без анализа состояний приемника и передатчика (режим 0 последовательного порта микроконтроллера или СОМ-порта ЭВМ). Данный режим не может использоваться в режиме работы по прерыванию (рис. 9.1).
Рис. 9.1. Подключение интерфейса без анализа состояний приемника
и передатчика (режим 0)
2. С частичным квитированием приема/передачи (рис. 9.2). Может использоваться в работе по прерыванию (сигнал RTS).
Рис. 9.2. Подключение интерфейса с частичным квитированием
приема/передачи (режим 1)
3. С полным квитированием приема/передачи (рис.9.3).
Рис. 9.3. Подключение интерфейса с полным квитированием
приема/передачи (режим 2)
Общие требования к программам работы с последовательным портом при работе на передачу данных:
1) получить из порта 3FDн (2FDн) байт статуса. Здесь разряды, установленные в "1", означают:
0 – получены данные,
1 – полученные данные перезаписаны, то есть предыдущая порция вовремя не считана,
2 – ошибка при контроле на четность,
3 – ошибка из-за нарушения синхронизации,
4 – получен сигнал, указывающий, что приемник запрашивает конец передачи,
5 – регистр выходного слова для передачи свободен,
6 – регистр сдвига данных для передачи пуст,
7 – нет связи с приемником;
2) проверить байт статуса на наличие ошибок (биты 1, 2, 3, 4);
3) проверить бит 5 регистра статуса на возможность передачи данных;
4) если бит 5 равен 1, то перейти к пункту 5, иначе повторять операции
пп.1-3;
5) создать и записать данные в порт 3F8н (2F8н), например, путем пересылки очередного символа из буфера обмена.
Общие требования к программам работы с последовательным портом при работе на прием данных:
1) получить из порта 3FDн (2FDн) байт статуса;
2) проверить байт статуса на наличие ошибок и при необходимости обработать их;
3) проверить бит 0 регистра статуса на возможность приема данных;
4) если данные могут быть приняты, то перейти к п. 5, иначе повторять операции пп.1-3;
5) читать данные из порта 3F8н (2F8н) и обрабатывать их, например, записывать в определенные ячейки ОЗУ.
Пример схемы связи персонального компьютера и микроконтроллера через интерфейс RS232 с использованием микросхемы преобразователя уровней ADM202EARN приведен на рис. 9.4.
Рис. 9.4. Схема связи персонального компьютера
и микроконтроллера через интерфейс RS232