реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Посоветуйте по изучению USB, каким путём лучше идти
kovigor
сообщение Feb 5 2013, 11:45
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(NaughtyFreak @ Feb 5 2013, 14:37) *
Понял, буду изучать!
Скачал refernce manual на LPC1700, сразу волна ностальгии по АВР нахлынула. После беглого взгляда по периферии USB device ужас от STM32 понемногу начал проходить.

Качайте Keil и разбирайте идущий с ним пример HID для вашего МК ...
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 5 2013, 12:18
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 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-репорта.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 5 2013, 12:31
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(shreck @ Feb 5 2013, 15:18) *
Не путайте размер конечной точки и размер hid-репорта.

Признаюсь честно: я никогда не делал HID - устройств с репортами, превышающими по длине 64 байта. Пусть этот момент для ТС разъяснит кто-то более опытный ...
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Feb 5 2013, 17:44
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Цитата(kovigor @ Feb 5 2013, 15:45) *
Качайте Keil и разбирайте идущий с ним пример HID для вашего МК ...

Смотрел для STM32. Честно? Нихрена там не понял + как мне показалось она завязана на RTX библу, которая у меня не поддерживается.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 5 2013, 19:40
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(NaughtyFreak @ Feb 5 2013, 20:44) *
Смотрел для STM32. Честно? Нихрена там не понял + как мне показалось она завязана на RTX библу, которая у меня не поддерживается.

Для вашего LPC cмотрите. Чтобы что-то понять, необходимо понимать, как работает шина. USB - не UART ...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 5 2013, 20:53
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 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\

И если уж хоть как-то Агурова смотрели, то представление о работе шины должно быть. Если представления нет, то и копать код нет смысла, действительно "нихрена" непонятно
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Feb 6 2013, 05:00
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
О какой ограниченности посылки вы говорите. HID-репорт может быть до 64кБ размером.

Где это Вы видели hid репорт в 64К размером?
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 6 2013, 07:37
Сообщение #23


Местный
***

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



Цитата(andrewlekar @ Feb 6 2013, 12:00) *
Где это Вы видели hid репорт в 64К размером?

В дескрипторе репорта есть поля REPORT_SIZE и REPORT_COUNT, которые вместе определяют суммарный размер репорта в байтах.
Откуда у меня это значение в 64к? Из Агурова и я это принял на веру, возможно, зря. Сейчас пытаюсь вспомнить подробности, но сдается мне, что есть ограничения на максимальные значения этих полей. 64к наверное не достигнуть, но 1к без проблем.
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Feb 6 2013, 09:18
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 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 мне понятны. Гука качнул, буду изучать!
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 6 2013, 09:51
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(NaughtyFreak @ Feb 6 2013, 12:18) *
Гука качнул, буду изучать!

Вот еще полезный материал:
http://www.beyondlogic.org/usbnutshell/usb1.shtml
Ну и книги Jan Axelson по USB очень и очень хороши:
http://www.lvr.com/usb.htm#books
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 6 2013, 09:56
Сообщение #26


Гуру
******

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



kovigor, там в примерах для LPC, в общем-то, все прозрачно. Запускается "на раз", разобраться в иерархии несложно. Для стартапа device самое оно.
Нужно только полное понимание дескрипторов
А вот если делать host, тогда да, много чего курить надо biggrin.gif
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 6 2013, 10:06
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 6 2013, 12:56) *
kovigor, там в примерах для LPC, в общем-то, все прозрачно. Запускается "на раз", разобраться в иерархии несложно. Для стартапа device самое оно.
Нужно только полное понимание дескрипторов
А вот если делать host, тогда да, много чего курить надо

Хост это вообще отдельная песня.
Тут вот еще что важно: на каком уровне человеку это все нужно освоить ? Мне нужно было копать очень глубоко, для решения весьма специфической задачи. Поэтому пришлось досконально разобрать пример для LPC214x. И все оказалось совсем не так прозрачно, как вы пишете ...
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Feb 6 2013, 10:23
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



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

Посмотрел примеры для LPC, вроде не ад типа библы от СТ. Буду копать далее, еще раз спасибо всем за подсказки и советы! sm.gif
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 6 2013, 10:27
Сообщение #29


Гуру
******

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



Цитата(kovigor @ Feb 6 2013, 14:06) *
И все оказалось совсем не так прозрачно, как вы пишете ...

Вполне возможно, т.к. у меня совсем не используются такие вещи, как Suspend, Wake-Up, а так же всякое "хитрое" управление ACK/NACK
Просто обмен булками, все управление обменом на низком уровне - по умолчанию
Я еще раз повторю, что все эти примеры - для стартапа device, а уж дальше - кому как надо sm.gif
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 6 2013, 10:36
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 6 2013, 13:27) *
Вполне возможно, т.к. у меня совсем не используются такие вещи, как Suspend, Wake-Up, а так же всякое "хитрое" управление ACK/NACK

А вот мне это как раз и было нужно, и еще много чего ...
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01407 секунд с 7
ELECTRONIX ©2004-2016