Преобразователь интерфейса USB-RS232.

До недавнего времени практически все периферийные устройства подключались к компьютеру через последовательный - COM и параллельный - LPT порты. Но недалек тот день, когда эти порты исчезнут из стандартной конфигурации. Их неизбежно вытеснит универсальная последовательная шина - USB. Однако протокол обмена данными по USB сложен и реализовать его до недавнего времени было не под силу не только радиолюбителям, но и многим специалистам. Сегодня благодаря разработкам английской компании FTDI (Future Technology Devices International) появилась возможность преобразовать USB в "виртуальный" последовательный или параллельный порт, обмен данными с которым ведут привычными хорошо известными методами.

Предлагаемый преобразователь интерфейса USB-RS232 предназначен в первую очередь для работы с многофункциональным программатором. С его помощью, не внося никаких изменений ни в схему, ни в программное обеспечение, можно подключить программатор к компьютеру через USB, а не через COM порт. Но область применения этого преобразователя намного шире - через него можно подключить по шине USB модем, сканер, различную измерительную аппаратуру, т.е. фактически любое устройство, ранее использовавшее интерфейс RS-232. Причем пользователю не требуется никаких знаний об устройстве и работе USB. Поставляемые компанией FTDI программные драйверы создают впечатление, что обмен идет через обычный COM порт. Разумеется, это справедливо только в том случае, если программное обеспечение использует COM порт в стандартном режиме. Если линии порта используются нестандартно, как в популярном программаторе PonyProg, например, корректную работу виртуального порта гарантировать невозможно. И вины компании FTDI тут нет.

Схема конвертера USB-RS232

Принципиальная схема преобразователя интерфейса показана на рисунке. Его основа - микросхема DD1 FT8U232BM включена по стандартной схеме, рекомендованной изготовителем. DD3 и DD4 типа 74HC00 или (лучше) 74AC00, 1554ЛА3 служат для согласования уровней КМОР и RS232. Применение здесь TTL аналогов недопустимо. В этой схеме уровни сигналов интерфейса RS232 несколько отличаются от стандартных, но если длина кабеля не превышает нескольких метров проблем не возникает. Дело в том, что по стандарту уровень единицы должен быть в пределах +(3...12V), а уровень нуля -(3...12V). Однако, практически для всех современных интерфейсных микросхем граница между уровнями нуля и единицы находится в пределах +(1...2V). Для работы с программатором достаточно всего двух линий - RXD и TXD, но для подключения других устройств, например модема, могут потребоваться все сигналы интерфейса. Если необходимы стандартные значения уровней нуля и единицы RS232, эту часть схемы следует выполнить на SP213EНCA (Sipex), MAX213CAI (Maxim) или ADM213EARS (Analog Devices). Светодиоды HL1 и HL2 индицируют прием и передачу данных по USB. FB1 - ферритовая трубочка, надетая на проводник, для нее можно использовать трубочку от дросселя типа ДМ0,1.

Микросхему ЭСППЗУ DD2 AT93C46 можно не устанавливать. В ней хранятся идентификаторы изготовителя (VID) и персональный (PID), заводской номер изделия и другие данные. Это необходимо, если по USB с компьютером одновременно связаны несколько устройств на микросхемах FT8U232BM. Особенно важен серийный номер, так как программный драйвер полагается на его уникальность, ассоциируя тот или иной виртуальный COM-порт с конкретным устройством. Если ПЗУ отсутствует, к компьютеру можно подключить только одно образующее виртуальный COM порт устройство. Вместо AT93С46 можно использовать AT93C56 или AT93C66. Программируется ПЗУ непосредственно в устройстве с помощью специальной утилиты, поставляемой FTDI.

Чертеж печатной платы

Преобразователь интерфейса смонтирован на двухсторонней печатной плате размером 40x45мм. Вы можете загрузить чертеж этой платы usbrs232.lay в формате Sprint Layout 3.0. Фольга на второй стороне платы является общим проводом. Микросхема FT8U232BM выпускается только в 32-х выводном LQPF-корпусе с шагом 0,8мм для поверхностного монтажа. При ее распайке следует соблюдать особую аккуратность. DD3 и DD4 в корпусе SOIC, шаг выводов 1,27мм, DD2 в обычном DIP корпусе. DD1, DD3, DD4 устанавливаются со стороны монтажа, все остальные элементы монтируются традиционным способом. Резисторы R9...R21 распаиваются между выводами разъема DB9M и платой навесным монтажом.

Как показала практика, если при работе через реальный COM порт можно использовать практически любую терминальную программу, то при работе через виртуальный порт к выбору терминала следует отнестись более внимательно. Дело в том, что, например самый популярный Гипертерминал из Windows-98 при пересылке файлов загружает процессор на 100%. Самое интересное, что загрузка практически не зависит от частоты компьютера. Чтобы убедиться в этом достаточно запустить "Системный монитор". А ведь драйверы USB тоже требуют ресурсов процесссора. В результате скорость обмена резко падает.

Я протестировал несколько терминальных программ под Windows-98 и вот какие получил результаты. На последнем месте Гипертерминал, он пересылает файл объемом 75кб при скорости 57600 бод за 80 секунд. На пересылку этого же файла программе ZOC 4.05 требуется чуть более 20 сек. И только простенький Tera Term Pro 2.4 справляется с этой задачей за расчетные 15сек. При работе через реальный COM порт все эти программы выполняют пересылку за 15сек, но ZOC загружает процессор примерно на 30...40%, а Tera Term Pro - всего на 10%. Вот что значит алгоритм и мастерство программиста!

Полную информацию по микросхеме FT8U232BM, все необходимые утилиты и драйверы, а также много другой полезной технической и справочной информации можно найти на сайте компании FTDI.

Советую посетить сайт официального дистрибьютора FTDI - Института радиотехники в Екатеринбурге, где также можно найти всю необходимую информацию на русском языке и, самое главное, приобрести по вполне разумной цене (около 6USD + почтовые расходы) микросхему FT8U232BM.

Литература:

А.Лысенко Р.Назмутдинов И.Малыгин Преобразователи интерфейса USB на микросхемах FT8U232AM, FT8U245AM. Радио.-2002, №6, с.20-21; №7, с.36-37

mailto:ra4nalr@write.kirov.ru?subject=USB-RS232
http://www.kirov.ru/~ra4nalr
610016 Россия, г.Киров-16, а/я 1906 Хлюпин Николай Петрович