Метка «usb»

Делаем сеговский джойстик с USB - 1

Для того, чтобы собрать такой джойстик, нам понадобится сам джойстик от Sega MegaDrive-2 и USB клавиатура.
Читать полностью »

Введение

MIDI-контроллер — устройство, преобразующее определённый физический процесс в набор цифровых команд формата MIDI. Физическим процессом может являться всё, что угодно — от нажатия пальцем на клавишу до поворота ручки громкости. Полученный поток команд передаётся посредством протокола MIDI другим устройствам — компьютеру, аппаратным семплерам, синтезаторам или внешним секвенсорам и расшифровывается там определённым образом. Наиболее распространённым типом MIDI-контроллера является MIDI-клавиатура — электронный аналог клавиатуры фортепиано. Также существует множество других типов контроллеров, среди которых — электронные ударные установки.
Читать полностью »

Давно ко мне не попадало железо, настолько соответствующее моим представлениям об идеале, что об этом хотелось написать на хабр. Речь пойдет о 7-и портовом USB 3.0 хабе ORICO. Чуть ранее я писал, что получается когда китайцы по привычке делают копии — сегодня мы увидим, что может получится, когда китайцы делают оригинальный продукт. И то, как хорошо все получилось — удивляет и немного пугает (в том плане, что бизнес-модель «разрабатываем на западе — делаем в Китае» может подойти к концу). Забегая вперед, фотография:

Кратко об идеальном 7 и портовом USB 3.0 хабе ORICOЧитать полностью »

Недавно разгребал папки на Dropbox и наткнулся на свои первые поделки. Когда делал первые шаги с микроконтроллерами, почти сразу меня стали посещать мысли и идеи об управлении моими поделками с ПК, либо каким-либо образом с этим самым ПК общаться. Это казалось увлекательным и «серьезным». Сейчас я стараюсь все сразу тестировать в железе, но в начале наступать на грабли и стрелять себе в ногу хотелось безболезненно и быстро. В этом мне неизменно помогал Proteus. Десятки раз пересобирая проекты было важно, чтобы можно было экспериментировать с комфортом, если так можно сказать. Это потом я уже купил фирменную отладку и что в Proteus, что в железе — все стало одинаково быстро.
В первую очередь мне хотелось попробовать UART и USB, а потом уже и Ethernet. Каждому желанию я придумывал свой «проект». Многие идеи так и остались в виде проекта для Proteus — идея надоедала сразу после реализации программной части.
Надеюсь, данный пост поможет всем, кто хотел попробовать сделать свое USB устройство или просто увидеть, что это все не так сложно; более того, мне хотелось, чтобы можно было попробовать сразу в симуляторе. Рассказать как новичок для новичка — чтобы захотелось открыть гугл и начать читать, чтобы сделать больше, узнать лучше.
Я не буду рассказывать о регистрах, режимах. Я сомневаюсь, что это поможет зажечь огонь в глазах. Возможно, кто-то захочет сделать что-то полезное для себя и у простых примеров больше шансов затянуть в это крайне увлекательное творчество (а для меня уже практически наркотик). А прежде чем бежать на ebay или начинать считать дни с момента отправки отладочной платы из Китая, можно попробовать свои силы в виртуальном микроконтроллере.
Я хотел бы попробовать сделать два своеобразных hello world проекта, которые, тем ни менее, не сильно сложнее стандартного LED blinking. Под катом много изображений.
Читать полностью »

Не так давно выиграл проект на Elance — сделать простое WinForms приложение на Visual Basic, которое будет отображать данные с весов Mettler Toledo PS60.
К счастью, данные весы являются HID-устройством, подключаемом по USB.
В этом посте я опишу как работать с подобными HID устройствами в Visual Basic (да и вообще в .Net)

Читать полностью »

Альянс USB 3.0 Promoter group анонсировал появление в середине следующего года новой спецификации USB Type-С. Из ключевых особенностей:

— Можно подключать любой из сторон (наконец то! и привет Lightning)
— Меньший размер (сопоставим с MicroUSB)
— Маштабируемая зарядка (насколько я понимаю, шина сама будет определять потребный устройству ток, и регулировать напряжение)

