Страница 1 из 2
Сделать полноценный переходник USB-COM
Добавлено: Пн окт 13, 2014 20:49:17
Timych
Здравствуйте товарищи радиолюбители! подскажите возможно ли сделать полноценный переходник USB-COM?
Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 13, 2014 23:59:52
Ser60
Определите термин полноценный. Если в смысле числа и функционала выводов, то да. Например на CP2104.
Re: Сделать полноценный переходник USB-COM
Добавлено: Вт окт 14, 2014 12:38:05
Timych
Под полноценностью я понимаю - возможность подключать различные устройства (программаторы и т.д.) которые можно подключать к обычному COM порту и что бы они корректно работали
Re: Сделать полноценный переходник USB-COM
Добавлено: Вт окт 14, 2014 13:26:13
YS
Нет, это невозможно. Реальный COM-порт доступен через аппаратные регистры, а COM через USB - принципиально эмуляция через совершенной другой механизм. С таким переходником нормально работать будет только тот софт, который использует стандартный API (не лезет напрямую к железу).
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 12:30:55
neon
YS писал(а):Реальный COM-порт доступен через аппаратные регистры,
от ОС MS-DOS и до Windows ME.
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 14:29:51
YS
neon, с небольшими хитростями можно писать в регистры и под XP, да и под семеркой. Принципиально можно. А вот если оно через USB - то принципиально нельзя.

Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 15:15:50
neon
в основном проблема с полноценной реализацией RS-232, но это не относится к современным микросхемам и грамотной разработке.
YS, в CP210x есть драйверы USBXpress® Direct Access Drivers. Может они для прямого доступа? Я просто не разбирался подробно.
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 15:53:30
YS
YS, в CP210x есть драйверы USBXpress® Direct Access Drivers. Может они для прямого доступа?
Да, для таких микросхем есть драйверы оптимизированного доступа.
Тут смысл в чем - шина USB принципиально другая. Реально в этом случае нет никакого COM-порта, есть какое-то устройство на USB, которому мы по правилам USB пересылаем данные и просим его вывести их через встроенный в него UART. А драйвера лишь обманывают систему, притворяясь драйвером COM-порта. А те драйвера, о которых вы говорите, даже и не притворяются, а просто предоставляют другой API.
Стандартный COM-порт принципиально доступен и без всяких драйверов - достаточно просто писать данные по адресу 0x378 (и другим служебным), и некоторый софт (преимущественно древний) так и делает. Также делают драйвера системы. В случае USB-COM мы реально имеем дело с USB, и писать надо совсем другое и совсем в другие места.
То есть, нельзя воткнуть переходник USB-COM в систему и сделать так, чтобы к нему подошли драйвера от настоящего COM-порта.
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 18:24:52
Ser60
С помощью драйверов и библиотеки USBXpress® можно дрыгать отдельными ногами CP21xx. В принципе можно и софт свой написать, который будет мониторить состояние служебных регистров COM-порта и перенаправлять данные оттуда в СР с помощью её API. Тогда можно будет общаться с CP как с обычным COM-портом. Только если уж разобраться с API, так делать никто не будет. А старый софт, работающих с регистрами COM-порта напрямую, без переделки работать с CP не будет, YS прав.
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 19:31:02
YS
В принципе можно и софт свой написать, который будет мониторить состояние служебных регистров COM-порта и перенаправлять данные оттуда в СР с помощью её API.
Это если эти регистры физически все же есть.

А так... Можно, конечно, поставить перехватчик на инструкцию OUT (технически - на привилегированные инструкции вообще, так, кстати, делает ОС) и перенаправлять данные, да. Но это извращение.

Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 21:00:43
Ser60
Полностью согласен.
Re: Сделать полноценный переходник USB-COM
Добавлено: Ср окт 15, 2014 21:09:36
neon
виртуальная машина может помочь, насколько я знаю.
Re: Сделать полноценный переходник USB-COM
Добавлено: Чт окт 16, 2014 15:45:59
YS
Да, ВМ поможет радикально. Только работать это будет до крайности медленно.

Re: Сделать полноценный переходник USB-COM
Добавлено: Чт окт 16, 2014 18:27:18
neon
современные ВМ на современных компьютерах теряют в производительности очень мало, по сравнению с реальной системой. Тем более ПО, которое требует прямой доступ, обычно не требует высокой производительности.
Re: Сделать полноценный переходник USB-COM
Добавлено: Чт окт 16, 2014 18:40:32
YS
Тут дело даже не в виртуальной машине, а в том, что, хотя для ПО в такой песочнице наш порт будет совершенно неотличим (хотя и это зависит от используемой технологии виртуализации) от "настоящего", на уровне железа это все же будет эмуляция со всеми вытекающими.

Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 20, 2014 09:13:03
alex_
Пробовал я переходник на CP2104 медленно работает, сейчас использую FT232rl, питание 5 вольт ничего мудрить не надо с понижением до 3 вольт кварц не нужен, да и работает шустро, поддерживает все сигналы(подходит для прогроматоров которым нужен не только UART). У меня на нём собран JDM программатор

Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 20, 2014 12:17:05
Timych
Можете скинуть ссылку где можно посмотреть эти схемки
Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 20, 2014 13:13:54
alex_
Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 20, 2014 16:10:57
neon
alex_ писал(а):Пробовал я переходник на CP2104 медленно работает
странно.
alex_ писал(а):питание 5 вольт ничего мудрить не надо с понижением до 3 вольт
разве это проблема?
alex_ писал(а):кварц не нужен
alex_ писал(а):поддерживает все сигналы
аналогично.
Re: Сделать полноценный переходник USB-COM
Добавлено: Пн окт 20, 2014 17:01:52
alex_
Извиняюсь чутка промахнулся, у меня была сборка BM8050 на CP2102, но работала она очень медленно, точнее мною было замечено что если использовать только UART без доп сигналов то вроде приемлимо, но когда я её подключил к JDM программатору и попытался прочесть PIC16F84 это заняло 30 минут, чуть не застрелился.
А на ft232 мегу16 можно прочесть менее чем за 2 минуты, медленнее чем железный COM, но если на ноуте нет COM порта это не долго, можно пережить.
Кстати QFN не очень удобно паять если нет термовоздушки