|
USB HOST, нужно сделать USB HOST на МК |
|
|
|
Dec 16 2013, 15:52
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 16-11-09
Пользователь №: 53 655

|
есть usb device реализованный на процессоре Cortex-M3 NXP LPC1768, при подключении к компьютеру как виртуальный ком порт, usb там реализован на МК. Требуется сделать для него хост. у меня есть отладка на STM32F207ZET6 решил начать с неё , первое с чем столкнулся это вот http://gyazo.com/b3b84ac864b6e089c610db52759cf8a0 в документе UM1021 User manual STM32F105xx, STM32F107xx, STM32F2xx and STM32F4xx USB On-The-Go host and device library. Правильно ли я понимаю что хост можно сделать ТОЛЬКО ДЛЯ : 1 Mass storage 2 HID (keyboard + mouse) 3 FAT FS file system и соответственно с помощью этой библиотеки я не смогу сделать нужный хост?? STM32F207ZET6 на этом проце можно както быстро реализовать хост который мне нужен?
|
|
|
|
|
 |
Ответов
|
Dec 16 2013, 16:32
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Ruslan85 @ Dec 16 2013, 19:52)  на этом проце можно както быстро реализовать хост который мне нужен? Быстро ? Сомнительно. Если надо быстро, то берите отладочную плату с предустановленным Линуксом, там уже все реализовано. Но только на этом МК Линукс не заработает. Вот российские отладочные платы: http://www.starterkit.ru А так придется или писать самому (а это очень сложно и совсем не быстро), или искать какие-то библиотеки сомнительного качества. Кстати, а чем вам обычная персоналка в роли хоста не нравится ? Да, думаю, вы все правильно понимаете. HID или Mass-Storage для МК в качестве дивайса для МК вполне естественны. А вот виртуальный COM - порт - нет. У МК этих портов и без того куча, причем реальных ...
|
|
|
|
|
Dec 16 2013, 19:36
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 16-11-09
Пользователь №: 53 655

