mantech 48 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Приветствую. Появилась задачка добавить функционал контроллера модулем uart-ethernet, раньше использовали отдельные модули "тиббо", сам модуль и драйвер ком-порта под винду. Контроллер - vybrid mvf61nn стек - LWIP в данный момент используется как web-сервер. В сети есть несколько проектов, как "прикрутить" к стеку функционал посл. порта, НО не смог найти к ним "вторую часть" - программный драйвер под винду(не важно какую, хрюшу или семерку), написанием драйверов под винду никогда не занимался, и честно говоря, нет большого желания и времени, а пытаться использовать тот-же драйвер от тиббо - нет документации. Может кто знает, где посмотреть или поискать эти творения?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Не очень понятно чего вы хотите найти за драйвер:) Ethernet -ТСP/UDP поддерживается виндой нативно. Задача обмена по ним заключается в создании сокета и чтения-записи данных через него. Для данного действа есть уже написанные классы С++, и С#. Для С# класс входит в комплект и весьма удобен. Или вы хотите чтобы у вас был виртуальный ком порт? ну тогда ручками ручками, стандарта на формат такого рода данных нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Не очень понятно чего вы хотите найти за драйвер:) Или вы хотите чтобы у вас был виртуальный ком порт? ну тогда ручками ручками, стандарта на формат такого рода данных нет. Я знаю, что стандарта нет, в том-то и дело. Решил узнать, может кто уже занимался подобным, есть ссылки на проекты, а то в инете ищешь исходники - часть самого устройства на контроллере есть, а для компа драйвера нет... Кому нужна половина комплекта?? Разве, что просто удлинитель ком-порта по сети :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба А как вы хотите его использовать? Если у вас не просто удлинитель ком порта, то наверное есть ваше приложение управления всей этой байдой, так может в нем реализовать нормальный режим через сокеты? Можно попробовать шарком послушать как выглядит обмен, но нудно это все... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Можно попробовать шарком послушать как выглядит обмен, но нудно это все... Ага, а потом заменить логотип Tibbo на "Вася Пупкин и Ко" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Если у вас не просто удлинитель ком порта, то наверное есть ваше приложение управления всей этой байдой, так может в нем реализовать нормальный режим через сокеты? Ну тогда я бы не задавал этих глупых вопросов, логично Все дело в том, что софтина сложная и специфичная, писана х.з кем, работает только по rs232. Вот дело-то в чем... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба А ничего там хитрого нет: берете UDP порт и гоните/принимаете данные. На компьютере ставите программу что-то типа "Virtual COM UDP TCP Port" (это ключ для гугления, их много разных в интернете), настраиваете ее не Ваш UDP порт и у Вас в системе появляется виртуальный порт, привязанный к данному UDP. Я не помню что именно мы использовали для экспериментов, так как в результате отказались от идеи виртуальных портов и я просто в исходники добавил все нужное напрямую (поддержку канала связи через Езернет). Но оно работало и через такой виртуальный порт тоже. Помню что искал пару часов что-то приличное, нашлось не сразу и не уверен что оно бесплатное было (но стоит дешево) Upd: нашел, это пользовали http://www.hw-group.com/products/hw_vsp/index_en.html там есть фриварная VSP3, кажется ее и использовали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 5 16 января, 2015 Опубликовано 16 января, 2015 · Жалоба Еthernet, стек за присест не изучишь и за десяток тоже. Такой модуль uart-ethernet сам посебе не имеет смысла. Смысл в структуре и софте с обоих сторон. Сначала с этим нужно разобратся. Выражение: "... добавить функционал контроллера модулем uart-ethernet" переводится знающими как - масло масленое. "прикрутить" к стеку функционал посл. порта только через сокеты, порты и проброс. Golikov пояснил как. А какого драйвера компа тебе нужно? А вот и не так просто удлинитель ком-порта по сети. Обычно все через виртуальные работают, а там свои заморочки. UDP порт в LWIP еще поднять нужно правильно, и то я по UDP делал, понимая что потеря данных обеспечивается. Не все данные погонишь таким каналом. По TCP/IP предпочтительнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба UDP порт в LWIP еще поднять нужно правильно, и то я по UDP делал, понимая что потеря данных обеспечивается. Не все данные погонишь таким каналом. По TCP/IP предпочтительнее. Ну вообще-то это само сабой разумеется, и я не первый год в "теме"... :rolleyes: Писал, что не делал драйверов под винду. Я не помню что именно мы использовали для экспериментов, так как в результате отказались от идеи виртуальных портов и я просто в исходники добавил все нужное напрямую (поддержку канала связи через Езернет). Но оно работало и через такой виртуальный порт тоже. Я полностью согласен, что в самописной программе использовать эти рудименты, как VCP - глупо, но если софт без исходников и работает только с комом, то что тут поделаешь?... А ничего там хитрого нет: берете UDP порт и гоните/принимаете данные. На компьютере ставите программу что-то типа "Virtual COM UDP TCP Port" (это ключ для гугления, их много разных в интернете), настраиваете ее не Ваш UDP порт и у Вас в системе появляется виртуальный порт, привязанный к данному UDP. Хитрого там ничего нет, это понятно, но исходники-то очень желательны, и не потому, что я решил их пересобрать и отредактировать, а просто, чтобы знать, что должен ответить мой контроллер на запрос драйвера... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба Хитрого там ничего нет, это понятно, но исходники-то очень желательны, и не потому, что я решил их пересобрать и отредактировать, а просто, чтобы знать, что должен ответить мой контроллер на запрос драйвера... Извините, но я сомневаюсь что вы "В теме". Дело в том, что не существует исходников того "что должен ответить мой контроллер на запрос драйвера". Почитайте хоть что такое UDP, что ли. И, заодно, что такое TCP. Иначе следующим будет вопрос "исходники драйвера чтобы понять как установить TCP соединение". TCP тоже, кстати, с полпинка поднимается в LwIP (telnet, например). 2Aner: А что именно сложного в LwIP с "поднятием" UDP? вот выдрал из своего проекта пару строк, где упоминаются нужные функции LwIP, это передача. xUdpConn = netconn_new ( NETCONN_UDP ); // could be NULL netbuf_ref(xNetBuf, (const void*)(&udpPktArray[0]), UDP_HEADER_LEN+UDB_DATA_LEN); xRes = netconn_send ( xUdpConn, xNetBuf ); Или Вы про сложность реализации в PC? там тоже ничего хитрого. А если нужен именно честный видимый операционкой виртуальный порт- вообще не вижу смысла писать то что уже написано и отлажено другими. И про необходимость надежной передачи: вы вообще-то эмулируете компорт, в котором никаких надежных передач и переповторов не предусмотрено, поэтому не вздумайте отсебятиной заниматься. Контролем целостности и валидности данных уже следующий уровень занимается, который и так должен быть реализован в софте, ориентированном на RS232. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба Или Вы про сложность реализации в PC? там тоже ничего хитрого. А если нужен именно честный видимый операционкой виртуальный порт- вообще не вижу смысла писать то что уже написано и отлажено другими. И про необходимость надежной передачи: вы вообще-то эмулируете компорт, в котором никаких надежных передач и переповторов не предусмотрено, поэтому не вздумайте отсебятиной заниматься. Контролем целостности и валидности данных уже следующий уровень занимается, который и так должен быть реализован в софте, ориентированном на RS232. Если честно, Вы сами писали подобные драйвера?? Если да, тогда вопрос, каким образом передаете конфиг порта, скорости и пр...?? Причем "котором никаких надежных передач и переповторов не предусмотрено" в этом случае?? И второе, как драйвер порта вообще узнает, что подключен именно мост уарт-эзернет, а не просто любяа шняга, которая слушает и устанавливает соединение по порту хххх udp?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба У меня есть решение. Берете проц и делаете USB - CDC -> Ethernet А на своей плате делаете Ethernet -> UART USB - CDC - стандартный класс который будет виден в винде как виртуальный ком порт автоматом. а езернет будет ваш. Я так понимаю если использовать уже показанный выше hw-group что Руслан показал, то там скорее всего описано что по UDP к вам придет. То есть они написали драйвер который виден как виртуальный ком порт и шлет понятные данные по UDP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба Берете проц и делаете USB - CDC -> Ethernet А на своей плате делаете Ethernet -> UART Я сначала тоже так думал, но очень не хочется плодить костыли, особенно с усб и виндой, это вообще "гремучая смесь" с т.з. глюков... Я так понимаю если использовать уже показанный выше hw-group что Руслан показал, то там скорее всего описано что по UDP к вам придет. То есть они написали драйвер который виден как виртуальный ком порт и шлет понятные данные по UDP. Дак это я понял, он создаст вирт. ком, но я не знаю "внутренний" протокол взаимодействия и настройки их железки компом(драйвером). Транспорт понятно - udp, но нужно иметь и драйвер и железку, и потом прослушивать канал и смотреть, что куда передается, а железки у меня нет. И навряд-ли они будут все это описывать - пользователям-то зачем это знать :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба я бегло смотрел, но я так понял что это как-бы порт двойного назначения под их железку, и под пользовательскую. С их железкой много фичь, с пользовательской мало, но из этого следует что все-таки как-то ее можно сделать. Значит они либо раскрывают протокол, либо он туп до безобразия и в пакете UDP просто передаются данные. Скорость обмена, биты четности и прочая байда - не имеет смысла для Ethernet, там ведь нет асинхронщины с необходимой времянкой, как и стоповых бит. А контроль четности перекрывается контрольными суммами. Потому есть мнение что они просто данные херачат и все, а настройки не передают. Правда управление потоком не понятно как сделано, но может так оказаться что поскольку скорость езернета сильно больше всех разумных уартов, то управления потоком просто нет... надо связываться с ребятами, скачивать что они дают, писать письма, изучать вопрос так сказать... думаю это самое близкое к тому что вам надо из того что вообще может быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 17 января, 2015 Опубликовано 17 января, 2015 · Жалоба я бегло смотрел, но я так понял что это как-бы порт двойного назначения под их железку, и под пользовательскую. надо связываться с ребятами, скачивать что они дают, писать письма, изучать вопрос так сказать... думаю это самое близкое к тому что вам надо из того что вообще может быть. А я понял, что у них есть 2 проги под 1 порт - свободно распространяемая и мультипортовая - с лицензией. Мне хватило б и однопортовой, но док по протоколу я не нашел, а может плохо искал - глаза устали... Писать им, думаю пустая затея - они же не опенсорсом занимаются, а продают железки, спрашивается, зачем рассказывать конкуренту? Может я продавать потом захочу все это ЗЫ. Поищем еще, уж больно с всякими ддк масдайными не охота связываться :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться