3.6 Связь контроллера с ЭВМ верхнего уровня
(IBM PC)
В автоматизированной управления асинхронным двигателем, для которой разрабатывался рассматриваемый в данном дипломном проекте модуль ввода аналоговых сигналов, связь контроллера осуществляется через последовательный канал связи. При этом используется принятый фирмой IBM интерфейс RS-232C.
3.6.1 Схема гальванической развязки приемопередатчика микроконтроллера
Схема гальванической развязки приемопередатчика микроконтроллера предназначена для гальванической развязки линии связи и микроконтроллера, а также для преобразования сигнала передатчика TxD из ТТЛ-уровня в токовый параметр линии связи и сигнала поступающего из линии связи в сигнал RxD приемника ТТЛ-уровня.
Функциональная схема гальванической развязки приемопередатчика микроконтроллера приведенная на рис. , состоит из двух частей: гальванической развязки передатчика (VT1, VT2, VT3, U2, R2, R4, R6, R7) и схемы гальванической развязки приемника (U1, D1.1, R1, R3, R5). Диод VT1 выполняет защитную функцию при неправильной полярности подключения линии связи.
Схема гальванической развязки приемопередатчика работает следующим образом: в исходном состоянии с выхода передатчика TxD микроконтроллера подается уровень "логической единицы" (ТТЛ) на базу ключа VT3 через токоограничительный резистор R7. При этом транзистор VT3 открыт и шунтирует низким сопротивлением перехода коллектор - эмиттер светодиод оптоэлектронной пары U2. Это ведет к тому, что светодиод оптопары U2 не излучает и транзисторный ключ оптопары U2 закрыт. Из этого следует что транзисторный ключ, собранный на элементах VT1 и VT2, открыт током протекающим через резистор R2. В следствии этого линия связи будет закорочена через открытый переход коллектор - эмиттер транзистора VT1 и сравнительно низкое сопротивление R1. При этом на резисторе R1 создается падение напряжения, достаточное для открывания светодиода оптоэлектронной пары U1, что влечет за собой открытие транзисторного ключа оптопары U1. В этом случае на входе логического элемента триггера Шмитта присутствует уровень "логического нуля", а на его выходе - "логическая единица", что соответствует неактивному входному сигналу не входе RxD микроконтроллера.
При приеме информации, что равносильно размыканию линии связи, светодиод оптопары U1 закрывается, а значит и закрывается транзисторный ключ оптопары. На входе логического элемента триггера Шмитта появляется уровень "логической единицы", а на его входе "логический ноль", что соответствует активному сигналу на входе RxD микроконтроллера.
При передаче информации в линию связи уровень "логического нуля" на выходе TxD (что соответствует активному состоянию выхода) ключ на транзисторе VT3 закрывается, а светодиод оптопары U2 открывается вследствие протекания тока через резистор R6. Это приводит к открыванию транзисторного ключа оптопары U2 и, соответственно к закрыванию ключа на транзисторах VT1 и VT2, что соответствует разомкнутому состоянию линии связи.
Исходя из вышеописанного принципа работы модуля гальванической развязки следует отметить, что передаваемые сигналы от контроллера в линию связи будут дублироваться на входе приемника (RxD) микроконтроллера. Это обстоятельство должно быть учтено при программной реализации протокола обмена микроконтроллера с машиной верхнего уровня.
3.6.2 Интерфейс последовательного канала связи ЭВМ
с контроллером
Последовательный интерфейс обычно используется для большинства периферийных устройств, таких как плоттер, удаленный принтер, мышь, внешний модем, программатор ПЗУ и т. д. До настоящего времени для последовательной связи IBM PC-совместимых компьютеров используются адаптеры с интерфейсом RS-232C (Recommended Standart 232 Version C) (новая ревизия - EIA-232D). Описание этого интерфейса было опубликовано Американской промышленной ассоциацией еще в 1969 году. Европейским аналогом RS-232 являются два стандарта, разработанные CCITT (Comite Consultatif Internationale de Telegraphique et Telephonique) - МККТТ (Международный консультативный комитет по телеграфии и телефонии): V.24 (механические характеристики) и V.28 (электрические характеристики). Сегодня эта организация носит название ITU-T. Хотя первоначально RS-232 был предназначен для связи центральной машины с терминалом, его простота и богатые возможности обеспечили ему более широкое применение. В современном IBM PC-совместимом компьютере может использоваться до четырех последовательных портов, имеющих логические имена соответственно COM1, COM2, COM3 и COM4. Базовые адреса портов и соответствующие прерывания приведены в таблице
Таблица
Обозначение | Диапазон адресов | Прерывание |
COM1 | 2F8h - 2FFh | IRQ4 |
COM2 | 3F8h - 3FFh | IRQ3 |
COM3 | 2E8h - 2Efh | IRQ10(IRQ2) |
COM4 | 3E8h - 3Efh | IRQ11(IRQ5) |
Следует обратить внимание на тот факт, что использование прерываний IRQ10 и IRQ11 для последовательных портов возможно только на плате ввода-вывода для PC/AT (двойной слот). В компьютере, совместимом с PC/XT, для этой цели можно задействовать только два прерывания (IRQ4 и IRQ3) или использовать, если возможно, прерывание IRQ2 или IRQ5.
В адресном пространстве IBM PC-совместимых компьютеров последовательный адаптер занимает восемь последовательных адресов, включая базовый. Однако через эти восемь адресов происходит обращение к 12 регистрам, которые программируются соответствующим образом (приложение ).
По существу, сердцем последовательного адаптера является микросхема UART (Universal Asynchronous Receiver/Transmitter - универсальный асинхронный приемопередатчик). В IBM PC и PC/XT для этой цели использовалась микросхема типа 8250. После того как в ней были обнаружены ошибки, появились ее версии с буквами A и B. Для PC/AT решено было применить микросхему 16450, которая превосходила по скорости 8250. Улучшенной версией UART 16450 стала микросхема 16550. В настоящее время обычно используется UART 16550A. Данная микросхема имеет 16-символьный буфер на прием и на передачу, и, кроме того, может использовать несколько каналов прямого доступа в память DMA (Direct Memory Access). Другая версия этой микросхемы - 16550AFN.
Стандарт передачи и приема использует высокие уровни сигналов до +/-15 В или +/-12 В. Уровень логического нуля соответствует напряжению +12В, а логической единицы - -12 В. При передаче микросхема UART преобразует параллельный код в последовательный и передает его побитно в линию, обрамляя исходную последовательность битами старта, останова и контроля. При приеме данных UART преобразует последовательный код в параллельный (опуская служебные символы).
Основным преимуществом последовательной передачи является возможность пересылки данных на расстояния 1000 метров. В простейшем случае для приема и передачи через последовательный порт необходимо только три сигнала : TxD (Transmit Data - Передача данных), RxD (Recevive Data - Прием данных) и GND (Ground - "Земля").
В IBM PC-совместимых компьютерах существует два основных типа кабелей для интерфейса RS-232 : 25-сигнальный, изначально предусмотренный стандартом RS-232, и 9-сигнальный, используемый в соответствии с EIA-232D. При использовании последовательного интерфейса одно из устройств выступает как DTE (Data Terminal Equipment - Оконечное оборудование данных), а другое как DCE (Data Communication Equipment - Оборудование для передачи данных). Различие между ними состоит в направлении используемых сигналов. То есть, если сигнал для DTE является входным, то для DCE этот же сигнал будет выходным и наоборот.
Электрические параметры сигналов RS-232C:
Входное напряжение ± 3V ¸±15V ;
Входное сопротивление 3kOm ¸ 7kOm ;
Входное напряжение при нагрузке
3¸7 kOm .. 7,5±2,5V.
3.6.3 Организация обмена по последовательному каналу
Протокол информационного канала реализуется при помощи программного обеспечения, зашитого в ПЗУ. Информационный канал придает передаваемому сообщению определенную форму и в соответствии с этой формой упаковывает сообщение при передаче и распаковывает при приеме.
Аналогичную задачу должно решать программное обеспечение абонента.
Сообщение - это оформленная по определенным правилам последовательность байтов, имеющих помимо функционально законченной смысловой части также признак начала и конца сообщения.
Для передачи данных составим протокол обмена между контроллером и ЭВМ по последовательному каналу.
Обмен терминал-контроллер: посылки состоят из 5-ти байт.
1-й байт:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 1 | X | X | X | X | X | X |
D7-D6 - признак старт-байта;
D5-D0 - поле команды.
2-й и 3-й байт:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | 0 | X | X | X | X | X | X |
D5-D0 - 6 битов поля данных.
4-й байт:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | 0 | X | X | X | X | X | X |
D5-D2 - 4 младших бита старшего байта контрольной суммы (D3-D0);
D1-D0 - 2 старших бита младшего байта контрольной суммы (D7-D6).
5-й байт:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | 0 | X | X | X | X | X | X |
D5-D0 - 6 младших битов младшего байта контрольной суммы.