|
Цитата(kovigor @ Dec 16 2013, 20:32)  Быстро ? Сомнительно. Если надо быстро, то берите отладочную плату с предустановленным Линуксом, там уже все реализовано. Но только на этом МК Линукс не заработает. Вот российские отладочные платы: с линуксом в жизни не сталкивался , думаю это долгая история получится, да и к тому же там реал тайм нужен, и задержки в 1мс уже могут доставлять неудобства, с линуксом наверно сложно будет чётко время расчитывать. да и девайс ограничен в размерах. Цитата(kovigor @ Dec 16 2013, 20:32)  А вот виртуальный COM - порт - нет. У МК этих портов и без того куча, причем реальных ... так то оно так, только те кто делал то с чем мне конектится надо, решили уйти от устаревших ком портов, и передавать данные размером в 10ки байт по USB. и объяснять им, что это маразм оказалось бесполезно. Цитата(Golikov A. @ Dec 16 2013, 20:52)  А LPC 1768 вам почему как хост не нравится? Зачем элементную базу плодить? у него стандартный железный хост интерфейс, который много чего делает сам, и к нему написано куча оберток упрощающих жизнь.
на уровне приконектился - отконектился, такие контрольные точки, такие данные пришли, такие данные отправить... так получилось что из ARMов я только с stm работал и то не плотно, поэтому решил на них, но если вы говорите что на LPC это может оказаться намного быстрее и проще наверно стоит посмотреть в эту сторону, а так называемые обёртки , они на оф сайте есть или надо рыскать на просторах интернета? просто кроме FTDI я вообще USB никакой не делал, и соответственно даже не знаю с чего и начать??? HOST поднимать это не по UARTу в FTDIку данные кидать
|
|
|
|
|
Dec 16 2013, 20:08
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Ruslan85 @ Dec 16 2013, 23:36)  только те кто делал то с чем мне конектится надо, решили уйти от устаревших ком портов, и передавать данные размером в 10ки байт по USB. и объяснять им, что это маразм оказалось бесполезно. Тогда объясните им, что в разумный срок и с разумным качеством эта задача неразрешима. Может, тогда они поймут, что стрелять из гаубицы по воробьям не стоит. От этого выиграют все: они получат вовремя качественную и предсказуемо работающую систему, а вы избавитесь от множества проблем и сохраните себе зрение и нервы. Кстати, COM - порт устарел только в их воображении, не более того. P.S.Личный опыт: ARM9. Нужно было реализовать двухпортовый хост без ОС и подключить к нему HID - устройства. До этого я реализовывал только разные дивайсы на разных МК, но никак не хосты. Так вот, задачу я решил, за 4 месяца, или около того. Если бы у меня не было опыта реализации дивайсов, задачу лично я отнес бы к неподъемным. Да, еще я использовал аппаратный "логический анализатор", который позволял захватывать транзакции на шине. Без него к этим четырем месяцам можно было бы смело прибавить еще месяца два - три. Так что ...
|
|
|
|
|
Dec 16 2013, 21:54
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(kovigor @ Dec 17 2013, 00:08)  Кстати, COM - порт устарел только в их воображении, не более того. P.S. Личный опыт: ARM9. Нужно было реализовать двухпортовый хост без ОС и подключить к нему HID - устройства. До этого я реализовывал только разные дивайсы на разных МК, но никак не хосты. Так вот, задачу я решил, за 4 месяца, или около того. Да, еще я использовал аппаратный "логический анализатор", который позволял захватывать транзакции на шине. Без него к этим четырем месяцам можно было бы смело прибавить еще месяца два - три. Так что ... ну ком порт реально устарел, найдете хоть один современный ноутбук с ком портом, обсудим его новизну%)... Для конечного пользователя делать сейчас продукт с подключением по ком порту - мне кажется стыдно, UART как средство внутренней связи - да имеет право жить, но как выходной интерфейс уж увольте.... Из того же личного опыта В начале года ставили задачу подключения джойстика чужого HID + внутренний интерфейс к нашему прибору, и я смотрел на задачу примерно также как вы, оценивая ее на полгодика. Мой напарник сказал найдем что-то из готового, и попробуем, может все не так страшно. Через неделю джойстик функционировал, я даже офигел. Дальше я думал будет читка чужого кода и разбор того что там да как, оказалось читать то и нечего особо, все решено на железном уровне, как раз тот проц 1768 стоял. легкий тюнинг, добавка реакций на ошибки, и вуаля, решена задача менее чем месяц. Разветвители я подключать не пробовал, ровно как и обрабатывать несколько приборов, так как ТЗ этого не требует. Но как я понимаю у ТС тоже самое, 1 устройство, просто организовать канал данных. П.С. кстати никто вам не мешает в таком раскладе сделать на передаваемой стороне HID или что-то типа того, да хоть что-то свое неописанное, поставить пользователський класс устройства. И передавать данные по USB полностью в своем формате, просто между 2 интерапт конечными точками. Все эти фигли мигли с виртуальными ком портами нужны для встраивания в виндоус и другие ОС, а если такой задачи нет, то и нечего убиваться. Кстати ставлю на то что класс вирт ком порта тоже взять из стандартных примеров, так как в LPC и USB устройство тоже с широкими железными функциями. эх... прошли времена ручного разбора пакетов USB....
|
|
|
|
|
Dec 17 2013, 12:42
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Golikov A. @ Dec 16 2013, 16:54)  ну ком порт реально устарел, найдете хоть один современный ноутбук с ком портом, обсудим его новизну%)... Для конечного пользователя делать сейчас продукт с подключением по ком порту - мне кажется стыдно, UART как средство внутренней связи - да имеет право жить, но как выходной интерфейс уж увольте....
....
Все эти фигли мигли с виртуальными ком портами нужны для встраивания в виндоус и другие ОС, а если такой задачи нет, то и нечего убиваться. Кстати ставлю на то что класс вирт ком порта тоже взять из стандартных примеров, так как в LPC и USB устройство тоже с широкими железными функциями.
эх... прошли времена ручного разбора пакетов USB.... А что, лаптоп является показателем устареваемости интерфейса? Я не припомню лаптопов с CANbus, RS-485 etc.. Но они ведь не устарели. И почему подключение обязательно к компьютеру должно быть. 2. Если нет задачи "встраивания в ОС" то вполне может быть и COM port.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 17 2013, 16:17
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Lagman @ Dec 17 2013, 19:44)  До сих пор выпускаются измерительные приборы с RS-232, хотя , надо признать, и в меньших количествах. При этом альтернативный интерфейс всё же ethernet, а не USB Согласен полностью - COM выкинули с ноутов потому, что это бытовка (домохозяйкам эти порты не нужны), а в реальности COM гораздо стабильнее USB, к тому же в нем легко сделать гальваноразвязку (попробуйте сделать ее на USB  ) Так же легко подключить RS-485 и т.д. Поэтому вся пром. аппаратура имеет COM порты и только как альтернативу - USB. Если ваше устройство является элементом промавтоматики, постарайтесь убедить свое руководство использовать COM порты, уж поверьте - они будут намного стабильнее в работе!
Сообщение отредактировал mantech - Dec 17 2013, 16:17
|
|
|
|
|
Dec 17 2013, 19:34
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(kovigor @ Dec 17 2013, 20:56)  Или реализуйте этот COM - порт как дополнительный, благо это почти бесплатно (чтобы можно было по желанию использовать или USB, или COM). Я почти уверен, что очень скоро заказчик, наплевавшись и наругавшись плохими словами, от USB откажется ... Именно это и хотел сказать. В своих устройствах USB использую только как временное подключение (скачать логи на флешку, залить файл с настройками и пр...), а для работы 24\7 только RS-485, или 232. Сколь перепробовал USBшных девайсов, с библиотеками от СТМ, Prolific, FT232... только последние еще более-менее могут работать долгое время без зависаний компа или "отваливания" соединения...
|
|
|
|
|
Dec 20 2013, 06:38
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 16-11-09
Пользователь №: 53 655

