|
|
  |
Посоветуйте по изучению USB, каким путём лучше идти |
|
|
|
Feb 5 2013, 12:18
|

Местный
  
Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328

|
Цитата(kovigor @ Feb 5 2013, 18:15)  Нет, конечно. Я же говорю, Гука почитайте ... P.S. Не все так просто. Длинную посылку для FS придется передавать блоками по 64 байта: http://www.jungo.com/st/support/documentat...sfer_types.htmlВыдержка из этого документа: Не путайте размер конечной точки и размер hid-репорта.
|
|
|
|
|
Feb 5 2013, 17:44
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593

|
Цитата(kovigor @ Feb 5 2013, 15:45)  Качайте Keil и разбирайте идущий с ним пример HID для вашего МК ... Смотрел для STM32. Честно? Нихрена там не понял + как мне показалось она завязана на RTX библу, которая у меня не поддерживается.
|
|
|
|
|
Feb 5 2013, 20:53
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(NaughtyFreak @ Feb 5 2013, 21:44)  Смотрел для STM32. Честно? Нихрена там не понял + как мне показалось она завязана на RTX библу, которая у меня не поддерживается. при чем тут STM32, если уже вроде как определились с LPC? Если надо с RTX, то найдете и с RTX, если надо БЕЗ нее, то и это имеется. \Keil\ARM\Boards\Keil\MCB1700\USBHID\ \Keil\ARM\Boards\Keil\MCB1700\USBMem\ И если уж хоть как-то Агурова смотрели, то представление о работе шины должно быть. Если представления нет, то и копать код нет смысла, действительно "нихрена" непонятно
|
|
|
|
|
Feb 6 2013, 05:00
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Цитата О какой ограниченности посылки вы говорите. HID-репорт может быть до 64кБ размером. Где это Вы видели hid репорт в 64К размером?
|
|
|
|
|
Feb 6 2013, 07:37
|

Местный
  
Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328

|
Цитата(andrewlekar @ Feb 6 2013, 12:00)  Где это Вы видели hid репорт в 64К размером? В дескрипторе репорта есть поля REPORT_SIZE и REPORT_COUNT, которые вместе определяют суммарный размер репорта в байтах. Откуда у меня это значение в 64к? Из Агурова и я это принял на веру, возможно, зря. Сейчас пытаюсь вспомнить подробности, но сдается мне, что есть ограничения на максимальные значения этих полей. 64к наверное не достигнуть, но 1к без проблем.
|
|
|
|
|
Feb 6 2013, 09:18
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593

|
Цитата(toweroff @ Feb 6 2013, 00:53)  при чем тут STM32, если уже вроде как определились с LPC? Если надо с RTX, то найдете и с RTX, если надо БЕЗ нее, то и это имеется.
\Keil\ARM\Boards\Keil\MCB1700\USBHID\ \Keil\ARM\Boards\Keil\MCB1700\USBMem\ Точно, я невнимательно посмотрел... На STM я до этого смотрел, но там реально очень замороченный движок в самом проце. Вчера вечером за рюмкой чаю раскуривал мануал на USB в LPC, так там школьник разберется что к чему. Откровенно говоря как работает на все 100% пока понимания нету, нужен опыт, но базовые принципы работы USB мне понятны. Гука качнул, буду изучать!
|
|
|
|
|
Feb 6 2013, 10:06
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(toweroff @ Feb 6 2013, 12:56)  kovigor, там в примерах для LPC, в общем-то, все прозрачно. Запускается "на раз", разобраться в иерархии несложно. Для стартапа device самое оно. Нужно только полное понимание дескрипторов А вот если делать host, тогда да, много чего курить надо Хост это вообще отдельная песня. Тут вот еще что важно: на каком уровне человеку это все нужно освоить ? Мне нужно было копать очень глубоко, для решения весьма специфической задачи. Поэтому пришлось досконально разобрать пример для LPC214x. И все оказалось совсем не так прозрачно, как вы пишете ...
|
|
|
|
|
Feb 6 2013, 10:23
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593

|
Задача почти тривиальная: Есть, ну скажем, гироплатформа. Она напичкана всякими сенсорами-датчиками и километром математики. Там и всеми любимый Калман, и интегратор и еще много чего. Но иногда для диагностики системы и коррекции её работы ее нужно подрубать к ПК. Ну там коэфф-ты матрицы ковариации подправить (не переписывать же каждый раз код!), калибровочные константы, посмотреть он-лайн что она выдаёт здесь и сейчас, в конце концов реализовать DFU. Подразумевается, что на ПК соотв-ий софт имеется. Для этого COM не подойдёт, очень уж замороченный получится свой протокол поверх него, да и не хочу я велик изобретать, уж коль скоро для этого юсб придумали. Посмотрел примеры для LPC, вроде не ад типа библы от СТ. Буду копать далее, еще раз спасибо всем за подсказки и советы!
|
|
|
|
|
Feb 6 2013, 10:27
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(kovigor @ Feb 6 2013, 14:06)  И все оказалось совсем не так прозрачно, как вы пишете ... Вполне возможно, т.к. у меня совсем не используются такие вещи, как Suspend, Wake-Up, а так же всякое "хитрое" управление ACK/NACK Просто обмен булками, все управление обменом на низком уровне - по умолчанию Я еще раз повторю, что все эти примеры - для стартапа device, а уж дальше - кому как надо
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|