Недавно пришлось снова подключать микроконтроллер к компьютеру по RS232, и пришлось сдунуть пыль со старых проверенных схем.
Известно, что основная проблема невозможности прямого подключения сигналов от COM-порта компьютера к UART микроконтроллера - несоответствие логических уровней 0 и 1, а также инверсия сигнала. Все эти проблемы призваны решать микросхемы типа MAX232, но такая микросхема не всегда бывает под рукой. Приведу две схемы, которые могут согласовать физические уровни сигналов и позволяют подключить микроконтроллер к компьютеру. Обмен данными при этом возможен в обе стороны. Эти схемы по сравнению с MAX232 имеют один существенный недостаток - для питания схемы без электрической развязки (создания отрицательного напряжения) используется выходной сигнал RTS компьютера (ножка 7 папы DB9), а для питания схемы с оптронной развязкой для получения положительного напряжения используется еще и выходной сигнал компьютера DTR (ножка 4 папы DB9).
[Схема без электрической развязки]
Эта схема проще. Здесь P3.0 - входной порт последовательного порта (RXD) микроконтроллера MCS51 (например, AT89C51), а P3.1 - выходной порт (TXD). Напоминаю, что каждый из портов имеет нагрузочный резистор внутри микроконтроллера номиналом в 51k. Кабель, отходящий от платы, имеет разъем мама DB9 и может напрямую подключаться к COM-порту компьютера. Чтобы схема заработала, программное обеспечение компьютера должно установить сигнал RTS порта COM в состояние лог. 1 (при этом на ножке 7 разъема DB9 образуется необходимое для питания схемы отрицательное напряжение -12..15 вольт).
Это еще одна схема без гальванической развязки, взята из платы AVR-IO-M16 компании Olimex. Схема примечательна тем, что не требует дополнительных сигналов для формирования отрицательного напряжения, чем повышается удобство использования - можно применить любое программное обеспечение, работающее с COM-портом, не обязательно самописное. Отрицательное напряжение получается с выхода выпрямителя D10C6, и его уровня достаточно для формирования вполне работоспособного выходного сигнала порта RS232. Все это сделано ценой незначительного усложнения схемы (по сравнению с предыдущей).
[Схема с оптронной развязкой]
У этой схемы большое достоинство в том, что отсутствует риск порчи COM-порта компьютера и/или схемы, в которой стоит микроконтроллер - из-за возможной разности потенциалов шасси компьютера и общего провода схемы микроконтроллера. Наименование сигналов, подписанных справа, относятся не к компьютеру, а к устройству с микроконтроллером. Для подсоединения нужен прямой кабель мама DB9 - папа DB9. Чтобы схема заработала, программное обеспечение компьютера должно установить сигнал RTS порта COM в состояние лог. 1 (при этом на ножке 7 разъема DB9 образуется необходимое для питания схемы отрицательное напряжение -12..-15 вольт), а сигнал DTR порта COM в состояние лог. 0 (при этом на ножке 4 разъема DB9 образуется необходимое для питания схемы положительное напряжение +12..+15 вольт).
[Полезные ссылки]
1. Схемы data-кабеля для мобильного телефона на основе MAX232. 2. Замечательная статья Алексея Кузьминова, "Современные аппаратные средства связи микроконтроллера с компьютером по интерфейсу RS-232" из журнала "Компоненты и технологии", №3, 4 и 5. 3. Замена MAX232. |