|
Vybrid Ethernet to UART bridge, Драйвера для компа |
|
|
|
Jan 17 2015, 23:35
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
mantech, механизм такой: 1. UDP передатчик передает сообщение в указанный UDP порт. 2. Сообщение летит по линии Ethernet 3. UDP приемник слушает этот UDP порт. 4. Все принятые байты перенаправляются в приемный буфер виртуального COM-порта.
если не хотите пользоваться готовым и пИшите сами VSP- то Вы должны выдержать правила операционки, создать порт, зарегистрировать и обеспечить необходимый интерфейс с операционной системой. Если Вы работаете напрямую- то просто ждете данные с UDP порта и обрабатываете их так же как принятые из буфера КОМ-порта.
Что именно Вы хотите услышать больше от создателей программы "виртуальный порт"?
Я уже писал, что использовал готовый софт со стороны компьютера для организации виртуального порта и, как альтернативу, ввел эту работу с UDP в мой исходник, чтобы не иметь чужой прослойки в ненужном месте. Из моих слов следует что полный виртуальный ком-порт на PC я не писал, в этом не было никакого смысла- либо юзал готовый, либо вообще обходился без него.
|
|
|
|
|
Jan 18 2015, 08:23
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Ruslan1 @ Jan 18 2015, 02:35)  1. UDP передатчик передает сообщение в указанный UDP порт. 2. Сообщение летит по линии Ethernet 3. UDP приемник слушает этот UDP порт. 4. Все принятые байты перенаправляются в приемный буфер виртуального COM-порта. Это я все понимаю, но задача стоит в том, что нужно как можно точнее симитировать ком-порт, а это значит, должна быть возможность управлять скоростью уарта, дрыгать ДТРом и т.п. И вот здесь начинаются сложности. ЗЫ. Я почему вообще затеял эту тему, просто думал, что есть какие-то опенсорсовые разработки, но видимо нет, придется и дальше ставить свич с тиббой...
|
|
|
|
|
Jan 18 2015, 08:52
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
в целом можно и прослушать, может это и не так нудно как казалось сначала установить RTS, DTR, CTR, CTS или как они там называются по одному, поглядеть что шлется. Скорость устанавливается думаю просто так, все равно будет на максимальной гнать, на выходе то ethernet. Это в FTDI на выходе был UART и установка скорости имела смысл. Тут это не важно. Потом послать данные в устройство и обратно. Потом открытие закрытие порта поглядеть как сделано. Вроде все что надо проверить. Ну а дальше долгие тесты на устойчивость.... ну или искать что-то под линукс. Обычно там любят такого рода маразмы, как открытоисходный виртуальный порт
|
|
|
|
|
Jan 18 2015, 12:00
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(mantech @ Jan 18 2015, 10:23)  Это я все понимаю, но задача стоит в том, что нужно как можно точнее симитировать ком-порт, а это значит, должна быть возможность управлять скоростью уарта, дрыгать ДТРом и т.п. И вот здесь начинаются сложности. Я ничего не понял. Что именно Вам не дает делать виртуальный порт, написанный кем-то другим? У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR? Или Вы хотите просовывать все служебные сигналы с удаленного порта (например, модема) на компьютер так, чтобы этот виртуальный порт их показывал и транслировал в обе стороны? Тогда, конечно, нужно свое писать как надстройку над UDP или TCP пакетом, так как такой хитрый ход мало кому нужен, готовое не найдете. Или использовать вместо своего устройства ту же Тиббу, или раскрутить через Шарк ее надстройки. Но проще с Тиббой созвониться-поговорить, может за малую денюжку и согласятся поделиться-разрешить использование их драйверов. Кстати, а сама Тибба что, в Линуксе не поддерживается? может, сделали уже.
|
|
|
|
|
Jan 18 2015, 13:39
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Ruslan1 @ Jan 18 2015, 15:00)  Кстати, а сама Тибба что, в Линуксе не поддерживается? может, сделали уже. Кстати, надо посмотреть, может и есть такое дело  Цитата(Ruslan1 @ Jan 18 2015, 15:00)  У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR? Или Вы хотите просовывать все служебные сигналы с удаленного порта (например, модема) на компьютер так, чтобы этот виртуальный порт их показывал и транслировал в обе стороны? Да х.з. только пробовал прогу с девайсом соединить по линиям rxd, txd - не работает, зараза, нужно еще dtr и rts, наверно еще и аппаратный контроль передачи, конечно, можно попробовать сэмулировать... Потом, раз драйвер посылает пакеты для настройки параметров порта, а я буду тупо гнать в уарт весь этот мусор вместе с данными, как это скажется на работе всей системы - тоже непонятно... Цитата(Ruslan1 @ Jan 18 2015, 15:00)  У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR? Как какие, обычные, как в уарте Хорошо, постараюсь объяснить по-другому: Есть промышленная железяка, сушилка, которая управляется по уарту с компа, на котором управляющая прога под винду, и есть мой контроллер, для сопутствующего оборудования, управляется по веб морде через сеть. Раньше было 2 компа, сушилкой управлял комп рядом, а контроллером удаленно, теперь захотелось все делать с одного компа, а след. нужно завести уарт от сушилки в мой контроллер, который эмулирует вирт. ком порт, а прога и веб морда висят на одном компе. В данный момент, это сделано установкой свича, в который воткнут контроллер и тиббо, с последнего идет уарт в сушилку. Как-то так...
|
|
|
|
|
Jan 18 2015, 17:34
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(mantech @ Jan 18 2015, 15:39)  Хорошо, постараюсь объяснить по-другому: Да, теперь понял. И понял, почему мои советы Вам совсем не подходят Задача нетривиальная, но интересная. Я сомневаюсь, что Вы найдете готовое. Тут придется делать с двух сторон: 1. поддержка в LwIP 2. написание драйвера в PC. Или если удастся найти исходники или описание интерфейса хоть с одной стороны- тогда работы гораздо меньше. Думаю, достаточно UDP для эмуляции доступа к служебных регистрам этой удаленной виртуальной 16550, тут уже нет никакого потока данных, а запись-чтение регистров. Если нужно будет TCP- позже переделаете, сначала и так проблем хватит и без сеансовости. Если что-то найдете- напишите, пожалуйста. Мне тоже интересно в перспективе.
|
|
|
|
|
Jan 19 2015, 19:51
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Aner @ Jan 19 2015, 21:13)  А вот блин придется Пока нет ни времени, ни желания. А раз альтернативы на данный момент нет - то пусть остается тибба, на крайняк подряжу кого-нить из виндовых программеров - пусть делают на атутсорсинге  Цитата(Ruslan1 @ Jan 19 2015, 13:31)  И что поддерживается, какой чип эмулируется с FIFO (16550) или без, какие сигналы RS-232 поддерживают, на чем сделано (TCP или UDP)? эмулируется уарт 8250 без фифо, пробовал с фифо-глючит, поэтому ну нафиг Сигналы модема поддерживаются, пакеты UDP с перезапросом, в пакете идет конфиг линий, длина данных в уарт и параметр скорости байт инкремента, чтоб повторы ловить и сами данные.
|
|
|
|
|
Jan 20 2015, 03:33
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Если правильно понимаю, нужно прокинуть виртуальный RS232 порт с ПК в реальный порт на контроллере. Делал такое кажется при помощи http://www.eterlogic.com/Products.VSPE.htmlутилита эта кажется есть в местных закромах, давно это было не помню. Судя по исходнику на плате создается netconn_new( NETCONN_TCP ) , соответственно программа эта tcp клиент + создает на ПК виртуальный ком-порт,который доступен при удачном подключении к серверу. Возможно в программе и udp режим обмена есть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|