Easyelectronics.ru

Электроника для всех
Текущее время: 23 апр 2019, 23:23

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:10 
Старожил
Аватара пользователя

Зарегистрирован: 19 май 2010, 20:38
Сообщения: 269
Откуда: Россия, Москва
В Windows все, что связано с USB, работает через дрова. Но написание дров - порой довольно муторный процесс, а главное - зачастую излишний (на мой взгяд).
Например: надо мне подключить USB-устройство к девайсу на ARM. Для примера возьмем... BlueTooth-модуль (это чисто для примера, не зацикливайтесь). Как разобраться с работой этого девайса? Че ему передавать, и че от него получать? и в каком виде все это делать?
Можно конечно купить пару десятков килограмм книг по BT и начать вкуривать, дооолго и мучительно. Можно забить в гугле "BlueTooth - устройство" и в течении недельки другой отрывать че-то полезное среди рекламы и интернет-магазинов. Да и после этого, отлаживать и тестировать весь код, написанный ЧИСТО по теории СРАЗУ на АРМ-е - туго.
Можно воткнуть BT-модуль в комп, скопировать дрова в другое место, удалив из старого, дизассемблировать их, и пару месяцев копаться в коде, созданным не самой пряморукой компанией MicroSoft. Но эта перспектива меня тоже не радует.

И посетила такая идейка. Сделать девайс: с одной стороны стоит USB порт, куда втыкается интересующее нас устройство. С другой стороны висит FT232RL, этой стороной девайс втыкается в комп. А между ними - АРМ процессор, который без разбору грабит все данные с USB устройства, и через виртуальный COM-порт шлет на компьютер. И в обратную сторону то же самое. Так как к КОМ-порту НИКАКИХ дров не нужно и с ним можно работать через CreateFile, то собираем все это воедино, запускаем на компе какую-нить терминалку (или пишем сами чего-нибудь более функциональное) и начинаем издеваться над нашим BT-модулем.

В теории все вроде бы ОК. Но одна беда: Я абсолютно ничего не знаю про АРМ. Только 3 статьи ДИ прочитал. Может кто работал с USB и USART на них? Если да, напишите пожалуйста, где взять инфу по поводу работы с ними на STM32F103. Ну или если не лень, напишите примерно как с ним работать. Чтение даташитов я с себя не снимаю, естественно, однако английский не люблю очень, поэтому в даташит пожалуйста отсылать не слишком часто:)

_________________
Программирую неплохо, а в электронике профан...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:15 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Бредовая идея. Забей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:17 
Старожил
Аватара пользователя

Зарегистрирован: 19 май 2010, 20:38
Сообщения: 269
Откуда: Россия, Москва
Да я бы забил, но вот подключать USB-устройства к ARM'у мне все же нужно. А для этого надо как-то разобраться с этими самыми устройствами. А как - другого нормального способа не вижу. К тому же - такой девайс был бы отличной практикой мне для работы с USB.

_________________
Программирую неплохо, а в электронике профан...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:23 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2010, 18:07
Сообщения: 2438
Откуда: Челябинск
Написание дров, как раз самый важный процесс ( вот тут и Мозго-Ломный процесс, гора литературы и пр.). После выдаем библиОтэку, устройство- доступ ( с подробностями) и все кричат ура и кодят. Остальное читал по диагонали.

_________________
Каяться о сделанном - к прежней глупости добавлять новую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:25 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Одно дело подключать (физический интерфейс), и другое дело общаться с подключенными устройствами (протокол обмена, набор команд, структуры передаваемых и принимаемых данных и т.д.)
Тебя, конкретно, что из этого интересует?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 15 ноя 2010, 23:31 
Старожил
Аватара пользователя

Зарегистрирован: 19 май 2010, 20:38
Сообщения: 269
Откуда: Россия, Москва
меня интересует подключение и обмен данными между устройством и ARM. Не думаю, что там байты другого размера))) так что по идеи должно быть несложно имея удобную терминалку на компе и даташит в зубах разобраться со структурами данных и пр. потому что так можно имея под рукой всю мощь ПК написать программу взаимодействия на высокоуровневом языке, думая только о том, какие байты и в какой последовательности слать. А если делать на АРМ сразу - тут хрена с два пойму, где косяк: то ли формат посылки неверный, толи провода оборвались, толи КЗ где-то, толи прошилось криво.

_________________
Программирую неплохо, а в электронике профан...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 01:23 
Старожил

