|
USB HOST, нужно сделать USB HOST на МК |
|
|
|
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%. Если не зависнет за день - значит зависнет через неделю / месяц, но зависнет обязательно. Интерфейс усб изначально не предназначен для безотказной работы и отличие к примеру от эзернета.
|
|
|
|
|
Dec 20 2013, 14:47
|

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

|
Цитата(mantech @ Dec 20 2013, 09:22)  Именно так. Мой совет всем, кто делает устройства с USB в режиме 24\7 делайте обязательную проверку приема\передачи данных, пусть даже ничего не надо передавать - посылайте что-то типа пинг-пакетов, и если приема нет - сразу перегружайте хост-контроллер, причем с временным отключением питания девайса (зависон может идти по причине него) после этого, когда пройдет переинициализация, снова гоняйте "пинги", и т.д. Только так можно добиться какой-либо стабильной работы в необслуживаемом устройстве. Эта.. А зачем посылать? Оно там само посылается. Не помню навскидку, 1 или 3 миллисекуды для фуллспид. А если не присылается, то девайс будет саспендед. Само по себе оно не отвалится, но тут зависит как хост имплементирован. И как он подсединятся будет. Через внешний хаб или нет и так далее. То бишь в теории подключение чего нибудь к другому порту хаба или хоста может спровоцировать саспенд и USB ваш будет "обесточен". В опчем, надо внимательно рассматривать грабли. И никакие "пинги" тут не помогут, да и бесполезны они. И редандант
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 20 2013, 15:23
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(A. Fig Lee @ Dec 20 2013, 18:47)  Эта.. А зачем посылать? Оно там само посылается. Не помню навскидку, 1 или 3 миллисекуды для фуллспид. А если не присылается, то девайс будет саспендед. Само по себе оно не отвалится, но тут зависит как хост имплементирован. И как он подсединятся будет. Через внешний хаб или нет и так далее. То бишь в теории подключение чего нибудь к другому порту хаба или хоста может спровоцировать саспенд и USB ваш будет "обесточен". В опчем, надо внимательно рассматривать грабли. И никакие "пинги" тут не помогут, да и бесполезны они. И редандант На вскидку должно быть не более 50мсек или суспенд. Был случай, когда ответ девайс посылал, но видать его стек на уровне приложения завис, и пакеты данных не шли... Да, хаб будет обесточен, НО во первых - я ооочень редко встречал что-то подключаемое через хабы (все-таки это контроллер, а не комп, к нему редко что-либо гирляндами подключают  )
|
|
|
|
|
Dec 20 2013, 16:36
|

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

|
Цитата(mantech @ Dec 20 2013, 10:23)  На вскидку должно быть не более 50мсек или суспенд. Был случай, когда ответ девайс посылал, но видать его стек на уровне приложения завис, и пакеты данных не шли... Да, хаб будет обесточен, НО во первых - я ооочень редко встречал что-то подключаемое через хабы (все-таки это контроллер, а не комп, к нему редко что-либо гирляндами подключают  ) 1 ms Цитата The 1 ms frame rate in full speed / low speed USB, is used for a number of purposes, such as scheduling access to the bus, and as a timing reference for interrupt and isochronous transfers.
For high speed, a higher frame rate was deemed appropriate, while still maintaining a relationship with the existing 1 kHz rate.
To this end, high speed uses the 'Microframe' which is 125us long (8 Microframes per millisecond). The correspondence with the 1ms frame numbering is maintained in the high speed SOF packets by repeating each frame number in 8 successive Microframes Хаб может быть не только внешним, но и внутренним, АФАИК. То что, на уровне приложения зависло, не должно влиять на USB фреймы.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 22 2013, 02:41
|

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

|
Цитата(haker_fox @ Dec 21 2013, 21:22)  На счёт com-порта... Сейчас актуально, когда в приборе присутствует их несколько: RS-232, Ethernet, USB. До сих пор ставят GPIB в измерительное оборудование.
На счёт USB host. В целом сейчас всё действительно стало проще, чем было раньше. Куча разного готового софта (про качество молчу) на lpcware.com, mbed.org и на других наверно ресурсах.
Сам в августе этого года поднимал (правильнее сказать прикручивал готовых) USB host к lpc1768. Правда ему только MSC надо обслуживать. Подъём занял 1 неделю, и ещё одну - на вылизывание мелких проблем. по USB еще и грабли на Windows стороне могут быть. Я примерно пару недель убил на то, чтобы доказать что косяки не на моей стороне, а со стороны виндоус. Гуглил, пальцем тыкал, компилил примеры. Месяца 2-3 было - у нас проблема с USB firmware. На маке все работало без всяких танцев с бубном, сразу как положено.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 22 2013, 09:27
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Golikov A. @ Dec 22 2013, 10:33)  меня особо угнетает когда одной USB устройство работающее на win xp перестает работать или определяться на vista, да еще так себя ведет как будто железка погорела... Это же все бытовуха, работает в зависимости от погоды и настроения, сам намучался, когда сделал терминалку для вендингового аппарата, она работала под виндой, через УСБ с ПЛК собственной разработки. Так вот винда глючила раз в месяц, плюс криворукие пользователи ей еще неплохо в этом "помогали" и отваливался усб, причем виндовый хост, а ПЛК ни разу не заглючил, хотя все расчеты и управление автоматом были именно на нем, винда была только для показа картинок и настройки ЗЫ. вот теперь делаю все с использованием COM порта и ДОСа(вполне серьезно!), т.к. сделанные полтора года назад, табло, до сих пор работают и не виснут! Вот и делайте выводы...
|
|
|
|
|
Dec 30 2013, 14:28
|

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

|
Цитата(Golikov A. @ Dec 22 2013, 01:33)  сделали каку для мака, и давай на честный виндус гнать меня особо угнетает когда одной USB устройство работающее на win xp перестает работать или определяться на vista, да еще так себя ведет как будто железка погорела... Нет, Мак там вообще никаким боком. Стадартный USB stack виртуального COM порта. Если на Виндоус не закрыть соединение, а чисто дисконнектнутся, то все. Больше не законнектишся. Я уж как не искал, ничего найти не мог. Попробовал с Мака - как часы, хоть когда дергай, выдергивай, всегда все работает. Пришлось гуглить, тыкать пальцем вот такие ссылки: http://social.msdn.microsoft.com/Forums/wi...backs-in-winusbи доказывать, что это их косяк. Сейчас работает как часы. На виндоус 7, на 8ке вроде у них проблемы.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Dec 30 2013, 17:20
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(SyncLair @ Dec 30 2013, 15:56)  Может это  , а не пробывали делать тоже самое на Colibri ? Всё-таки графика и поддержка USB кстате тоже есть но скорее всего нестабильная. Если честно, вообще незнал про такую ОС, и пока трудно представляю, как под нее что-то писать, и вообще доки где брать... Да и вот это слегка смущает - "а также в использовании языка ассемблера, как основного языка разработки KolibriOS и программ для неё." - как-то привык писать больше на си и паскале под х86... По досу все-таки опыт поболее... и с портами и с графикой, да и все-таки есть уже годами проверенные компиляторы и сама дос уже "вылизана" вдоль и поперек
Сообщение отредактировал mantech - Dec 30 2013, 17:24
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|