Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Собственный драйвер виртуального СОМ порта для собственного USB устройства  (Прочитано 25324 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ValeraVi
Гость
« : 19-09-2008 12:51 » 

Здрасте всем!  Улыбаюсь

Имеется 8051 совместимый МК с USB интерфейсом, поддерживающим 5 endpoints (1 control + 2 bidir). Хотелось бы написать для него драйвер для Windows XP, чтобы после подключения девайса в системе появлялось 2 виртуальных COM порта и плюс драйвер должен обеспечивать возможность обмена данными по USB с клиентской прогой на ПК еще и через драйвер напрямую. Т.е. фактически хотелось бы иметь 3 независимых канала связи с МК.

С USB и драйверописательством практически не знаком - только книжек пока обчитался Улыбаюсь... в голове каша  Краснею Поэтому есть вопросы:

Вопорс №1 - возможно ли вообще реализовать задуманное с данным кол-вом поддерживаемых ендпоинтов в МК?

Вопрос №2 - достаточно будет написать 1 драйвер для всего этого или нужно несколько (отдельно для виртуальных компортов и отдельно для доступа напрямую)

№3 - каким должа быть прошивка в МК - это должен быть композитный ЮСБ девайс (COM port + COM port + user device)? К какому классу юсб девайсов он должен относиться?

№4 - может кто видел или имеет какой нибудь пример? В ддк нашел DDK\src\kernel\serial - драйвер COM порта. Вроде близко, но хотелось бы именно пример драйвера USB communication devices class (CDC).

Заранее спасибо.  Скромно так...
« Последнее редактирование: 31-10-2008 15:30 от Ochkarik » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 19-09-2008 13:07 » 

МК х51? с USB интерфейсом?
Допустим, тогда у него есть и описание протокала, и порты и прочее, прочее, что нужно для обеспечения работы.

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

на остальные вопросы, думаю, тебе ответят более полнее, другие люди
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ValeraVi
Гость
« Ответ #2 : 19-09-2008 13:36 » 

я имел ввиду, что имеется х51 совместимый Ага... не чистый х51. Как у Silicon Labs. У моего есть встроеный USB контроллер. Доки на него есть. Основная порблема у меня сейчас с ПК частью - с драйверами...
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 19-09-2008 14:52 » 

посмотрите книжку Агурова. в первой, прибитой гвоздем теме.

насчет как и что....
а зачем вам виртуальный ком-порт? это же уродец еще тот получится) уж если все равно драйвер писать - так пусть и интерфейс нормальный будет?

с драйвером относительно просто можно поступить...
найдите и поставьте DDK(например из  пакета KMDF 1.1)
и поищите Driver Studio 3.2 (она конечно устарела, но визард для рыб на чистом Cи - работоспособен на все 100%). ВНИМАНИЕ: использовать ТОЛЬКО Си БЕЗ "++" и классов!!!!

а дальше рекомендую наплевать на виртуальные ком порты, и сделать через read/Write. там в визарде все будет. фактически получите готовый драйвер.
PS проверял сам)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
ValeraVi
Гость
« Ответ #4 : 21-09-2008 09:09 » 

Агурова почитал, принцип понятен. Но пока что предварительное ТЗ такое, что нужны виртуальные ком-порты, если кто работал с таким и может помоч - буду благодарен.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 21-09-2008 18:10 » 

посмотрите что тут есть...
http://www.ircomm2k.de/English/download.html
может сгодится.
PS по видимому это драйвер виртуального COM порта на интерфейс IR(ИК) порта... глянул мельком, файлов много надо разбираться подойдет или нет.

PPS и http://com0com.sourceforge.net/ - Null-modem emulator (com0com) is a kernel-mode virtual serial port driver for Windows. опять же вроде через виртуальный COM порт.

оба проекта здоровые как черти...)

PPPS а вообще, наверное попроще все должно быть. поискать надо....
да и вообще навряд ли сложно.
« Последнее редактирование: 22-09-2008 08:30 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
ValeraVi
Гость
« Ответ #6 : 22-09-2008 09:50 » 

Ochkarik,  спасибо, буду разбираться...
Записан
ValeraVi
Гость
« Ответ #7 : 22-09-2008 12:46 » 

Вроде нашел то что нужно, и даже сразу 2 ком порта в системе появляются Улыбаюсь...
Вот ссылка, может еще кому понадобится:
http://www.embeddedrelated.com/groups/lpc2000/show/10446.php
Это пример для какогото филипсового МК, там исходики его прошивки и сам драйвер виртуального порта для него (подпапка VCOMHostDrv)
Дока по этому семплу есть в подпапке doc и тут:
http://www.nxp.com/acrobat_download/applicationnotes/AN10420_1.pdf
Еще кое-что по виртуальным USB COM портам можно посмотреть там:
http://www.lvr.com/serport.htm
Записан
Serguntii
Помогающий

ru
Offline Offline

« Ответ #8 : 07-03-2014 13:37 » 

Поиском нашел эту тему тоже относительно виртуального ком порта может что посоветуете что то. Задача такая написать программку с одной кнопкой на форме visual studio 2013 c# которая должна добавлять по нажатию ком порт в систему и удалять ком порт по второму нажатию. Потом добавить на форму два textrichbox  в один из которые выводить данные которые поступают в ком порт а из другого по нажатию ввод записывать данные в ком порт. Читать книжки обязательно буду, но сейчас я даже не понимаю механизма как это сделать, помогите пожалуйста.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 07-03-2014 16:42 » 

Цитата: sergeyan
Задача такая написать программку с одной кнопкой на форме visual studio 2013 c# которая должна добавлять по нажатию ком порт в систему и удалять ком порт по второму нажатию.
Вот любишь ты приключения на свою пятую точку. Особенно в нынешних операционках с параноидальной безопасностью.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #10 : 07-03-2014 17:11 » new

Хочется такое сделать, ведь кто то уже делал значит возможно как-то сделать.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines