8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 16 17 18 19 20 21 22 ... 55

Ко м il i.io I с р Микроконтроллер

11нформацни

Компьютер

Микроконтроллер

TxD DSR

RxD DTR

щ Снгедюнтация

RxD DTR

TxD DSR

TxD DSR

RxD DTR

Информация

Ошхронмзаиня

RxD DTR

TxD DSR

Рис. 6.1. Структурная схема передачи информации из компьютера в микроконтроллер

Рис. 6.2. Структурная схема передачи информации из микроконтроллера в компьютер

Компьютер

Микроконтроллер

Компьютер

Микроконтроллер

TxD

Информация

RxD

RxD

Синхронизация

TxD

TxD

Синхронизация

RxD

RxD

Информация

TxD

Рис. 6.3. Структурная схема передачи информации из компьютера в микроконтроллер

Компьютер

Микроконтроллер

TxD DSR

Информация

RxD TxD

Синхронизация

RxD

1

Рис. 6.5. Структурная схема передачи информации из компьютера в микроконтроллер, использующая для синхронизации DSR

Рис. 6.4. Структурная схема передачи информации из микроконтроллера в компьютер

При передаче информации из компьютера в микроконтроллер работают только следующие линии: TxD и DSR компьютера и RxD и DTR микроконтроллера. А линии RxD и DTR компьютера и TxD и DSR микроконтроллера не используются.

При передаче информации из микроконтроллера в компьютер все происходит с точностью до наоборот: работают линии TxD и DSR микроконтроллера и RxD и DTR компьютера. Линии RxD и DTR микроконтроллера и TxD и DSR компьютера не используются.

Сказанное иллюстрируется рис. 6.1 и рис. 6.2. Из рисунков, в частности, видно, что при передаче информации из компьютера в микроконтроллер связь между линией RxD компьютера и линией TxD микроконтроллера не используется, а при передаче информации из микроконтроллера в компьютер не используется связь линии RxD микроконтроллера с линией TxD компьютера.

Возможно ли задействовать неиспользуемые линии данных для синхронизации? В этом случае от связи между линиями DTR и DSR компьютера и микроконтроллера можно отказаться. Сказанное иллюстрируется рис. 6.3 и рис. 6.4. Как видно из рис. 6.3 и рис. 6.4, для синхронизации используются линии данных: TxD и RxD. Правомерно ли применять их для таких целей? Ведь синхро-60


низация (если проводить аналогию с линиями DTR и DSR) предполагает не передачу данных по этим линиям, а установку линии •00 в определенное состояние и чтение состояния линии RxD. Долено ли устанавливать линии TxD компьютера и микроконтроллера в определенное состояние и можно ли читать состояние линии RxD компьютера и микроконтроллера?

Что касается микроконтроллера, то, поскольку его линии RxD и TxD являются одновременно выводами порта рЗ.О и р3.1, а точнее, выводы порта рЗ.О и р3.1 обладают альтернативными функциями обмена по RS232 соответственно RxD и TxD, то в микроконтроллере все обстоит благополучно: вывод р3.1 (линию TxD) можно устанавливать в единичное и нулевое состояние (например, командами ассемблера: setb TxD, clr TxD или командами Си: TxD = 1, TxD = 0), а вывод рЗ.О (линию RxD) можно читать и анализировать (например, на ассемблере: jb RxD,... или jnb RxD,... и на Си: ifTxD = 0 ... или if TxD = 1 ...).

С компьютером дело обстоит несколько сложнее. Как было упомянуто при описании порта СОМ1 интерфейса RS232 компьютера, в регистре управления линиями (line control register), имеющем,адрес 3fbh, бит 6 предназначен для передачи сигнала BREAK. Это означает, что линию TxD компьютера программно (установив, либо сбросив бит 6 регистра 3fbh) можно установить в единичное либо нулевое состояние. Таким образом, при передаче информации в компьютер (рис. 6.4) все обстоит благополучно. А вот состояние линии RxD, как было упомянуто ранее, к сожалению, прочитать нельзя. Это означает, что при передаче информации из компьютера в микроконтроллер использовать схему, показанную на рис. 6.3, невозможно. Как же быть? К счастью, выход из создавшегося положения может быть найден достаточно простым способом.

Соединим линию RxD компьютера (см. рис. 6.3) с какой-либо входной линией квитирования, например DSR. Ее состояние (как и состояние любой входной линии квитирования) определить можно, читая и анализируя бит 5 регистра состояния модема (modem status register), имеющего адрес 3feh. Схема такого соединения показана на рис. 6.5. Из рис. 6.5 видно, что вышеуказанную синхронизацию можно обеспечить, читая и анализируя состояние линии DSR. При передаче информации из микроконтроллера в компьютер состояние линии DSR не имеет никакого значения. Ввод информации должен происходить стандартным образом (т.е. в компьютер просто вводится байт из регистра данных, имеющего адрес 3f8h по линии RxD).


6.2.2. Аппаратные средства протокола обмена

Таким образом, приходим к достаточно простой схеме обмена информацией между микроконтроллером и компьютером, показанной на рис. 6.6. Из рис. 6.6 можно увидеть, что "аппаратная" синхронизация возможна даже при соединении компьютера с микроконтроллером всего по двум линиям (не считая линии заземления SG). Здесь следует сделать некоторое уточнение. Если при сопряжении компьютера с микроконтроллером используется гальванически изолированный интерфейс RS232 (см., например, рис. 4.6 или рис. 4.9), то, естественно, никакой "общей земли" не требуется, поэтому линия SG показана пунктиром.

Необходимо еще добавить следующее. При таком способе сопряжения микроконтроллера с компьютером, поскольку используются всего две информационные линии, требуется всего два преобразователя уровней RS232 (если используется общее заземление), а при использовании гальванических развязок — их тоже должно быть две.

Помимо информационных связей компьютера с микроконтроллером, как уже ранее упоминалось (см. рис. 2.1), требуется еще как минимум одна связь микроконтроллера с компьютером: микроконтроллер нуждается в запуске и остановке. Если программа в микроконтроллере уже есть, то, как видно из рис. 2.1, сигнал

Компьютер

Микроконтроллер

TxD RxD DSR

SG

Информация/синхронизация

Информация

Синхронизация

Информация/синхронизация

Информация/синхронизация

RxD TxD

SG

Рис. 6.6. Структурная схема обмена информацией компьютера с микроконтроллером по RS232

Компьютер

IbKJrapMauWciiHxpOHinailHfl

TxD

RxD DSR DIR

SG

информация

Синхрон! пяция

Преобразовав ели уровнеП RS232

ГЬк]юрма1п 1н/с1тхрон гзания

Микро ко нтро ллер

» Приемннк}-Н №редатшк**

1Ъфо]]иаиня/с11нхронизяи11Я

Прнемннк-

RxD TxD

RESET SG

Рис. 6.7. Функциональная схема сопряжения компьютера с микроконтроллером для реализации алгоритма обмена



0 ... 16 17 18 19 20 21 22 ... 55