реклама на сайте
подробности

 
 
> Vybrid Ethernet to UART bridge, Драйвера для компа
mantech
сообщение Jan 16 2015, 16:52
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Приветствую.

Появилась задачка добавить функционал контроллера модулем uart-ethernet, раньше использовали отдельные модули "тиббо", сам модуль и драйвер ком-порта под винду.

Контроллер - vybrid mvf61nn
стек - LWIP
в данный момент используется как web-сервер. В сети есть несколько проектов, как "прикрутить" к стеку функционал посл. порта, НО не смог найти к ним "вторую часть" - программный драйвер под винду(не важно какую, хрюшу или семерку), написанием драйверов под винду никогда не занимался, и честно говоря, нет большого желания и времени, а пытаться использовать тот-же драйвер от тиббо - нет документации.
Может кто знает, где посмотреть или поискать эти творения??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Jan 17 2015, 20:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



я бегло смотрел, но я так понял что это как-бы порт двойного назначения под их железку, и под пользовательскую. С их железкой много фичь, с пользовательской мало, но из этого следует что все-таки как-то ее можно сделать. Значит они либо раскрывают протокол, либо он туп до безобразия и в пакете UDP просто передаются данные.

Скорость обмена, биты четности и прочая байда - не имеет смысла для Ethernet, там ведь нет асинхронщины с необходимой времянкой, как и стоповых бит. А контроль четности перекрывается контрольными суммами. Потому есть мнение что они просто данные херачат и все, а настройки не передают. Правда управление потоком не понятно как сделано, но может так оказаться что поскольку скорость езернета сильно больше всех разумных уартов, то управления потоком просто нет...

надо связываться с ребятами, скачивать что они дают, писать письма, изучать вопрос так сказать... думаю это самое близкое к тому что вам надо из того что вообще может быть.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 17 2015, 20:50
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Golikov A. @ Jan 17 2015, 23:14) *
я бегло смотрел, но я так понял что это как-бы порт двойного назначения под их железку, и под пользовательскую.
надо связываться с ребятами, скачивать что они дают, писать письма, изучать вопрос так сказать... думаю это самое близкое к тому что вам надо из того что вообще может быть.


А я понял, что у них есть 2 проги под 1 порт - свободно распространяемая и мультипортовая - с лицензией. Мне хватило б и однопортовой, но док по протоколу я не нашел, а может плохо искал - глаза устали...

Писать им, думаю пустая затея - они же не опенсорсом занимаются, а продают железки, спрашивается, зачем рассказывать конкуренту? Может я продавать потом захочу все это biggrin.gif

ЗЫ. Поищем еще, уж больно с всякими ддк масдайными не охота связываться crying.gif
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jan 17 2015, 23:35
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



mantech, механизм такой:
1. UDP передатчик передает сообщение в указанный UDP порт.
2. Сообщение летит по линии Ethernet
3. UDP приемник слушает этот UDP порт.
4. Все принятые байты перенаправляются в приемный буфер виртуального COM-порта.

если не хотите пользоваться готовым и пИшите сами VSP- то Вы должны выдержать правила операционки, создать порт, зарегистрировать и обеспечить необходимый интерфейс с операционной системой. Если Вы работаете напрямую- то просто ждете данные с UDP порта и обрабатываете их так же как принятые из буфера КОМ-порта.

Что именно Вы хотите услышать больше от создателей программы "виртуальный порт"?

Я уже писал, что использовал готовый софт со стороны компьютера для организации виртуального порта и, как альтернативу, ввел эту работу с UDP в мой исходник, чтобы не иметь чужой прослойки в ненужном месте. Из моих слов следует что полный виртуальный ком-порт на PC я не писал, в этом не было никакого смысла- либо юзал готовый, либо вообще обходился без него.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 18 2015, 08:23
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Ruslan1 @ Jan 18 2015, 02:35) *
1. UDP передатчик передает сообщение в указанный UDP порт.
2. Сообщение летит по линии Ethernet
3. UDP приемник слушает этот UDP порт.
4. Все принятые байты перенаправляются в приемный буфер виртуального COM-порта.


