Подключение контроллера к компьютеру по RS-232 с помощью встроенного модуля USART

В данной статье приведена схема для организации двунаправленного обмена данными по интерфейсу RS-232 между контроллером и компьютером ( встроенный модуль USART <-> com-порт ), на примере микроконтроллера PIC16F628A.

Итак, модуль USART в PIC16F628A встроенный (реализован аппаратно), но контроллер работает с TTL уровнями (0, +5В), а интерфейс RS232 имеет уровни +5…+15В, -15…-5В, следовательно, нам нужен двунаправленный преобразователь уровней TTL <->RS232. Возьмем для этого стандартную, достаточно распространенную микросхему MAX232.

Схема:

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

Вот такая схемка. В общем-то, главное подключить GND, RX, TX. Это, соответственно, земля, линия приемника, линия передатчика. Как видите, приемник контроллера (RX) надо соединить с передатчиком компьютера (TxD), а передатчик контроллера (TX) с приемником компьютера (RxD).

Собственно, CTS и RTS можете, если хотите, не подключать, а можете использовать их по другому: CTS как DSR (тогда его надо будет подключить к DTR компьютера), а RTS как DTR (его надо будет подключить к DSR компьютера). Просто у MAX232 по два преобразователя в обе стороны, поэтому я решил соединить контроллер с компьютером еще по двум линиям, их можно использовать для аппаратного управления потоком. Остальные входы/выходы контроллера можете использовать по своему желанию, например, для управления светодиодами, подключения ЖКИ и т.д.

Важно: линии RX, TX следует подключать строго по схеме, так как именно на эти ноги выведен встроенный USART контроллера (на 7-ю ногу RX, на 8-ю ногу TX), а вот сигналы CTS, RTS можете подключить к любым другим входам/выходам (повторюсь, ко встроенному модулю USART они отношения не имеют, просто с ними можно потом аппаратный контроль сделать).

Детали: конденсаторы С1…С5 — 1 мкФ, конденсатор С6 — 0,1 мкФ, резистор R1 — 1 кОм.

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

Готовый девайс:

фото готового устройства

В даташите на MAX конденсаторы обвязки — электролиты. В устройстве на фотографии использовалась микросхема MAX232CSE с керамическими конденсаторами на 0,1 мкФ, — отлично работает (я вообще электролитов ни в одном "фабричном" устройстве на MAX232 не видел, зато видел много MAX232CWE и MAX232CSE с керамикой на 0,1 мкФ).

Иногда бывает очень удобно использовать преобразователь уровней RS232 <->TTL в виде отдельной платы (там же — более подробное исследование на тему возможных номиналов конденсаторов обвязки).

Потребляет схема не более 15 мА, так что, если у вас нет внешнего источника питания +5В, можно запитать ее прямо от разъема USB.

Пример программирования модуля USART

Скачать плату в формате Sprint-Layout 5.0. Плата разведена для SMD компонентов (кроме пика, конечно).

Добавить комментарий