|
USB bulk, пример из TNKernel |
|
|
|
Feb 13 2010, 17:55
|

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

|
Озадачился скоростью передачи по USB. Выжал из своего девайса (базировался на примере Keil) порядка 6.8 Мбит/с, камни пользовал LPC2148 и LPC2468 Наткнулся на TNKernel.com, Юрий демонстрирует бенчи порядка >1МБайт/с Интересно, думаю, посмотреть реализацию, в частности DMA. Скачал архив, скормил Keil (4.03) Скомпилилось. Прошил с помощью FlashMagic в LPC2148. Девайс не проходит энумерацию  Смотрю через USBTrace - хост шлет в девайс 7 байт: B0 04 00 00 00 00 07, ответа от девайса нет Полазил по форуму - похоже, никто граблей не встретил с данным примером... на что же я напоролся - непонятно На всякий случай проставил IAR, подсунул проект для него из \LPC2146_USB_DMA\IAR\ - йар вообще компилировать не хочет, ошибки сыпет Кто компилировал под Keil, желательно вариант с DMA, отзовитесь, пожалуйста... не пойму где, казалось бы, рабочий проект может не работать
|
|
|
|
|
Feb 15 2010, 17:45
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695

|
Цитата(toweroff @ Feb 13 2010, 21:55)  Скомпилилось. Прошил с помощью FlashMagic в LPC2148. Девайс не проходит энумерацию  Смотрю через USBTrace - хост шлет в девайс 7 байт: B0 04 00 00 00 00 07, ответа от девайса нет А разве setup-запросы не 8-ми байтные?
|
|
|
|
|
Feb 15 2010, 18:48
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Цитата(toweroff @ Feb 13 2010, 21:55)  ответа от девайса нет A вывод P0.31 LPC214x в качестве USB_CONNECT у вас задействован ? Keil development kit (MCB2140) не использует его (один пользователь писал мне, что нарвался на такую ситуацию) По поводу "не компилируется IAR" - если версия не IAR ARM v.4.30, то, возможно, в проекте необходимо сделать соответствующие изменения (не думаю, что это будет проблемой)
|
|
|
|
|
Feb 16 2010, 10:43
|

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

|
Цитата А разве setup-запросы не 8-ми байтные? это все, что отловил USBTrace Цитата( @ Feb 15 2010, 21:48)  A вывод P0.31 LPC214x в качестве USB_CONNECT у вас задействован ? да, на нем висит PNP, коллектором через 1.5кОм да D+, эмиттером на +3.3в Цитата(yuri_t @ Feb 15 2010, 21:48)  По поводу "не компилируется IAR" - если версия не IAR ARM v.4.30, то, возможно, в проекте необходимо сделать соответствующие изменения (не думаю, что это будет проблемой) c IAR вообще дела не имел, так что как раз проблема может возникнуть
|
|
|
|
|
Feb 18 2010, 11:43
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075

|
Цитата(toweroff @ Feb 13 2010, 21:55)  Девайс не проходит энумерацию  ...ответа от девайса нет У меня такая же проблема. Ответа от девайса нет. На выходе порта Р0.31 - "1", то есть транзистор закрыт и подтяжки на D+ нету (и светодиод не горит). Если D+ принудительно потянуть - в системе появляется "неизвестное устройство" с ВИД-ПИД = 0000-0000. В исходниках так и не нашел то место, где Р0.31 сбрасывается в ноль (а сбрасываться должен).
|
|
|
|
|
Feb 19 2010, 07:55
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Вот пример LPC2146_USB с проектами для последних версий компиляторов IAR 5.41 & KEIL 4.03 (и компилируется без ошибок и работает - проверено...)
|
|
|
|
|
Feb 23 2010, 07:56
|
Частый гость
 
Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075

|
Цитата(toweroff @ Feb 19 2010, 17:14)  спасибо, пойду тестить  Какие впечатления (в смысле скорости)? У меня по сравнению с LPCUSB скорость PC->LPC не изменилась. Скорее всего виновата libusb.
Сообщение отредактировал olegras - Feb 23 2010, 08:01
|
|
|
|
|
Feb 23 2010, 09:42
|

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

|
Цитата(olegras @ Feb 23 2010, 10:56)  Какие впечатления (в смысле скорости)? У меня по сравнению с LPCUSB скорость PC->LPC не изменилась. Скорее всего виновата libusb. получается порядка 850кбайт-1Мбайт/сек такая же примерно скорость у меня с примером Keil без DMA (с учетом обработки/пересылки полученных данных) с DMA Keil не завелся, пока не понял почему... поэтому и спрашивал у Юрия его пример под TNKernel с DMA
|
|
|
|
|
Feb 24 2010, 07:36
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Вот проекты TNKernel USB_BULK_DMA для компиляторов Keil 4.03 и IAR 5.41. Что интересно, для достижения скорости как чтения, так и записи 1.083 МВyte/сек в IAR 5.41 надо ставить оптимизацию Full, а в Keil 4.03 достаточно -O1
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|