И да, самое главное: новый разъем не будет совместим с существующим. Картинок, извините, не будет – его дизайн еще не нарисован.

Читать полностью »

image

Имеем в наличии гермозону на 4 ряда с 16-тью открытыми стойками в каждом ряду.
Схема кондиционирования: горячие-холодные коридоры, внутренние кондиционеры с внешними испарителями, 3 кондиционера на ряд, то есть 6 кондиционеров на холодный коридор.

Задача: построить систему мониторинга температуры гермозоны с возможностью предупреждения выхода кондиционеров из строя.

Для решения данной задачи решено было использовать сеть 1-wire температурных датчиков и систему мониторинга Zabbix 2.
Читать полностью »

Поддержка USB в KolibriOS: что внутри? Часть 6: драйвер хабовПоследняя часть инфраструктуры USB — хабы. Хотя хабы — отдельные USB-устройства, они достаточно тесно связаны с другими частями инфраструктуры, чтобы спецификация хабов была частью основной спецификации USB, а код поддержки — частью ядра, расположенной в файле bus/usb/hub.inc.

Задачи хабов таковы.

  • Хабы предоставляют питание всем подключённым устройствам.
  • Хабы оповещают хост о подключении и отключении устройств.
  • Хабы делают сброс подключённого устройства, попутно определяя его скорость, по команде с хоста.
  • Хабы транслируют весь трафик, приходящий от хоста, подключённым устройствам в период после сброса и до отключения, а также трафик от устройств в обратную сторону.
  • HighSpeed-хабы содержат Transaction Translator, связывающий HighSpeed-шину с низкоскоростной USB1-шиной.

Трансляция трафика без переключения скорости происходит полностью прозрачно для хоста. Расщеплёнными транзакциями занимается хост-контроллер EHCI, здесь от софта важно только заполнить те поля в аппаратной части структуры канала, которые содержат адрес TT-хаба и порт в TT-хабе — и, разумеется, учитывать время транзакций при планировании. Драйвер хабов управляет остальными пунктами списка задач.

Поддержка USB в KolibriOS: что внутри? Часть 6: драйвер хабов

Хабы имеют код класса устройства 9, код подкласса устройства 0 и три варианта 0, 1, 2 для кода протокола. Согласно спецификации USB, HighSpeed-хаб обязан поддерживать режим работы с единым TT для всех своих портов, и дополнительно может, но не обязан, поддерживать режим работы с отдельным TT для каждого порта. Типичный случай — режим с различными TT отсутствует, тогда код протокола равен 0. В случае поддержки такого режима в данных конфигурации должны быть два варианта дескриптора интерфейса с одинаковым номером интерфейса. Тогда код протокола 1 идентифицирует режим с единым TT, который должен быть принят по умолчанию, а код протокола 2 — режим с различными TT, включаемый командой SET_INTERFACE. Существование в живой природе хабов, поддерживающих режим с различными TT, не подтверждено, как и польза от этого режима, поэтому драйвер хабов даже не пытается его обнаружить и включить и просто использует режим единого TT, включённый по умолчанию.

Обнаружив интерфейс класса 9, уровень логического устройства читает структуру usb_hub_callbacks, содержащую указатели на функции драйвера usb_hub_init и usb_hub_disconnect. Работа драйвера начинается, когда уровень логического устройства вызывает usb_hub_init, и заканчивается, когда уровень поддержки каналов вызывает usb_hub_disconnect в ответ на отключение устройства.
Читать полностью »

USB Power Delivery — новый стандарт, который заменит розетки"

Сейчас в современном мире информационных технологий без USB-кабеля просто не обойтись. Только представьте себе, как стало проще заряжать необходимые мобильные устройства, когда есть единый стандарт. В будущем планируется создать интерфейс, который использовался бы для питания более мощных, чем смартфоны и планшеты, устройств. USB Power Delivery – вот та технология, которую сейчас разрабатывают для обеспечения нужд всего человечества. Читать полностью »

Вскоре ноутбуки смогут использовать для зарядки USB порты
Появившаяся в Интернете информация указывает на то, что скоро можно будет зарядить ноутбуки через порты USB.
Что лежит в основе этого революционного решения?

Читать полностью »