Это я все понимаю, но задача стоит в том, что нужно как можно точнее симитировать ком-порт, а это значит, должна быть возможность управлять скоростью уарта, дрыгать ДТРом и т.п. И вот здесь начинаются сложности.

ЗЫ. Я почему вообще затеял эту тему, просто думал, что есть какие-то опенсорсовые разработки, но видимо нет, придется и дальше ставить свич с тиббой...
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jan 18 2015, 12:00
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(mantech @ Jan 18 2015, 10:23) *
Это я все понимаю, но задача стоит в том, что нужно как можно точнее симитировать ком-порт, а это значит, должна быть возможность управлять скоростью уарта, дрыгать ДТРом и т.п. И вот здесь начинаются сложности.

Я ничего не понял. Что именно Вам не дает делать виртуальный порт, написанный кем-то другим?
У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR?
Или Вы хотите просовывать все служебные сигналы с удаленного порта (например, модема) на компьютер так, чтобы этот виртуальный порт их показывал и транслировал в обе стороны?
Тогда, конечно, нужно свое писать как надстройку над UDP или TCP пакетом, так как такой хитрый ход мало кому нужен, готовое не найдете.

Или использовать вместо своего устройства ту же Тиббу, или раскрутить через Шарк ее надстройки. Но проще с Тиббой созвониться-поговорить, может за малую денюжку и согласятся поделиться-разрешить использование их драйверов.
Кстати, а сама Тибба что, в Линуксе не поддерживается? может, сделали уже.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 18 2015, 13:39
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Ruslan1 @ Jan 18 2015, 15:00) *
Кстати, а сама Тибба что, в Линуксе не поддерживается? может, сделали уже.


Кстати, надо посмотреть, может и есть такое дело cool.gif

Цитата(Ruslan1 @ Jan 18 2015, 15:00) *
У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR?
Или Вы хотите просовывать все служебные сигналы с удаленного порта (например, модема) на компьютер так, чтобы этот виртуальный порт их показывал и транслировал в обе стороны?


Да х.з. только пробовал прогу с девайсом соединить по линиям rxd, txd - не работает, зараза, нужно еще dtr и rts, наверно еще и аппаратный контроль передачи, конечно, можно попробовать сэмулировать...

Потом, раз драйвер посылает пакеты для настройки параметров порта, а я буду тупо гнать в уарт весь этот мусор вместе с данными, как это скажется на работе всей системы - тоже непонятно...

Цитата(Ruslan1 @ Jan 18 2015, 15:00) *
У Вас в устройстве теперь есть Езернет, какие еще RTS/DTR?


Как какие, обычные, как в уарте biggrin.gif
Хорошо, постараюсь объяснить по-другому:
Есть промышленная железяка, сушилка, которая управляется по уарту с компа, на котором управляющая прога под винду, и есть мой контроллер, для сопутствующего оборудования, управляется по веб морде через сеть. Раньше было 2 компа, сушилкой управлял комп рядом, а контроллером удаленно, теперь захотелось все делать с одного компа, а след. нужно завести уарт от сушилки в мой контроллер, который эмулирует вирт. ком порт, а прога и веб морда висят на одном компе.

В данный момент, это сделано установкой свича, в который воткнут контроллер и тиббо, с последнего идет уарт в сушилку. Как-то так... biggrin.gif
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jan 18 2015, 17:34
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(mantech @ Jan 18 2015, 15:39) *
Хорошо, постараюсь объяснить по-другому:

Да, теперь понял. И понял, почему мои советы Вам совсем не подходят sm.gif
Задача нетривиальная, но интересная. Я сомневаюсь, что Вы найдете готовое.
Тут придется делать с двух сторон:
1. поддержка в LwIP
2. написание драйвера в PC.
Или если удастся найти исходники или описание интерфейса хоть с одной стороны- тогда работы гораздо меньше.

