Некоторое время назад мне в очередной раз потребовался USB-Serial адаптер. И не просто адаптер c RX/TX, а чтобы еще присутствовали управляющие сигналы. И не один UART, а несколько. И еще желательно, в виде одного композитного устройства, чтобы все это хозяйство не занимало больше одного USB-порта. Так и началась эта история...
Рубрика «composite device»
Полноценный трехпортовый USB-Serial адаптер на STM32 Blue Pill (STM32F103C8T6)
2020-11-27 в 10:26, admin, рубрики: arm-none-eabi, CDC, CMSIS, composite device, open source, Open Source Software, serial port, stm32, stm32f103, uart, usb, программирование микроконтроллеровМедиасистема для Toyota Prius (рестайл)
2018-04-20 в 16:30, admin, рубрики: carpc, composite device, USB-HID, микроконтроллеры, периферия, Программирование, программирование микроконтроллеров, схемотехника
Эта первая (вводная) статья серии о том, как я собираюсь доработать медиасистему автомобиля. Сам проект в процессе, времени, как и у всех — нет, поэтому, дорогие читатели, запаситесь терпением, ибо часто клепать статьи не обещаю.
А началось все с того, что у меня появился Prius.
И первое, что бросилось в глаза — проблемы с обновлением навигации. Следующее — весьма скудные, но местами необходимые возможности устройства с названием «Многофункциональный дисплей» (в простонародье — голова). И это на фоне огромного количества китайских радио с Android на борту, и множеством приятностей. Но их установка на штатное место подразумевает лишение таких «плюшек», как диаграмма распределения энергии и управление климатом.
Родилась идея как-то соединить Android магнитолу с автомобилем более плотно, чем предлагают братья-китайцы. Об этом и статья.
Читать полностью »
CDC+MSC USB Composite Device на STM32 HAL
2017-08-06 в 20:48, admin, рубрики: CDC, composite device, MSc, stm32, stm32 cube, stm32 hal, stm32f103, usb, программирование микроконтроллеров, системное программирование
Мне хотелось бы верить, что хотя бы половина читателей может расшифровать хотя бы половину названия статьи :) Кто не в курсе — поясню. Мое устройство должно реализовывать сразу две USB функции:
- Mass Storage Device (он же Mass Storage Class — MSC). Я хочу, чтобы мой девайс прикидывался обычной флешкой и отдавал файлики с данными, которые лежат на SD карте.
- Другая функция это виртуальный COM порт (он же в терминологии USB называется Communication Device Class — CDC). Через этот канал у меня идет всякий дебажный вывод, который удобно смотреть обычным терминалом.
В большинстве примеров по работе с USB реализуется только один тип устройства — флешка, мышка, кастомное HID устройство или виртуальный COM порт. А вот найти вменяемое объяснение как реализовать хотя бы две функции одновременно оказалось не так просто. В своей статье я хотел бы восполнить этот пробел.
Я буду описывать создание композитного USB устройства на базе микроконтроллера STM32, но сам подход будет также применим и для других микроконтроллеров. В статье я детально разберу каждый из классов по отдельности, так и принцип построения композитных устройств. Но обо все по порядку.
Итак, поехали!
Читать полностью »