|
Цитата(mantech @ Dec 17 2013, 23:34)  Именно это и хотел сказать. В своих устройствах USB использую только как временное подключение (скачать логи на флешку, залить файл с настройками и пр...), а для работы 24\7 только RS-485, или 232. Сколь перепробовал USBшных девайсов, с библиотеками от СТМ, Prolific, FT232... только последние еще более-менее могут работать долгое время без зависаний компа или "отваливания" соединения... в моём случае мой хост будет работать с девайсом долгое время возможно и 24/7 . При реализации и хоста и девайса на микроконтроллере велика ли вероятность "отваливания" и зависания???
|
|
|
|
|
Dec 20 2013, 07:50
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(Ruslan85 @ Dec 20 2013, 10:38)  в моём случае мой хост будет работать с девайсом долгое время возможно и 24/7 . При реализации и хоста и девайса на микроконтроллере велика ли вероятность "отваливания" и зависания??? Вероятность "зависания" или "отваливания" 50%: либо зависнет либо нет. При работе необслуживаемого устройства в режиме 24/7 следует принимать вероятность зависания 100%. Если не зависнет за день - значит зависнет через неделю / месяц, но зависнет обязательно. Интерфейс усб изначально не предназначен для безотказной работы и отличие к примеру от эзернета.
|
|
|
|
Сообщений в этой теме
Ruslan85 USB HOST Dec 16 2013, 15:52             A. Fig Lee Цитата(mantech @ Dec 20 2013, 09:22) Имен... Dec 20 2013, 14:47              mantech Цитата(A. Fig Lee @ Dec 20 2013, 18:47) Э... Dec 20 2013, 15:23               A. Fig Lee Цитата(mantech @ Dec 20 2013, 10:23) На в... Dec 20 2013, 16:36 Golikov A. А LPC 1768 вам почему как хост не нравится? Зачем ... Dec 16 2013, 16:52 SyncLair Цитата(Golikov A. @ Dec 16 2013, 20:52) А... Dec 17 2013, 12:21 Golikov A. Ну тогда вам надо немного ободрится.
Совсем недав... Dec 16 2013, 19:59 Ruslan85 Golikov A. спасибо теперь хоть немного понятно к... Dec 16 2013, 20:25 Golikov A. Ну если пром автоматика, то езернет или rs485/422
... Dec 17 2013, 19:06 haker_fox На счёт com-порта... Сейчас актуально, когда в при... Dec 22 2013, 02:22 A. Fig Lee Цитата(haker_fox @ Dec 21 2013, 21:22) На... Dec 22 2013, 02:41  Golikov A. Цитата(A. Fig Lee @ Dec 22 2013, 06:41) Н... Dec 22 2013, 06:33   mantech Цитата(Golikov A. @ Dec 22 2013, 10:33) м... Dec 22 2013, 09:27    SyncLair Цитата(mantech @ Dec 22 2013, 13:27) ЗЫ. ... Dec 30 2013, 11:56     mantech Цитата(SyncLair @ Dec 30 2013, 15:56) Мож... Dec 30 2013, 17:20   A. Fig Lee Цитата(Golikov A. @ Dec 22 2013, 01:33) с... Dec 30 2013, 14:28
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|