Выключатель для шины USB » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Выключатель для шины USB
    Автор публикации: alex Просмотров: 7087 Добавлен: 23-07-2012, 00:22 Комментарии: 0

         Тем, кто занимается разработкой USB-устройств, наверняка приходится при отладке многократно вынимать и вновь вставлять в разъем USB кабель, соединяющий устройство с компьютером. Это приводит к износу контактов USB разъемов устройств и кабеля. Было-бы гораздо удобнее включать и отключать устройство посредством кнопки.  Механические выключатели в данном случае неприменимы по нескольким причинам, в частности из-за неизбежного дребезга их контактов.
         К такому-же выводу пришел ранее и Райнер Ройш - автор статьи об аналогичном по функционированию выключателе, опубликованной в журнале Elektor Electronics №7-8 (2009), стр. 64. Однако, в его выключателе управление сигнальными шинами USB осуществлялось низкочастотными ключами серии 4000 и управление их включением и отключением производилось двумя раздельными механическими переключателями. Кроме того, сигнальные шины USB подключались к устройству одновременно с питанием. Как известно, при подключении USB устройства геометрия разъема USB обеспечивает подачу питания на него до подключения сигнальных шин. Отключение устройства производится в обратном порядке. Для некоторых USB устройств это может быть существенно.   
         С учетом указанных недостатков оригинальный выключатель был переработан под иную элементную базу и логику работы. Включение и отключение устройства к шине USB в предлагаемом выключателе производится одной кнопкой с индикацией состояния светодиодом. Подключение сигнальных шин D+ и D- по нажатии кнопки происходит с задержкой около 200 мсек после подачи питания на потребитель. При повторном нажатии на кнопку отключение питания производится с той-же задержкой после отключения шин D+ и D-. Это позволяет иммитировать процесс подключения/отключения USB устройства к шине без его физического удаления/вставки в разъем. Для исключения коммутации подключенного USB устройства при случайном нажатии на кнопку введена задержка на время около 3 секунд. Таким образом, для коммутации USB устройства кнопка должна удерживаться в нажатом состоянии несколько секунд. Я пользуюсь описанным здесь выключателем на протяжении уже более 2 лет и не раз мысленно благодарил Райнера за его идею.
         Выключатель соединяется с компьютером (или хабом) через USB кабель, подключаемый к разъему J1 типа USB-B. Ведомые USB устройства подключаются к нему через разъем J2 типа USB-A.  Сигнальные шины D+ и D- коммутируются электронными ключами U1 и U2, а питание - МОП транзистором Q1. Последний не нагреваясь коммутирует нагрузку до 1А. Работа при больших токах не проверялась, т.к. стандартом USB предполаается подключение устройств потребляющих не более 500 мА.
         

         Логика работы устройства обеспечивается микроконтроллером (МК) U3, который помимо упомянутых выше функций устраняет влияние дребезга контактов кнопки. Кнопка подключена к входу МК через подтягивающий резистор внутри МК. При ожидании нажатия кнопки МК переводится в спящий режим, что минимизирует токопотребление устройства. Резисторы R1 и R2 обеспечивают отключение ведомого устройства от шины USB после подачи питания на схему вплоть до того, как МК инициализируется и установит напряжения логической 1 и нуля на выводах 1 и 3, соответственно. Полоса пропускания сигнальных ключей U1 и U2 достаточна для работы подключаемого USB устройства в режиме Full Speed (скорость обмена данными до 12 Мбит/сек).
         Выключатель собран на печатной плате, установленной в корпус 1551H фирмы Hammond. Файл печатной платы для системы Eagle прилагается. Первым делом на плате следует устанавливить МК и запрограммировать его внутрисхемно, временно подпаяв провода от программатора к дорожкам печатной платы. На плате имеются 3 проволочные перемычки, показанные синим цветом в файле платы. Программа МК написана на языке ассемблера и отлажена в системе MPLAB, которую можно скачать с сайта www.microchip.com . Исхoдный текст программы и загрузочный HEX файл прилагаются.
         

         


    Файлы в архиве:
    Исходный текст программы + HEX
    Файл платы для Eagle

    otklshusb.rar [6,85 Kb] (cкачиваний: 288)

    Категория: Компьютер, PIC10
    « Назад
    Комментарии