www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Архив статей и поиск
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(500000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Викторина онлайн
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Голосования
Карта сайта

ДИАГРАММА
© 2000-2022

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

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

Преобразователь 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

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

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

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Регуляторы тембра, громкости

журналы Радиолюбитель (годовые архивы)

книга Электрические сети повышенной частоты. Львов А.П., 1981

книга Радиолюбительские конструкции. Указатель описаний. Смирнов А.Д., 1983

статья Изготовление малогабаритного сварочного трансформатора

статья Что такое жесткая вода?

сборник Архив схем и сервис-мануалов мобильных телефонов Mitsubishi

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

Имя:


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


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

[lol][cry][!][?]




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