Работа с GPS модулем по USB.

Wart
Offline
Зарегистрирован: 25.09.2011

Всем добрый день. У меня имеется GPS модуль с выходом USB B-типа на базе TIM-4H с RS232->USB преобразователем CP2102 и Arduino UNO (+экран для вывода).

Теперь собсвтенно вопрос: Возможно ли управлять (считывать) сигнал с USB GPS модуля в USB Arduino? Как бы оба устройства предназначены для работы "с хостами". При подключении GPS к компьютеру, каждую секунду в последовательный порт приходят сообщения с координатами на скорости 9600. Так же, если подключить джампер Tx1 (на фото стрелка) к последовательному входу Arduino, удается считывать значения на той же скорости 9600.

НО, при подключении USB->USB ничего не удается считать, не могу разобраться в чем причина. Питание на USB подаю, т.к. понял, что при питании Arduino от внешнего источника, на входе USB напряжение отсутствует. Соответственно и к GPS модулю тоже питание идет - контролирую его работу, считывая с Tx1 в Rx на Arduino.

Также есть небольшая отдельная микросхемка USB->RS232 на точно таком же CP2102. При ее подключении вместо USB Arduino и считывании в Rx тоже ничего не происходит...

Подскажите куда копать... 

 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Надо взять для ардуины шилд юсб хост, так как сама ардуино не является хостом. Если конечно у вас не мегаАДК последняя со встроеным хостом 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

А что за модуль гпс, где брали? 

Wart
Offline
Зарегистрирован: 25.09.2011

Даже представления не имею, что за модуль GPS.  Есть только документация к его TIM-4H.

Скажем так, возможности купить шилд USB хоста нету, нужно реализовать это програмно. Либо просто убедиться, что это невозможно и забыть :) По сути там надо просто считать данные... управлять не надо, GPS сам посылает значения в порт. (Если только я не ошибаюсь... в ближайшее время доберусь до осцилографа, чтобы убедиться в этом)

Просто я не знаю в какую сторону копать...

leshak
Offline
Зарегистрирован: 29.09.2011

Причина в том CP2102 это SLAVE девайс. И ардуина - тоже. Как на них питание не подавай ардуина Master не станет.

Вообщем USB<->USB теоретически возможно, но  ОЧЕНЬ теоретически (без покупки USB шилд-а).

Его возможно можно попробовать эмулировать програмно (смотреть в сторону V-USB библиотеки), но не факт что у ардуины хватит тогда сил на что-то еще кроме самого USB. Так же встанет вопрос "написать драйвер serial-порта...."

Так же, в теории, можно попробовать использовать "железную" реализацию. На ардуино UNO, вместо FT232 для связи с компом используется АTMega8U2, у которой есть железная реализация USB. Теоретически ее можно перепрограммировать.... но пока похоже никто это не осилил...

Вообщем если задача связать ардуину конкретно с этом модулем намного реальней про USB просто забыть и связывать их через найденные вами RX, TX.  Вы же вроде смогли получать данные в ардуину из модуля? Или "без компа" он ничего не хочет передавать ардуине?

 

polk
Offline
Зарегистрирован: 13.03.2011

 Я правильно понимаю, что любой slave девайс можно в теории подцепить к Arduino Mega ADK?

leshak
Offline
Зарегистрирован: 29.09.2011

 В теории - да. Подцепить-то вы подцепите, но ведь тут как и с большим компом. "Железо поддерживает", но нужные еще драйвера которые знают как управлять этим устройством. Если это что-то стандартное типа "мышь- клавиатура", то скорее всего получится найти что-то готовое, а вот если это "слон с пропеллером", то откуда производителю было знать что вы подключите ТАКОЕ и что с ним нужно/можно делать?