Связь программатора между компьютером и чипом через интерфейс RS232



 

Последовательный интерфейс RS232, разработанный более 25 лет назад для компьютеров (в основном для их связи с модемами до сих пор не утратил своего коммуникационного назначения. Даже сейчас, в связи с появлением множества других последовательных интерфейсов, обладающих несомненными преимуществами перед этим интерфейсом (например, интерфейсов USB, RS485, RS422, применяемых в компьютерах, и PC, CAN, SPI, применяемых в микроконтроллерах), интерфейс RS232, похоже, не скоро уйдет в разряд «отставников». Такое положение, на первый взгляд, может показаться странным, особенно из-за недостатков RS232, «глюков» и т.п. Однако следует учесть, что это едва ли не единственное средство связи между компьютером и микроконтроллером, аппаратно присутствующее и в первом и во втором. Во всяком случае, косвенным подтверждением исключительности интерфейса RS232 может служить тот факт, что в современных персональных компьютерах RS232 интегрирован в материнскую плату. Что касается микроконтроллеров, то сейчас трудно найти такой микроконтроллер, в котором бы аппаратно не присутствовал хотя бы один интерфейс RS232 (иногда их бывает и два).

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

Обмен информацией между компьютером и периферийным устройством по интерфейсу RS232 двусторонний, т.е. данные могут передаваться компьютером в периферийное устройство и приниматься компьютером от периферийного устройства.

В компьютере предусмотрен специальный разъем, называемый коммуникационным (СОМ); иногда их бывает два (СОМ1 и COM2) или более. К разъему подключается кабель, соединяющий компьютер с периферийным устройством. В кабеле находятся несколько проводов, которые называют линиями интерфейса. Термин «линия» достаточно условен, так как английское слово line, которому он соответствует, имеет более широкое значение.

На практике чаще всего используются три скорости обмена: 9600, 115200 и (реже) 57600 бод.

Контакты разъемов интерфейса RS232 в компьютере.

В компьютере могут присутствовать как 25-штырьковый (DB25), так и 9-штырьковый (DB9) разъемы RS232. Ниже приведены названия сигналов и соответствующие им номера контактов обоих типов разъемов. Как видно из таблицы 1, разъем содержит контакты как входных линий, так и выходных.

 


Таблица 1 – Названия и функциональные назначения выводов порта RS232

Номер контакта

Название сигнала

Расшифровка

Тип линий

DB25 DB9
2 3 TxD Transmitter Data – передатчик данных Выходная
3 2 RxD Receiver Data – приемник данных Входная
4 7 RTS Request To Send – запрос передачи Выходная
5 8 CTS Clear To Send – сброс передачи Входная
6 6 DSR Data Set Ready – готовность данных Входная
7 5 SG Signal Ground – сигнальная земля -
8 1 DCD Data Carrier Detect – обнаружение несущей Входная
20 4 DTR Data Terminal Ready – готовность терминала Выходная
22 9 RI Ring Indicator – индикатор звонка Входная

 

Основными линиями, по которым осуществляется обмен данными, являются две: TxD – линия, по которой из компьютера передаются данные во внешнее устройство, и RxD – линия, по которой компьютером принимаются данные из внешнего устройства.

Линии DTR и RTS являются выходными. Это означает, что уровнями сигналов на этих линиях можно управлять, устанавливая биты соответствующих регистров в нуль или единицу программным способом. Линии CTS, DSR, DCD и RI являются входными. Это

означает, что состояния этих линий можно проверять (т.е. выяснять, в каком состоянии – нулевом или единичном они находятся), читая соответствующие регистры состояний и выделяя соответствующие биты.

Необходимо отметить следующие свойства линий TxD и RxD.

Линия TxD является выходной. Помимо того, что по ней передаются данные, в отсутствие передачи состоянием этой линии можно также управлять программно, т.е. устанавливать в единичное или нулевое состояние. Линия RxD является входной. Однако прочитать состояние этой линии (как линий CTS, DSR, DCD и RI) при отсутствии передачи нельзя.

Кроме того, заметим, что линии DTR, RTS, CTS, DSR, DCD и RI называют еще линиями квитирования (иногда модемными, так как они используются в модемах). Существует как множество алгоритмов обмена по RS232, в которых эти линии (или некоторые из них) используются, так и множество алгоритмов обмена, в которых эти линии не используются вообще (задействованы только линии RxD и TxD).

В микроконтроллере обмен по интерфейсу RS232 осуществляется по линиям TxD (передатчик) и RxD (приемник). Уровни напряжения на этих линиях соответствуют стандартным (цифровым) уровням напряжения микроконтроллера. Это означает, что уровень напряжения логической единицы соответствует напряжению питания микроконтроллера C или 5 В), уровень напряжения логического нуля – нулевому напряжению (или «земле»). Обычно уровни напряжений питания и земли называют TTL-уровнями, хотя в настоящее время это понятие значительно видоизменилось (с электрической точки зрения), а аббревиатура TTL транзисторная логика) давно утратила свой первоначальный смысл. Отметим, что для сопряжения со стандартными уровнями напряжения сигналов на линиях интерфейса RS232 (приблизительно равными ±10 В, как было указано ранее) необходимо использовать преобразователи уровней RS232.

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

 


Дата добавления: 2019-07-15; просмотров: 247; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!