Вам потребуется добавить USB-устройство / периферийный контроллер к компьютеру, в отличие от хост-контроллера USB, к которому они обычно прилагаются.
Примерно так: https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3420E.html
К сожалению, вам нужно найти способ подключить его к материнской плате. Технически это можно сделать. Практически, вам придется изменить дизайн материнской платы, чтобы включить его. Возможно, вам повезет найти шину SPI или I2C, выставленную где-нибудь на вашей материнской плате, чтобы позволить вам добавить ее, но обычно они подключаются напрямую к тому, для чего они используются, если только вы не используете плату разработчика или одиночную плату. бортовой компьютер с открытым GPIO и другими портами, такими как Raspberry Pi.
Другим вариантом будет USB On-the-Go контроллер. Материнские платы, предназначенные для встраиваемых и переносных устройств, обычно имеют контроллер USB OTG (On-the-go), который может функционировать как контроллер хоста или устройства. Например, вышеупомянутый Raspberry Pi имеет контроллер On-the-Go, но на всех моделях, кроме Pi Zero, который подключается к хост-порту или встроенному USB-концентратору, что запрещает использование функциональности USB-устройства. У BeagleBone Black есть порт OTG.
Но это еще не все - когда у вас есть оборудование, вам также потребуется программное обеспечение. В Linux есть несколько полезных драйверов USB-гаджетов для ядра («USB-гаджет» - еще один термин для периферийных устройств / устройств USB), таких как g_serial и g_ethernet, которые позволяют подключать ваше устройство к другому компьютеру и отображать его как последовательное устройство или устройство Ethernet через USB. (есть и другие, которые позволяют отображать устройство в качестве запоминающего устройства, что позволяет использовать файл в качестве блочного устройства и выставлять компьютер в качестве устройства для хранения). BeagleBone Black обычно поставляется с включенным по умолчанию, поэтому вы можете просто подключить его к ПК через USB и увидеть его как сетевое устройство - и я считаю, что он также выглядит как запоминающее устройство с помощью композитного драйвера (который позволяет он должен отображаться как несколько типов USB-устройств через одно соединение. Pi Zero может использовать их , но не по умолчанию. Для Windows или других ОС вам, вероятно, придется написать этот драйвер устройства самостоятельно.
Таким образом, теоретически, вы можете сделать это. Вы можете сломать свой настольный ПК, попытаться найти где-нибудь неиспользуемую совместимую шину на материнской плате (скорее всего, некоторые неиспользуемые контакты на интегральной схеме контроллера), или способ расширить внутреннюю шину I2C или SPI, или что-то, что вы можете оторвать и замените и припаяйте на него USB OTG или микросхему контроллера устройства. Затем вы можете установить Linux и использовать драйвер гаджета или написать свой собственный для другой ОС. Практически, если вы не первоклассный инженер-электронщик, вы не сможете это сделать. По крайней мере, пока кто-то не выпустит этот неуловимый адаптер с устройством или портом OTG, который подключается к порту USB (теоретически это можно сделать с помощью микроконтроллера, такого как Arduino, подключенного к паре ИС контроллера USB-устройства), и пишет драйверы для его запуска.