Думаю, достаточно UDP для эмуляции доступа к служебных регистрам этой удаленной виртуальной 16550, тут уже нет никакого потока данных, а запись-чтение регистров. Если нужно будет TCP- позже переделаете, сначала и так проблем хватит и без сеансовости.

Если что-то найдете- напишите, пожалуйста. Мне тоже интересно в перспективе.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 18 2015, 19:09
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Ruslan1 @ Jan 18 2015, 20:34) *
Или если удастся найти исходники или описание интерфейса хоть с одной стороны- тогда работы гораздо меньше.


Со стороны контроллера, настройка lwip и т.п. у меня есть, нет виндового драйвера для компа, почему и ищу, что, настроить связку контроллер-lwip-уарт больших проблем нет, а вот разбираться в дебрях виндовых драйверов нет никакого желания laughing.gif Есть много куда более интересной работы на MX6 и вибриде...
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jan 19 2015, 10:31
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(mantech @ Jan 18 2015, 21:09) *
Со стороны контроллера, настройка lwip и т.п. у меня есть

И что поддерживается, какой чип эмулируется с FIFO (16550) или без, какие сигналы RS-232 поддерживают, на чем сделано (TCP или UDP)?

Хотя может я усложнил все. Драйвер с компа может просто в езернет валить команды установки/опроса пинов порта и иметь поток данных RX/TX. только как-то все это небыстро и ненадежно выглядит в работе.

Как в том коде, что у Вас есть, это сделано?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mantech   Vybrid Ethernet to UART bridge   Jan 16 2015, 16:52
- - Golikov A.   Не очень понятно чего вы хотите найти за драйвер ...   Jan 16 2015, 17:06
|- - mantech   Цитата(Golikov A. @ Jan 16 2015, 20:06) Н...   Jan 16 2015, 20:04
- - Golikov A.   А как вы хотите его использовать? Если у вас не пр...   Jan 16 2015, 21:21
|- - scifi   Цитата(Golikov A. @ Jan 17 2015, 00:21) М...   Jan 16 2015, 21:25
|- - mantech   Цитата(Golikov A. @ Jan 17 2015, 00:21) Е...   Jan 16 2015, 21:33
|- - Ruslan1   А ничего там хитрого нет: берете UDP порт и гоните...   Jan 16 2015, 23:35
- - Aner   Еthernet, стек за присест не изучишь и за десяток ...   Jan 16 2015, 23:42
|- - mantech   Цитата(Aner @ Jan 17 2015, 02:42) UDP пор...   Jan 17 2015, 08:05
|- - Ruslan1   Цитата(mantech @ Jan 17 2015, 10:05) Хитр...   Jan 17 2015, 10:16
|- - mantech   Цитата(Ruslan1 @ Jan 17 2015, 13:16) Или ...   Jan 17 2015, 12:30
- - Golikov A.   У меня есть решение. Берете проц и делаете USB - C...   Jan 17 2015, 15:04
|- - mantech   Цитата(Golikov A. @ Jan 17 2015, 18:04) Б...   Jan 17 2015, 19:06
|- - Aner   QUOTE (mantech @ Jan 18 2015, 23:09) ... ...   Jan 19 2015, 18:13
|- - mantech   Цитата(Aner @ Jan 19 2015, 21:13) А вот б...   Jan 19 2015, 19:51
- - Golikov A.   ну значит просто данные гоняют и все. А контроль п...   Jan 18 2015, 07:05
- - Golikov A.   в целом можно и прослушать, может это и не так нуд...   Jan 18 2015, 08:52
- - psL   Если правильно понимаю, нужно прокинуть виртуальны...   Jan 20 2015, 03:33
- - mantech   Цитата(psL @ Jan 20 2015, 06:33) Если пра...   Jan 20 2015, 08:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.02136 секунд с 7
ELECTRONIX ©2004-2016