Зарегистрирован: 29 янв 2010, 16:35
Сообщения: 218
Откуда: Санкт-Петербург
Так и пиши: "хочу аппаратный сниффер USB"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 01:33 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
c0te писал(а):
меня интересует подключение и обмен данными между устройством и ARM. Не думаю, что там байты другого размера))) так что по идеи должно быть несложно имея удобную терминалку на компе и даташит в зубах разобраться со структурами данных и пр. потому что так можно имея под рукой всю мощь ПК написать программу взаимодействия на высокоуровневом языке, думая только о том, какие байты и в какой последовательности слать. А если делать на АРМ сразу - тут хрена с два пойму, где косяк: то ли формат посылки неверный, толи провода оборвались, толи КЗ где-то, толи прошилось криво.

Наивный финский парень. Все не так то просто, как ты себе это представляешь. Не веришь мне (насчет бредовой идеи), послушай мнения других.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 08:40 
Старожил

Зарегистрирован: 07 апр 2010, 19:27
Сообщения: 1245
Откуда: Киев
savant писал(а):
Так и пиши: "хочу аппаратный сниффер USB"

Действительно!

И возникает вопрос: анапуркуа?
В смысле зачем аппаратный сниффер если есть реально работающие программные ;)

Правда тут все равно действует проблема, что нужно достаточно хорошо себе представлять логику работы устройства обмен с которым перехватывается, и кстати дамп будет ОЧЕНЬ-ОЧЕНЬ немаленьким и не очень удобным для чтения (а аппаратный дамп это вообще катастрофа).
Но таки правда, что если собираешься писать свой драйвер, этот дамп очень даже неплохой учебный пример, позволяющий получить точные ответы обо всех неоднозначностях и косяках официальной документации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 09:38 
Старожил

Зарегистрирован: 27 янв 2010, 12:28
Сообщения: 446
Откуда: Харьков
Brigadir
+1

ТС, то, что ты написал, бред. Да, снифер USB - сделать можно. И уже задали правильный вопрос: "Зачем?". Для тех целей, что описаны в начале, это бесполезно. Без обид, но тут налицо неправильно заданный вопрос по причине незнания. И ничего обидного тут нет. Ведь не зря есть высказывание, что чтобы правильно задать вопрос, надо знать половину ответа. Поэтому для начала просто почитай про USB. Что это такое и с чем его едят. Это не просто кусок провода, по которому бегают только нужные байты. Инфа легко доступна в инете.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 20:59 
Старожил
Аватара пользователя

Зарегистрирован: 19 май 2010, 20:38
Сообщения: 269
Откуда: Россия, Москва
Я не обижаюсь. Просто прошу совета)) Если есть другие способы, попроще - я с радостью их приму. Писали тут про программый сниффер - спасибо, не думал, что такие есть. Поищу.
А по поводу USB - я знаю примерно что это. Как реализован обмен. Как примерно это все обрабатывает винда (соответственно, что шлет устройство). НО:
Я не знаю, ЧТО реализовано а АРМ-контроллере: тупо порт, который работает по протоколу USB (аля USART в AVR) или же какие-то простейшие действия с устройстовом он производит. Не знаю, КАК обращаться к нему из программы и как читать/писать туды данные. И прошу именно помощь по этому поводу без наездов:) ведь вроде бы никому ничего не мешало написать: "Это тупо делать, потому что есть уже программные снифферы. Копай туда." вместо грубо говоря "идиот, нах надо? разберись хоть в чем-нить, а потом уже пиши!!" (это так, на будущее плз).
Я знаю что ОЧЕНЬ многого не знаю. Поэтому собственно и пишу на этом форуме - чтобы знающие мне подсказали, куда копать.

_________________
Программирую неплохо, а в электронике профан...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 21:22 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 5423
Откуда: Москва
Посмотреть, что реализовано в ARM контроллере (а какой, кстати, имеется в виду?) можно изучив его документацию. USB снифер этой проблемы не решает.

Посмотреть, что и как реализовано на вашем USB устройстве, которое вы хотите подключить, можно, изучив документацию. USB снифер может помочь только в случае ее полного отсутствия, когда необходимо делать RE.

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

Предлагаемая вами схема - бред сивой кобылы. Это и не снифер, и не логический анализатор, и даже не эмулятор. Это черт знает что. С тем же успехом сырые данные (если вы вообще сможете их добиться от устройства) вы можете получить и простейшими средствами Windows, безо всяких драйверов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 16 ноя 2010, 21:35 
Старожил
Аватара пользователя

