Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB bulk
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Озадачился скоростью передачи по USB.
Выжал из своего девайса (базировался на примере Keil) порядка 6.8 Мбит/с, камни пользовал LPC2148 и LPC2468
Наткнулся на TNKernel.com, Юрий демонстрирует бенчи порядка >1МБайт/с

Интересно, думаю, посмотреть реализацию, в частности DMA. Скачал архив, скормил Keil (4.03)
Скомпилилось. Прошил с помощью FlashMagic в LPC2148. Девайс не проходит энумерацию sad.gif
Смотрю через USBTrace - хост шлет в девайс 7 байт: B0 04 00 00 00 00 07, ответа от девайса нет

Полазил по форуму - похоже, никто граблей не встретил с данным примером... на что же я напоролся - непонятно
На всякий случай проставил IAR, подсунул проект для него из \LPC2146_USB_DMA\IAR\ - йар вообще компилировать не хочет, ошибки сыпет

Кто компилировал под Keil, желательно вариант с DMA, отзовитесь, пожалуйста... не пойму где, казалось бы, рабочий проект может не работать
toweroff
И еще один вопрос... драйвер libusb может "тормозить" под Win32? Кто какие скорости с ним "выжимал"?
Возможно, я просто не оттуда копаю проблему скорости передачи...
sergeeff
Я пользуюсь bulk usb на rm9200. Никакой ОС нет. Прием-передача по прерыванию. Драйвер стандартный из DDK. Реальная скорость передачи PC-device ~800-820 KBytes/s. При этом данные не просто принимаются, а идет их "складирование" в кольцевой буфер, что тоже съедает часть времени.
toweroff
Цитата(sergeeff @ Feb 15 2010, 10:10) *
Я пользуюсь bulk usb на rm9200. Никакой ОС нет. Прием-передача по прерыванию. Драйвер стандартный из DDK. Реальная скорость передачи PC-device ~800-820 KBytes/s. При этом данные не просто принимаются, а идет их "складирование" в кольцевой буфер, что тоже съедает часть времени.

DMA используете?
sergeeff
В rm9200 нет DMA на usb
Rusoil
Цитата(toweroff @ Feb 13 2010, 21:55) *
Скомпилилось. Прошил с помощью FlashMagic в LPC2148. Девайс не проходит энумерацию sad.gif
Смотрю через USBTrace - хост шлет в девайс 7 байт: B0 04 00 00 00 00 07, ответа от девайса нет


А разве setup-запросы не 8-ми байтные?
yuri_t
Цитата(toweroff @ Feb 13 2010, 21:55) *
ответа от девайса нет


A вывод P0.31 LPC214x в качестве USB_CONNECT у вас задействован ?
Keil development kit (MCB2140) не использует его (один пользователь
писал мне, что нарвался на такую ситуацию)

По поводу "не компилируется IAR" - если версия не IAR ARM v.4.30,
то, возможно, в проекте необходимо сделать соответствующие изменения
(не думаю, что это будет проблемой)
toweroff
Цитата
А разве 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 вообще дела не имел, так что как раз проблема может возникнуть smile.gif
olegras
Цитата(toweroff @ Feb 13 2010, 21:55) *
Девайс не проходит энумерацию sad.gif
...ответа от девайса нет


У меня такая же проблема. Ответа от девайса нет.
На выходе порта Р0.31 - "1", то есть транзистор закрыт и подтяжки на D+ нету (и светодиод не горит). Если D+ принудительно потянуть - в системе появляется "неизвестное устройство" с ВИД-ПИД = 0000-0000. В исходниках так и не нашел то место, где Р0.31 сбрасывается в ноль (а сбрасываться должен).
yuri_t
Вот пример LPC2146_USB с проектами для последних версий
компиляторов IAR 5.41 & KEIL 4.03 (и компилируется без ошибок и работает - проверено...)
toweroff
Цитата(yuri_t @ Feb 19 2010, 10:55) *
Вот пример LPC2146_USB с проектами для последних версий
компиляторов IAR 5.41 & KEIL 4.03 (и компилируется без ошибок и работает - проверено...)

спасибо, пойду тестить smile.gif

Цитата(olegras @ Feb 18 2010, 14:43) *
У меня такая же проблема. Ответа от девайса нет.
На выходе порта Р0.31 - "1", то есть транзистор закрыт и подтяжки на D+ нету (и светодиод не горит). Если D+ принудительно потянуть - в системе появляется "неизвестное устройство" с ВИД-ПИД = 0000-0000. В исходниках так и не нашел то место, где Р0.31 сбрасывается в ноль (а сбрасываться должен).

у меня светодиод CONNECT загорается... плата Embedded Artists LPC213x/4x Quickstart Board v1.1
посмотрел схему Юрия - с ней в ключевых местах идентичная
toweroff
yuri_t, спасибо, все теперь заработало!
А можно посмотреть на реализацию с DMA?
olegras
Цитата(toweroff @ Feb 19 2010, 17:14) *
спасибо, пойду тестить smile.gif


Какие впечатления (в смысле скорости)? У меня по сравнению с LPCUSB скорость PC->LPC не изменилась. Скорее всего виновата libusb.
toweroff
Цитата(olegras @ Feb 23 2010, 10:56) *
Какие впечатления (в смысле скорости)? У меня по сравнению с LPCUSB скорость PC->LPC не изменилась. Скорее всего виновата libusb.

получается порядка 850кбайт-1Мбайт/сек
такая же примерно скорость у меня с примером Keil без DMA (с учетом обработки/пересылки полученных данных)
с DMA Keil не завелся, пока не понял почему... поэтому и спрашивал у Юрия его пример под TNKernel с DMA
yuri_t
Вот проекты TNKernel USB_BULK_DMA для компиляторов Keil 4.03 и IAR 5.41.

Что интересно, для достижения скорости как чтения, так и записи 1.083 МВyte/сек
в IAR 5.41 надо ставить оптимизацию Full, а в Keil 4.03 достаточно -O1
toweroff
Цитата(yuri_t @ Feb 24 2010, 10:36) *
Вот проекты TNKernel USB_BULK_DMA для компиляторов Keil 4.03 и IAR 5.41.

Что интересно, для достижения скорости как чтения, так и записи 1.083 МВyte/сек
в IAR 5.41 надо ставить оптимизацию Full, а в Keil 4.03 достаточно -O1

спасибо! пойду опять тестить smile.gif
Vitaliy_ARM
Народ, а где драйвера взять для этого примера или нужно самому писать?
toweroff
Цитата(Vitaliy_ARM @ Feb 24 2010, 14:30) *
Народ, а где драйвера взять для этого примера или нужно самому писать?

на сайте TNKernel.com есть в разделе USB Bulk
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.