PDA

Просмотр полной версии : USB то COM



RA3BB
01.03.2011, 10:55
Коллеги ! Есть задача создать устройство USB - которое в компьютере воспринималась как COM порт , выход устройства воспринимался другим компьютером (устройством) как USB клавиатура... Может есть готовое устройство ?
Помогите ....

vadim_d
01.03.2011, 11:08
Вряд ли есть что-то готовое, но я бы предложил взглянуть на проблему чуть шире. Нужно ли в действительности изображать для одного компьютера клавиатуру или достаточно просто канала обмена между двумя компьютерами?

RA3BB
01.03.2011, 12:33
Да тут видимо я не очень хорошо описал проблему. Есть трансивер - поддерживающий в режиме RTTY USB клаву напрямую (сейчас посыпятся советы про звуковую и т.д. Спасибо это известно) Хочется по этому каналу формировать сообщения с компьютера... Все.

vadim_d
01.03.2011, 13:33
Тогда понятно. Штука несложная, влезет в один микроконтроллер, но вот делал ли кто-нибудь такое - вопрос.

Serg
01.03.2011, 15:02
Есть трансивер - поддерживающий в режиме RTTY USB клаву напрямую (сейчас посыпятся советы про звуковую и т.д. Спасибо это известно) Хочется по этому каналу формировать сообщения с компьютера... Все.


Может быть есть CAT команда у этого аппарата, с помощью которой можно передавать RTTY текст?! Ведь довольно во многих аппаратах сейчас есть передача CW через CAT-команду.

UA3MCH
01.03.2011, 15:44
Тогда понятно. Штука несложная, влезет в один микроконтроллер, но вот делал ли кто-нибудь такое - вопрос.
Штука,может быть, и не сложная,но... Во первых, клава в комп передает не символы алфавита, а код нажатой клавиши. Все остальное делается в компе. Во вторых, ПО, стоящее в трансивере, должно заменить эти коды на символы. Как оно (ПО), в каком объеме, обрабатывает эти коды (клавиатур великое множество, с разным количеством клавиш). Получается, нужна программа на компе, которая посылает коды с клавы на COM порт в виде именно кодов клавиш, а не символы (буквы...), дальше адаптер должен прикинуться USB клавой. А дальше все просто. Проще купить USB клавиатуру, а то получается как в сказке про автоматизацию: "...нажал кнопку - вспотел..."

vadim_d
01.03.2011, 16:03
Получается, нужна программа на компе, которая посылает коды с клавы на COM порт в виде именно кодов клавиш, а не символы (буквы...), дальше адаптер должен прикинуться USB клавой. А дальше все просто. Проще купить USB клавиатуру, а то получается как в сказке про автоматизацию: "...нажал кнопку - вспотел..."
Как я понимаю, нужно воспроизводить готовый текст с компа. Коды сканирования стандартных клавиш со времен IBM PC AT устаканились, в адаптере надо иметь USB target для изображения клавиатуры и COM порт, тут либо PIC с USB, либо даже программная реализация USB на ATMEGA вполне сойдет. Где перекодировать текст в скан-коды - вопрос не принципиальный.

EX2X
01.03.2011, 17:43
задача создать устройство USB - которое в компьютере воспринималась как COM порт
это случайно не оно?
http://robozone.su/2008/04/28/modul-konvertera-usb-uart-ft232rl.html

UN7RX
01.03.2011, 17:55
EX2X, это типичный COM-USB, а человеку нужен "обратный конвертор" из ASCII (в простейшем случае) в код клавиатуры. :smile: Протокол обмена по PS/2 в принципе найти несложно. Если есть таблица генерации кода, то обратную операцию выполнить несложно. Внешние контроллеры тут не нужны, выдать готовый код на СОМ, а с него снять тем самым COM/USB. Кстати, RA3BB,вы программировать умеете?

RA3BB
01.03.2011, 21:49
Программирование не проблема. Вопрос именно в устройстве... Просто USB -COM тут не проходит - нужен именно эмулятор клавы с компа т.е трансивер должен понимать эту коробочку как клавиатуру.
Было решение использовать USB-COM переходник - затем буфер и далее контроллер USB клавиатуры (просто вытащенный из разбитой клавиатуры) . Уперся в эмуляцию нажатия клавиш - но и это можно преодолеть . НО все как то громоздко и неправильно. Ладушки будем копаться дальше Всем спасибо 73 !
P.S. Был вопрос о возможности передачи через CAT - нет этот аппарат такую возможность не имеет.

UN7RX
01.03.2011, 22:16
Просто USB -COM тут не проходит - нужен именно эмулятор клавы с компа т.е трансивер должен понимать эту коробочку как клавиатуру.
Именно об этом я и говорю. Делается так же, как, например, при написании формирования кода в программе RTTY.
Протокол обмена клавиатуры с портов PS/2 в интернете есть. На основании этого протокола создаете массив-таблицу перекодирования ASCII в код генерируемый контроллером обычной клавиатуры. То есть, пишется несложная программка, которая преобразует любые символы, неважно, откуда они вводятся, из внешней клавиатуры, или из текстового файла, памяти и т.д., в код клавиатуры, естественно, "оформленный" в служебный протокол. Вот это и выводите в СОМ. Почему в СОМ, а не в USB? Потому что в СОМ, в отличии от USB, это делается элементарно. А преобразователь COM/USB нужен только для преобразования интерфейса, он не формирует код, это просто "провод".


Было решение использовать USB-COM переходник - затем буфер и далее контроллер USB клавиатуры (просто вытащенный из разбитой клавиатуры)
Тоже вариант. Причем, довольно простой, поскольку не требует знания протокола. Просто создаете таблицу перекодирования символов в любой удобный вам двоичный код - лишь бы его понимал дешифратор, который будет вместо механической клавиатуры. Тут конечно проще всего вырабатывать последовательный код, выдавать его на СОМ и далее на дешифратор на регистрах.