Зарегистрирован: 19 май 2010, 20:38
Сообщения: 269
Откуда: Россия, Москва
То, что идея глупа я понял уже давно - до написания поста. Написал же ибо не видел других способов разобраться с протоколом определенного устройства. Мне уже сказали, что есть программные реализации. Этим я и займусь.
А по поводу
"Посмотреть, что реализовано в ARM контроллере (а какой, кстати, имеется в виду?) можно изучив его документацию." (какой контроллер - в начале написано мельком STM32F103).
Это и ежу понятно, НО у меня есть две возможности:
1) Открыть даташит, положить рядом с компом словарь и начать переводить, долго пытаясь вникнуть в его содержание.
2) Спросить у людей - может кто уже разбирался с USB. И тогда может кто и ответит например:
"В АРМ реализовано только прием/отправка байтов, все остальное программист берет на себя. Чтобы поработать с портом надо примерно сделать так и сяк. Почитать можно в такой статейке (ссылка)"
И это бы сэкономило кучу времени.
Про то, что реализовано в ARM проще спросить у тех, кто это знает. Быстрее и информативнее.
А изучать кодинг чисто по даташитам - это тупо. Можно конечно открыть даташит, нарыть справочник команд и начать перебором тыркать их в прогу, пока не подберешь удачный код. Но это бредово.

_________________
Программирую неплохо, а в электронике профан...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 20 ноя 2010, 01:42 
Старожил

Зарегистрирован: 23 окт 2010, 22:18
Сообщения: 279
Откуда: г. Пермь
c0te писал(а):
А изучать кодинг чисто по даташитам - это тупо. Можно конечно открыть даташит, нарыть справочник команд и начать перебором тыркать их в прогу, пока не подберешь удачный код. Но это бредово.

В даташите редко описывается процесс кодинга (если это не спец-приложение типа апнота). Там как раз описывается железо и его возможности. Изучив железо Вы поймете что может данный АРМ. USB достаточно сложный интерфейс чтобы однозначно дать ответ на ваш вопрос.
В самом микроконтроллере всегда реализуется железо. Может быть реализуются варианты логики работы интерфейса (типа конечных автоматов), но верхний уровень протокола - всегда программный. Только программист говорит процу что откуда и куда кидать или принимать. И не важно, АРМ это или допустим АВР...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 20 ноя 2010, 06:44 
Старожил

Зарегистрирован: 07 апр 2010, 19:27
Сообщения: 1245
Откуда: Киев
c0te писал(а):
.

Уточните пожалуйста, что вы знаете?

Без обид, просто USB реально ОЧЕНЬ сложный интерфейс, особенно когда речь идет о работе с такими сложными вещами как Bluetooth.

И еще, учите языки. Лучше всего для инженера свободно владеть английским и немецким.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 20 ноя 2010, 21:25 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2010, 18:07
Сообщения: 2438
Откуда: Челябинск
c0te
Это Вы про свой проект навигатор + веб камера?
Копать в cторону USB On-The-Go. Это спецификация. 2 мобильных штучки делают объмен между собой. Кто хост кто слейв договариваются сами.

_________________
Каяться о сделанном - к прежней глупости добавлять новую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB->USB переходник :)
СообщениеДобавлено: 20 ноя 2010, 23:36 
Старожил

Зарегистрирован: 01 июл 2010, 15:30
Сообщения: 473
Откуда: Энгельс
c0te писал(а):
В Windows все, что связано с USB, работает через дрова. Но написание дров - порой довольно муторный процесс, а главное - зачастую излишний (на мой взгяд).

Вовсе не обязательно писать драйвера для самодельных USB устройств. Всё уже написано за нас. LibUsb называется. Использовать её не сложней, чем COM порт через CreateFile пинать.
А сниффер вещь тут бесполезная. Во первых, сам протокол USB очень хорошо стандартизирован и документирован. Во вторых, если нужны драйвера для USB хоста на каком-нибудь АРМе для какого-то конкретного устройства, то они опять-же уже написаны. Место где их можно посмотреть называется ядро Linux.
Пусть в готовом виде их может и не удастся использовать (хотя как знать, может ядро Linux туда целиком запихнуть), но вдохновиться на них точно можно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB