Russian Qt Forum

Qt => Общие вопросы => Тема начата: rain107 от Сентябрь 10, 2009, 02:34



Название: Как работать с USB?
Отправлено: rain107 от Сентябрь 10, 2009, 02:34
Необходимо снять данные с прибора, который на выходе имеет 8 аналоговых сигналов. Подскажите пожайлуста, как это можно сделать при помощи USB.
Мне также посоветовали попробовать поработать с микрофонным выходом (там уже есть АЦП) но это не очень привлекательный вариант, хотя и попроще :)

Заранее спасибо!


Название: Re: Как работать с USB?
Отправлено: lit-uriy от Сентябрь 10, 2009, 07:06
>>Необходимо снять данные с прибора, который на выходе имеет 8 аналоговых сигналов
что-то я связи не понимаю между 8 аналоговыми сигналами и USB.


Название: Re: Как работать с USB?
Отправлено: Vexator от Сентябрь 10, 2009, 07:57
я четсно говоря с USB не работал, но думаю что тут надо еще какой нить девайс на микроконтроллере ваять между USB и Аналоговым сигналом (егож надо в цифру как то преобразовать предварительно?)


Название: Re: Как работать с USB?
Отправлено: lit-uriy от Сентябрь 10, 2009, 08:17
Аналогово-цифровое переобразование сам сочиняй, дальше берёшь FTDI232R (http://www.ftdichip.com/Products/FT232R.htm) (минимум обвеса), ставишь дрова VCP (http://www.ftdichip.com/Drivers/VCP.htm) (есть под много ОСек)
и получаешь виртуальный COM-порт. Работаешь со своим промежуточным устройством как с COM-портом


Название: Re: Как работать с USB?
Отправлено: kuzulis от Сентябрь 10, 2009, 10:02
Цитировать
Необходимо снять данные с прибора, который на выходе имеет 8 аналоговых сигналов. Подскажите пожайлуста, как это можно сделать при помощи USB.
Мне также посоветовали попробовать поработать с микрофонным выходом (там уже есть АЦП) но это не очень привлекательный вариант, хотя и попроще

Не понятно.. у этогодевайса имеется USB и микрофонный выход ? О_О


Название: Re: Как работать с USB?
Отправлено: rain107 от Сентябрь 10, 2009, 12:18
я четсно говоря с USB не работал, но думаю что тут надо еще какой нить девайс на микроконтроллере ваять между USB и Аналоговым сигналом (егож надо в цифру как то преобразовать предварительно?)

  Согласен, и это уже другая часть задачи ???

>>Необходимо снять данные с прибора, который на выходе имеет 8 аналоговых сигналов
что-то я связи не понимаю между 8 аналоговыми сигналами и USB.

  Это я в общем описал то, что имею, но меня сейчас интересует именно программирование USB (допустим, что уже есть оцифрованный сигнал с микроконтроллера).


Название: Re: Как работать с USB?
Отправлено: rain107 от Сентябрь 10, 2009, 12:25
Цитировать
Необходимо снять данные с прибора, который на выходе имеет 8 аналоговых сигналов. Подскажите пожайлуста, как это можно сделать при помощи USB.
Мне также посоветовали попробовать поработать с микрофонным выходом (там уже есть АЦП) но это не очень привлекательный вариант, хотя и попроще

Не понятно.. у этогодевайса имеется USB и микрофонный выход ? О_О

Нет. Но можно подключить аналоговый сигнал с прибора на микрофонный выход ПК и работать с ним как с микрофоном. Это тоже довольно интересный вариант. Буду признателен за помощь.


Название: Re: Как работать с USB?
Отправлено: rain107 от Сентябрь 10, 2009, 12:50
Аналогово-цифровое переобразование сам сочиняй, дальше берёшь FTDI232R (http://www.ftdichip.com/Products/FT232R.htm) (минимум обвеса), ставишь дрова VCP (http://www.ftdichip.com/Drivers/VCP.htm) (есть под много ОСек)
и получаешь виртуальный COM-порт. Работаешь со своим промежуточным устройством как с COM-портом

А можно поподробнее об этом и о COM-порте, как для новичка в программировании:)? И можно ли так попробовать предварительно поработать с другими устройствами (например с флэшкой, мышкой или клавиатурой), так как сам прибор еще на стадии разработки?


Название: Re: Как работать с USB?
Отправлено: kuzulis от Сентябрь 10, 2009, 12:51
А как девайс определяется в системе, если его подключить к компу через USB ?

Есть ли какой-то фирменный софт? Под какую ОС планируется работа? И т.п. .. что за девайс?

Так есть или нет у девайса USB ?

Или девайс тупо просто выдает 8 аналоговых каналов ? Если последнее - то проще всего как советовали ниже:
1 . взять микроконтроллер с АЦП и им все мерять + в микроконтроллере написать прогу, которая не по USB а через последовательный порт передает данные + при этом желательно реализовать стандартный протокол обмена.
2. взять ПЛК и на нем все это сделать т.е. то, что описано в п.1

Если же девайс имеет USB выход - то тут сложнее:
1. Если он определяется как HID устройство - то есть возможность с ним работать см. темы на форуме http://forum.vingrad.ru/ там обсуждали нечто подобное
2. Если же он никак не определяется - то нужно писать свой драйвер для работы с этим прибором через USB (хотя, может есть и фирмовые дрова)


Название: Re: Как работать с USB?
Отправлено: kuzulis от Сентябрь 10, 2009, 12:59
Цитировать
А можно поподробнее об этом и о COM-порте, как для новичка в программировании:)? И можно ли так попробовать предварительно поработать с другими устройствами (например с флэшкой, мышкой или клавиатурой), так как сам прибор еще на стадии разработки?

1. Есть микроконтроллеры с USB выходом (поддержкой USB) , если соединить это USB контроллера и USB компа - то этот девайс (микроконтроллер)  определится как последовательный порт . На таком принципе работают и разного рода конвертеры USB<->COM (шнурки, которые стоят 100-400 р) + на таком же принципе работают мобилки, если их использовать в качестве модема, воткнув их в USB компа) :)

2. Проще всего работать с последовательным портом +  ко всему все девайсы промышленные имеют поддержку RS-232/485 . Тут форум не специализируется по кодингу USB шины... см. ссылку на форум что я выше дал.. там именно с USB было обсуждение... тем более тебе нужно изучить спецификацию USB 1.0 -3.0 по выбору для понятия что и как... :)

3. Можно как альтернативу взять микроконтроллер с поддержкой Ethernet и все на него перевести :)



Название: Re: Как работать с USB?
Отправлено: lit-uriy от Сентябрь 10, 2009, 15:51
>> И можно ли так попробовать предварительно поработать с другими устройствами
НЕТ, к кнотроллеру пойдут провода UART'а (электрический интерфейс сам определяешь, для микросхемы FTDI это обычный TTL).
И в программе на ПК работаешь, как с обычным COM-портом (поэтому поводу можешь помучать kuzulis'а т.к. он тут тему создал, в которой описывает свою библиотечку для работы с COM-портом)