Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Преобразователь USB-COM-LPT на микроконтроллере

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Компьютеры

Комментарии к статье Комментарии к статье

В статье приводится описание простого преобразователя, позволяющего соединять периферийные устройства, оснащенные интерфейсом LPT, с компьютером, имеющим только интерфейс USB. Преобразование ведется в два этапа - специализированная микросхема преобразует USB в COM (RS-232), а затем микроконтроллер преобразует СОМ в LPT. Поскольку компьютер в данном случае ведет обмен информацией через виртуальный СОМ-порт, взаимодействовать через предлагаемый преобразователь с внешним LPT-устройством смогут только программы, разработанные или переделанные с учетом этой особенности. Для всех остальных потребуется подключить к операционной системе специальный программный драйвер, который только предстоит разработать.

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

Для разрешения этой проблемы предлагается преобразователь, использующий недорогие и доступные электронные компоненты и имеющий открытую архитектуру для разработки собственных программ. Наличие в нем микроконтроллера позволяет при необходимости разработать любой необходимый протокол обмена информацией между компьютером и подключенным через преобразователь устройством.

На рисунке изображена схема преобразователя. Информация, передаваемая через разъем Х1 по интерфейсу USB, преобразуется с помощью микросхемы CP2103-GM [1] в формат последовательного интерфейса RS-232. Она же выполняет обратное преобразование. Выводы управляющих линий интерфейса RS-232 этой микросхемы соединены перемычками, соответствующими постоянной готовности к обмену информацией. Выводы TXD и RXD соединены соответственно с информационными входом и выходом встроенного UART микроконтроллера ATmega8515-8AC [2]. Разъем Х2 предназначен для внутрисхемного программирования микроконтроллера.

Преобразователь USB-COM-LPT на микроконтроллере

Работая по программе, загрузочные коды которой приведены в таблице, микроконтроллер обрабатывает поступающие на вход встроенного UART команды компьютера. Выполняя их, он формирует на своих выводах и подключенных к ним контактам разъема ХЗ выходные сигналы порта LPT и принимает входные сигналы этого порта. Программа написана на языке С в среде разработки CodeVision.

Согласно разработанному автором и заложенному в программу микроконтроллера протоколу обмена информацией, компьютер должен посылать в преобразователь двух- или трехбайтные команды. Младший разряд первого байта команды задает направление передачи информации: О - из компьютера в преобразователь (запись); 1 - в обратном направлении (чтение). Следующий разряд определяет адресное пространство: 0 - регистр порта LPT; 1 - энергонезависимая память данных микроконтроллера. Шесть старших разрядов первого байта пока не используются. Второй байт команды содержит адрес регистра или ячейки памяти, который может лежать в интервале 0-255. Третий байт присутствует только в командах записи и содержит код, предназначенный для занесения в регистр или ячейку памяти. В ответ на двухбайтную команду чтения преобразователь передает в компьютер один байт - содержимое запрашиваемого регистра или ячейки памяти. Инициатором пересылки информации в любом направлении всегда является компьютер.

Преобразователь USB-COM-LPT на микроконтроллере

Возможность читать из EEPROM микроконтроллера и записывать в него информацию хотя и не требуется для рассматриваемого применения, но пригодится для развития и совершенствования выполняемых преобразователем функций. Например, чтобы записать в EEPROM микроконтроллера по адресу 0x01 байт 0x5F, компьютер должен послать через виртуальный СОМ-порт последовательность из трех байтов: 0x03, 0x01, 0x5F. А для чтения данных по тому же адресу достаточно команды из двух байтов: 0x02, 0x01. В ответ на нее преобразователь передаст байт, прочитанный из указанной ячейки EEPROM.

Как известно, с точки зрения программиста, порт LPT в обычном (не ЕРР или ЕСР) режиме работы состоит из трех регистров: данных (DR), состояния (SR) и управления (CR). Адрес регистра DR совпадает с базовым адресом порта, адреса регистров SR и CR больше соответственно на одну и две единицы. Такая структура порта LPT реализована и в предлагаемом устройстве. Полностью сохранено и назначение разрядов всех регистров. Это позволяет с минимальными затратами перерабатывать созданные ранее компьютерные программы для работы с описываемым преобразователем.

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

UART микроконтроллера программа настраивает на работу в асинхронном режиме со скоростью 115200 Бод при восьми информационных (без контроля четности) и одном стоповом разряде. Аналогичным образом должен быть настроен виртуальный порт СОМ компьютера. Имеются подпрограммы приема (UART_RXD) и передачи байта (UART_TXD) через UART, а также подпрограммы для записи (WRLPT) и чтения RD_LPT регистров порта LPT и ячеек энергонезависимой памяти (WR_EEPROM и RD_EEPROM).

Для максимальной совместимости с LPT предусмотрены маски регистров MaskSR и MaskCR. При выводе информации на линии портов микроконтроллера, соединенные с разъемом ХЗ, или ее вводе с этих линий выполняется автоматическая инверсия определенных разрядов регистров SR и CR с помощью упомянутых масок и логической операции XOR (исключительное ИЛИ).

Исходный текст программы снабжен подробным комментарием, что позволяет разобраться в ней без особого труда.

Для обеспечения работы с преобразователем необходимо установить в компьютере программный драйвер виртуального СОМ-порта, обеспечивающий обмен информацией с микросхемой СР2103. Этот драйвер свободно доступен на сайте производителя этих микросхем по адресу silabs.com/public/documents/software_doc/drivers/Microcontrollers /lnterface/en/CP210x_VCP_Win2K_XP _S2K3.exe.

Для проверки преобразователя можно использовать самые разнообразные тестовые и отладочные программы, позволяющие работать с СОМ-портом, если в них нет прямых обращений к регистрам этого порта, как это обычно делалось в DOS и Windows9X/Me. Такие обращения необходимо заменить функциями работы с портом (например, CreateFile, Get-CommConfig, SetCommConfig, Read-Corn, WriteFile), предоставляемыми операционной системой.

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

На случай "зависания" микроконтроллера в программе задействован сторожевой таймер, который перезапустит микроконтроллер при возникновении такой ситуации. Это повышает устойчивость работы преобразователя даже при работе в условиях сильных помех.

Полный комплект файлов проекта программы микроконтроллера можно скачать здесь.

Литература

  1. СР2103 - Single-Chip USB to UART Bridge. - silabs.com:80/public/documents/tpub_doc/ dsheet/Microcontrollers/Interface/en/cp2103.pdf
  2. ATmega8515, ATmega8515L - 8-bit Microcontroller with 8K Bytes In-System Programmable Flash. - atmel.com/dyn/resources/prod/documents/doc2512.pdf

Автор: О.Вальпа, г. Миасс Челябинской обл.; Публикация: radioradar.net

Смотрите другие статьи раздела Компьютеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Расставание действительно может причинять физическую боль 16.09.2026

Разрыв отношений с близким человеком способно вызывать настолько сильные переживания, что привычное выражение "разбитое сердце" иногда воспринимается почти буквально. Человек может испытывать тревогу, тоску и эмоциональное напряжение, сопровождающиеся вполне реальными телесными ощущениями. Исследования работы мозга показывают, что такая связь между эмоциональными и физическими страданиями может иметь вполне определенную нейробиологическую основу. Эксперимент, позволивший изучить этот вопрос, провела команда психолога Итана Кросса из Мичиганского университета. В исследовании участвовали 40 человек, недавно переживших расставание по инициативе партнера. Все добровольцы продолжали остро реагировать на произошедшее, что позволило исследователям изучить мозговую активность в период наиболее сильных переживаний. Во время эксперимента участников помещали в аппарат магнитно-резонансной томографии. Испытуемым поочередно показывали фотографию бывшего партнера и подвергали предплечье воздей ...>>

Научно доказана невозможность создания нейтринного лазера 16.09.2026

Лазер давно перестал быть исключительно лабораторной технологией: сегодня он используется в связи, медицине, промышленности и научных исследованиях. Поэтому физики периодически предлагают необычные варианты устройств, способных работать по аналогичным принципам, но с другими типами частиц. В 2025 году появилась идея создать лазер, формирующий направленный поток нейтрино. Однако последующий теоретический анализ показал, что привлекательная на первый взгляд концепция сталкивается не просто с техническими трудностями, а с фундаментальными законами квантовой физики. Первоначальную концепцию предложили профессор Массачусетского технологического института (MIT) Джо Формаджио (Joe Formaggio) и Бен Джонс (Ben Jones) из Техасского университета в Арлингтоне. Согласно их замыслу, облако радиоактивных атомов следовало охладить до сверхнизких температур порядка нанокельвинов - миллиардных долей кельвина. В таких условиях атомы могли бы сформировать Бозе - Эйнштейновский конденсат, особое квантов ...>>

Индекс нижнего белья раскрыл состояние швейцарских почв 15.09.2026

Почва кажется обычной частью окружающего нас ландшафта, однако под ее поверхностью существует сложная экосистема, от состояния которой напрямую зависит жизнь человека. Миллиарды микроорганизмов, черви, грибы и другие обитатели почвы перерабатывают органические вещества и участвуют в круговороте питательных элементов. Чтобы привлечь внимание общества к этой мало заметной проблеме, исследователи из Цюрихского университета придумали весьма необычный эксперимент: они закопали более 2000 пар хлопкового нижнего белья в садах, на лугах, полях и газонах по всей Швейцарии. Проект получил название "Доказательство в виде нижнего белья" и представлял собой не массовую шутку, а научный эксперимент, позволяющий наглядно оценить биологическую активность почвы. Исследователи помещали хлопковые изделия в землю, а примерно через два месяца извлекали их и сравнивали степень разрушения ткани. Некоторые образцы за это время практически исчезали, оставляя лишь отдельные фрагменты швов, тогда как на други ...>>

Случайная новость из Архива

Электрический самолет Elysian Elysian E9X 31.01.2024

Нидерландская компания Elysian представила амбициозный проект полностью электрического пассажирского самолета, который намерена выпустить в производство в течение ближайших десяти лет.

Проект Elysian E9X открывает новую эпоху в авиации, предлагая решение для экологически более чистых и эффективных воздушных перевозок. Развитие электрических самолетов может сыграть важную роль в сокращении выбросов углерода и обеспечении устойчивого развития воздушного транспорта.

Электрический самолет, названный Elysian E9X, рассчитан на перевозку 90 пассажиров на одном заряде аккумуляторных батарей на расстояние до 800 километров. В будущем, разработчики планируют увеличить его дальность до 1000 километров.

Компания Elysian начала свой проект совместно с исследователями из Делфтского технического университета, которые утверждают, что разработка электрического самолета возможна при достижении прорыва в области аккумуляторных технологий.

E9X не будет первым электрическим пассажирским самолетом, который взлетит в небо к моменту запланированного запуска в 2033 году. Первым в этом ряду был самолет Eviation Alice, способный перевозить девять пассажиров и двух членов экипажа.

Другие интересные новости:

▪ Первый советский метеоспутник через 43 года после запуска сошел с орбиты

▪ Технология FreeSync - во всех мониторах Samsung Ultra HD

▪ Рюкзак на резинках

▪ Польза пивоварения

▪ Умные автомобильные часы Mercedes

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Истории из жизни радиолюбителей. Подборка статей

▪ статья Привил-таки классическую розу к советскому дичку. Крылатое выражение

▪ статья Какой советский автомобиль выпускался в том числе с правым рулем и автоматической коробкой передач? Подробный ответ

▪ статья Боцман береговой. Должностная инструкция

▪ статья Цифровой преобразователь частоты. Энциклопедия радиоэлектроники и электротехники

▪ статья S-метр и индикатор уровня выходной мощности для радиостанции Виола. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026