Usb to pci адаптер своими руками

Usb to pci адаптер своими руками

Имею ТВ тюнер с интерфейсом PCI-E, установлен на стационарном ПК, к лету планирую купить ноутбук. Тут возникла проблема, люблю слушать радио, но в ноутбук не установить ТВ тюнер, да и вскрывать нежелательно будет, гарантия.

Теперь о мысли, создать переходник PCI-E > USB, искал в интернете и нашел мало информации, в основном USB > PCI-E платы, но наоборот не видел.

Нашел распиновку разъёма.

PCI-Express 1x Connector Pin-Out

Есть интерфейс SMBus, JTAG. Прочитал про них, инфа есть. Но как это, возможно ли, связать с USB я незнаю. Может быть кто-то пытался такое делать, буду рад ссылкам.

_________________
Главный инженер проекта — человек, который как никто другой знает, что приближаться к спроектированной им хрени близко не стоит.

Реклама
Андрей Бедов
Друг Кота

Карма: 230
Рейтинг сообщений: 11311
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37654
Откуда: Нижний Новгород
Рейтинг сообщения: 0

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Mem
Мудрый кот

Карма: 15
Рейтинг сообщений: 137
Зарегистрирован: Вт апр 17, 2012 14:20:59
Сообщений: 1894
Откуда: Новокузнецк
Рейтинг сообщения: 0

Так же не доводилось слышать про такое.

Нашел несколько платок:

Заинтересовала вторая модель, из-за наличия хоть какого то чипа, им оказался uPD720202, даташит именного на эту модель не нашел, есть на UPD720200 обзывает он USB 3.0 HOST CONTROLLER.

Только непонятно, может ли PCI-E > USB 3.0 превращать?

P.S Зачем брать внешний, когда есть хороший PCI-E да еще 3 шт на PCI. Самый дешевый 990р

Вложения:
UPD720200.pdf [1.91 MiB]
Скачиваний: 333

_________________
Главный инженер проекта — человек, который как никто другой знает, что приближаться к спроектированной им хрени близко не стоит.

Вернуться наверх
Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

kalobyte
Друг Кота

Карма: 16
Рейтинг сообщений: 111
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 10384
Рейтинг сообщения: 1

_________________
тематические ответы только в форуме, в приват не пишите

Реклама

Вебинар поможет в выборе недорогих источников питания оптимальных для систем охраны, промышленных и телекоммуникационных приложений, а также для широкого применения. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.

Андрей Бедов
Друг Кота

Карма: 230
Рейтинг сообщений: 11311
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37654
Откуда: Нижний Новгород
Рейтинг сообщения: 0

Реклама
Реклама

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.

Андрей Бедов
Друг Кота

Карма: 230
Рейтинг сообщений: 11311
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37654
Откуда: Нижний Новгород
Рейтинг сообщения: 1

Реклама

YS
Друг Кота

Карма: 69
Рейтинг сообщений: 1207
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7457
Рейтинг сообщения: 1

+1.

Положим, железяку Вы сделаете (что, в общем, уже задача нетривиальная). Но вот чтобы потом заставить Windows (или Linux) думать, что устройство подключено как родное, надо будет писать свой драйвер, причем нехилый такой, с затеями. Вы виртуозно представляете себе WDM?

Один из вариантов — переходник со стороны видеокарты эмулирует компьютер с шиной PCI-E, со стороны компьютера — USB-тюнер. Но при этом потребуются нехилые вычислительные мощности в переходнике. И опять же, сложная прошивка переходника для поддержки тюнера (придется поднимать кучу документации, причем, возможно, не вся она открыта) и соответствующего USB-класса, и, опять же, драйвер для ПК.

Затея абсолютно неподъемная в разумный срок для одного человека. Ну а коли есть аналоги с родным USB за $10, так еще и бессмысленная.

Может, но не так, как Вам надо. Это именно USB-host, подключающийся к PCI-E. Т.е., карточку на основе оного чипа можно воткнуть в ПК, и в нее втыкать флешки. Наоброт — нет.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.

Реклама

Страница 1 из 1 [ Сообщений: 7 ]

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: Fox19 и гости: 22

Источник

Usb to pci адаптер своими руками

За время существования этого сайта мне довольно часто задают один и тот же вопрос, который можно описать примерно следующим образом:

«У меня в компьютере (ноутбуке) нет LPT порта. Купил себе переходник USB-LPT. Установил. Ваши примеры не работают. Почему?»

В итоге решил описать этот вопрос подробнее и написать статью. Да, действительно, сейчас стационарных PC с LPT портом нужно поискать (т.е. далеко не каждая «мать» сейчас идет в комплекте с LPT портом). Про ноутбуки вообще говорить не приходится. Современные модели LPT порт вообще не применяют. Только очень дорогие и специализированные машины, типа DELL, могут «похвастаться» наличием этого порта.

Также, сейчас в продаже можно свободно приобрести вот такие устройства, называемые LPT-USB переходниками.

