Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Микроконтроллеры PIC фирмы Microchip для начинающих выпуск №23


РАССЫЛКА Микроконтроллеры PIC фирмы Microchip для начинающих
Ведущий: Алексей (pont_a@mail.ru)


Доброго времени суток, дамы и господа!!

Спасибо Вам, что дождались меня из отпуска! Приветствую всех!
Продолжаем рассматривать периферийный модуль USART!  Как я и обещал в предыдущем выпуске, сегодня будем рассматривать RS-232 с точки зрения аппаратной части!   

Ранее, мы уже изучали, что микроконтроллер содержит встроенный аппаратный блок UART, который реализует приём и передачу байтов в последовательном формате. Однако, амплитуда входного и выходного сигналов при этом, соответствует уровням TTL (грубо скажем, 0В – логический ноль, 5В – логическая единица). Для того чтобы разрабатываемое устройство можно было подключить по последовательному интерфейсному каналу к другому устройству или компьютеру, необходим приёмопередатчик (Driver/Receiver) того интерфейса, по которому Вы хотите работать. Это, например, может быть RS-232 или, не менее популярный RS-485.
Рассмотрим подключение для интерфейса RS-232.
В качестве приёмопередатчика выберем ADM232, это аналог MAX232 стандарта, де-факто, при построении интерфейса RS-232. Эта микросхема имеет 2 драйвера линии и 2 приёмника. Есть также модификации микросхемы, которые имеют большее количество драйверов и приёмников, но в данном случае нам достаточно одного драйвера для линии TD и одного приёмника для линии RD.
Схема подключения приведена на рисунке. Собственно, схема взята из datasheet на микросхему ADM232. Программа, написанная нами в предыдущем выпуске рассылки, применима к данной электрической схеме. 

Схема подключения приемопередатчика RS-232

Линии RTS и CTS заведены в микроконтроллер, но аппаратно они не обрабатываются. Поэтому, если необходимо управлять этими линиями, то нужно писать дополнительный код в программе микроконтроллера, который будет ими управлять.
Микросхема содержит преобразователь напряжения на конденсаторах из 5В в 10В и из 10В в -10В. Эти напряжения нужны для формирования стандартных уровней в интерфейсе RS-232.
Обратите внимание на цоколевку разъёма DB-9P. Это "мама", в компьютере "папа" (кто не понимает, что за тип разъема «мама» или «папа» объясняю: «мама» - разъем с отверстиями (розетка), «папа» - разъем со штырьками (вилка)). Кабель, для подключения нашего устройства, должен быть прямой (не нуль-модемный). Т.е. 2-ой контакт разъёма на компьютере должен идти ко 2-ому контакту нашего устройства, 3-ий к 3-ему и т.д.
Если бы мы поставили "папу", как в компьютере, то и цоколевку должны бы были, соответственно, сделать тоже, как в компьютере, а кабель применить нуль-модемный, где линии перекрещиваются. Перекрест делается для того, чтобы передатчик первого абонента работал на приемник второго абонента. А передатчик второго – на приемник первого.


Для справки. Цоколевка  разъёма DB-9 и схемы распайки кабелей.


Распиновка разъема DB-9


Назначение контактов разъёма COM-порта компьютера:

COM-порт

DB-9S (папа)

Описание

Вход/Выход

1

DCD

Data Carrier Detected - обнаружение несущей

вход

2

RD

Receive Data - принимаемые данные

вход

3

TD

Transmit Data - передаваемые данные

выход

4

DTR

Data Terminal Ready - готовность терминала

выход

5

PG

Signal Ground - сигнальная земля

-

6

DSR

Data Set Ready - готовность данных

вход

7

RTS

Request To Send - запрос на передачу

выход

8

CTS

Clear To Send - готовность к приему

вход

9

RI

Ring Indicator - индикатор вызова

вход

Примеры распайки кабелей.

Нуль-модемный кабель:

Нуль-модемный кабель

Прямой кабель:

Прямой кабель

В следующем выпуске, начнем рассматривать аналого-цифровой преобразователь микроконтроллера PIC18F452.
 
Полный архив рассылки Вы можете прочитать на нашем сайте!  При любом опубликовании текстов данной рассылки ссылка на сайт http://www.2aplusa.ru обязательна!

Желаю Вам удачи! До скорой встречи!


С уважением, Алексей pont_a@mail.ru
Cайт разработчиков 2AplusA http://2aplusa.ru


В избранное