Инстркуция гласит что этот прибор полностью совместим с различными принтерами, сканерами и т.д. Подключаем переходник к USB порту, устанавливаем драйвера. Смотрим диспетчер устройств. Скорее всего в ветке «Порты LPT/COM» ни чего не появилось (хотя бывают исключения). Скорее всего повится либо новая ветка со странным устройством с именем, например, LPT1USB либо в разделе USB устройств появится странная запись о «USB устройстве поддержки LPT принтеров». Пробуем запустить какой-нибудь пример из статей выше. И ни тут то было — ни чего не работает. Пробуем адрес порта LPT1 — ни чего не работает. Пробуем адресс порта LPT2. К сожалению, такая модернизация адреса в запросах тоже ни к чему не приводит — светодиоды как не загорались так и не загораются.

Чтобы разобраться в чем тут дело давайте вернемся на время к обычному «родному железному» LPT порту — LPT1, который из материнской платы «торчит». Зайдем в диспетчер устройств, заглянем в свойства нашего порта. Там мы увидим вот такую картину. Отлично видно, что система прописала базовый адрес ввода-вывода 0x378 и запрос на прерывание номер 7. Все правильно.

Теперь погрузимся на уровень программирования. В примерах статей выше мы минуя систему защиты ввода-вывода легальными и нелегальными способами напрямую общались с реально существующим регистром ввода-вывода, которому присвоен адрес 0x378. Тут все понятно. Незабудем также о том, что Windows рекомендует работать с LPT портом используя вызовы API функций — OpenFile(), WriteFile(), ReadFile(). Приложения, которые используют LPT порт для обмена информацией по парралельному интерфейсу с внешними устройствами (принтер, например) так и делает. У него нет задачи установить на каком-либо бите регистра Data лигическую еденицу. Ему (приложению) нужно просто отправить пакет данных, а кто там будет какие линиии при этом «дергать» и считывать его не сильно интересует. Эти операции проводит системный драйвер LPT порта. Он подгружается в память при загрузке ОС. Когда мы вызываем функцию OpenFile(«LPT1», . ) мы по сути дела обращаемся к драйверу порта, который имеет символическое имя LPT1. Драйвер делает кучу всякой работы — запрещает доступ к порту другим процессам, настраивает параметры протокола передачи данных, собственно реализует эту передачу, но в конечном итоге все это сводится к прямому управлению отдельными битами LPT порта на уровне ядра ОС.

А теперь попробуем поработать с нашим переходником USB-LPT. Начнем как не покажется странным, с API вызовов. Запускаем OpenFile(«LPT1USB», . ) (смотря как этот переходник диспетчере устройств назовется, если вообще назовется). Что при этом происходит? Дело в том, что теперь мы будем работать не с драйвером LPT порта ОС а с драйвером этого переходника! Вот в чем фокус то! Он принимает пакет данных от нашего пользовательского приложения и в нужном формате через систмный драйвер USB отсылает этот пакет на USB контроллер, «ноги» которого торчат из внешней LPT розетки на проводе (ну это так, «грубое объяснение»). Видете, здесь нет ни какого намека на обращение к регистрам по адресам 0x378(0x278), т.к. их просто нет!

Поэтому, когда Вы патаетесь запускать примеры данного раздела и обращаться напрямую по адресам 0x378 (если этот «псевдо порт» назвался LPT1USB или что-то в этом духе), 0x278 (LPT2_. ) и т.д. ни чего не происходит. Их просто нет! А вот программа котороая работает через API вызовы ни чего не заметит — вся низкоуровневая работа делается драйвером, а каким драйвером и куда пойдут пакеты данных (в реальный порт ввода-вывода или в USB хост-контроллер) — приложению неважно! Попробуйте открыть свойства «псевдопорта» в диспетчере устройств. Нет вкладки с ресурсами? Есть, но там каие-то неадекватные значения или вкладка деактивировнна? В том то и дело.

ИТОГО: С вероятностью 99% купленный Вами переходник USB-LPT не сможет обеспечить Вам работу на низком уровне с пинами этого порта.

Почему 99%? Потомоу что есть самодельниые USB-LPT переходники, которые определяются Windows как полноценный порт LPT1 и ему присваивается вполне обыденный адрес 0x378. Обращения на прямую к пинам порта проходят успешно! Однако это очень нестандартная конструкция (в первую очередь драйвер, который занимается перехватом обращений по базовому адресау порта LPT1). Все это не очень надежно (обновление ОС — и конструкция теряет работоспосбность) и для использования рекомендовано быть может только с натяжкой.

И что тагда делать?

Как ни покажется странным — решение ЕСТЬ. Вы всегда сможете добавить настоящий LPT порт в свой настольный компьютер или ноутбук. Во-первых, забудте сразу о переходниках с интерфейсом USB. Для решения этой задачи необходимо приробрести PCI-LPT переходник для настольного PC (необходимо наличие свободного PCI слота) или PCMCIA-LPT переходник для ноутбука (см. фото ниже).

В случае использования этих устройств ни каких проблем нет. Определяются они как настоящие «родные» LPT порты. Соответствующая запись будет добавлена в диспетчер устройств во вклдаку «LPT/COM порты». Прямое обращение к пинам порта будет работать.

Источник

Читайте также:  Как сделать маску своими руками с шаблонами
Оцените статью