|
|
 |
Ответов
|
Sep 18 2012, 00:11
|
Группа: Участник
Сообщений: 11
Регистрация: 9-09-12
Пользователь №: 73 458

|
Вомзжно, я что-то не так понял с FIFO буфферами. Если верить даташиту, размер буффера указывается в word, т.е. по 4 байта. Текущая инициализация FIFO выглядит так: Код OTG_FS->GRXFSIZ=64; // RX FIFO = x words OTG_FS->DIEPTXF0=(128<<16) | 64; // TX FIFO 0 = x words; start=x OTG_FS->DIEPTXF1=(64<<16) | 192; // TX FIFO 1 = x words; start=x OTG_FS->DIEPTXF2=(64<<16) | 256; // TX FIFO 2 = x words; start=x Это конфигурация, при которой девайс нормально инициализируется. При попытке уменьшить приёмный буффер, инициализация уже не проходит. Хотя 64 cлова (256 байт) явно избыточно для SETUP пакетов. Инициализация эндпоинтов: Код /* CDC endpoints: 0:control, 1:bulk out, 2:bulk in, 3:int in */ /* OUT */ OTG_FS->DOEPCTL0=(1<<26)|(1<<15)|(0<<0); // CNAK; active endpoint; Maximum packet size=64; OTG_FS->DOEPCTL1=(1<<26)|(2<<18)|(1<<15)|(64<<0); // CNAK; Endpoint type; active endpoint; Maximum packet size; /* IN */ OTG_FS->DIEPCTL0=(0<<22)|(1<<15)|(0<<0); // TxFIFO number; active endpoint; Maximum packet size=64; OTG_FS->DIEPCTL2=(2<<22)|(2<<18)|(1<<15)|(64<<0); // TxFIFO number; Endpoint type; active endpoint; Maximum packet size;
|
|
|
|
|
Sep 18 2012, 10:49
|
Частый гость
 
Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748

|
Цитата(SviMik @ Sep 18 2012, 04:11)  Это конфигурация, при которой девайс нормально инициализируется. receive fifo шареный. Он не только для setup-пакетов используется. Плюсом, не забываете DIEPTXFx offset сдвигать при уменьшении GRXFSIZ? Еще чтение мануалов рулит: 10 locations must be reserved in the receive FIFO to receive SETUP packets on control endpoint. The core does not use these locations, which are reserved for SETUP packets, to write any other data. One location is to be allocated for Global OUT NAK. Status information is written to the FIFO along with each received packet. Therefore, a minimum space of (Largest Packet Size / 4) + 1 must be allocated to receive packets. If multiple isochronous endpoints are enabled, then at least two (Largest Packet Size / 4) + 1 spaces must be allocated to receive back-to-back packets. Typically, two (Largest Packet Size / 4) + 1 spaces are recommended so that when the previous packet is being transferred to the CPU, the USB can receive the subsequent packet. От себя добавлю, что рекомендация two (Largest Packet Size / 4) + 1 исходит из того, что, пока мы один буфер из FIFO забираем, железо уже принимает второй.
Сообщение отредактировал MBR - Sep 18 2012, 10:54
|
|
|
|
Сообщений в этой теме
V_M_Luck STM32 USB FS OTG Jul 8 2011, 13:24 V_M_Luck Вновь поднимаю тему.
Пример-то заработал. Но тянут... Jul 13 2011, 15:51 Forger Цитата(V_M_Luck @ Jul 13 2011, 19:51) ...... Sep 9 2012, 15:07 SviMik Ровно та же проблема, как и в последнем сообщении.... Sep 9 2012, 11:41 SviMik В моём случае, дескриптор взят из заведомо рабочег... Sep 9 2012, 16:10 aaarrr CNAK в DOEPCTL0 после обработки setup установить н... Sep 9 2012, 19:54 SviMik Вот же однако... Заработало! Плюс вам в карму,... Sep 9 2012, 22:19 aaarrr Цитата(SviMik @ Sep 10 2012, 02:19) Интер... Sep 9 2012, 22:51 SviMik Пытаюсь реализовать CDC девайс. Что получилось:
1.... Sep 17 2012, 00:32 SviMik Хорошо. Тоесть моя конфигурация выше впринципе пра... Sep 18 2012, 13:48 MBR Цитата(SviMik @ Sep 18 2012, 17:48) При э... Sep 18 2012, 14:05 SviMik Всмысле флаг прерывания? Да, как и все остальные п... Sep 18 2012, 14:27 MBR А где запись данных после отправки очередного балк... Sep 18 2012, 15:03 SviMik Всмысле? Функция hwtx() выше, вызываю её вручную, ... Sep 18 2012, 15:11 SviMik Кажется, чего-то я в этой жизни не понимаю
Из дев... Sep 18 2012, 22:30 MBR Раз все остальное вроде верно, что там в hwtx? Sep 19 2012, 14:26 SviMik (Назначение hwtx - слать Hello World. Исключительн... Sep 19 2012, 15:01 MBR Собственно, я ошибок не вижу. Я делаю все примерно... Sep 20 2012, 12:15 SviMik Я сдаюсь
Можете выложить какой-нибудь минимальный... Sep 22 2012, 22:15 NaughtyFreak Подниму тему.
Подскажите плз, все глаза стёр уже г... Feb 19 2013, 08:11 Сергей Борщ Подниму древнюю тему.
STM32F107, родной стек из ... Mar 16 2015, 09:49 Сергей Борщ Цитата(Сергей Борщ @ Mar 16 2015, 11:49) ... Mar 17 2015, 23:10 esaulenka Ещё разик подниму тему.
На эти грабли: https://my... Apr 7 2015, 09:57 johnshadow Цитата(esaulenka @ Apr 7 2015, 12:57) Ещё... Apr 8 2015, 13:57 esaulenka Рекомендацию библиотеки ST спасибо. Знать, что оно... Apr 14 2015, 10:58 Golikov A. По спецификации USB 2.0 если мы говорим о SETUP то... Apr 14 2015, 11:09 esaulenka Подумал-подумал, и окончательно запутался.
Два bu... Apr 14 2015, 12:14 Golikov A. окончанием данных служит пакет длинной меньше макс... Apr 14 2015, 12:35 Immortal_Buka Может подскажет кто:
В соответствии с вот этой шту... Sep 22 2015, 12:52 prottoss Доброго времени суток.
Тоже решил освоить STM32 OT... Oct 25 2015, 12:30 aaarrr Цитата(prottoss @ Oct 25 2015, 15:30) Дан... Oct 25 2015, 13:07  prottoss Цитата(aaarrr @ Oct 25 2015, 19:07) Хост ... Oct 25 2015, 13:37   aaarrr Цитата(prottoss @ Oct 25 2015, 16:29) Хос... Oct 25 2015, 13:46    prottoss Цитата(aaarrr @ Oct 25 2015, 19:46) Как э... Oct 25 2015, 14:17     aaarrr Цитата(prottoss @ Oct 25 2015, 17:17) Не ... Oct 25 2015, 15:18      prottoss А OTG_FS_GINTSTS_RXFLVL, как я понял из даташита, ... Oct 25 2015, 15:30       aaarrr Цитата(prottoss @ Oct 25 2015, 18:30) А O... Oct 25 2015, 15:37        prottoss Цитата(aaarrr @ Oct 25 2015, 21:37) Нет, ... Oct 25 2015, 15:44         aaarrr Цитата(prottoss @ Oct 25 2015, 18:44) 1.Ч... Oct 25 2015, 16:11          prottoss Цитата(aaarrr @ Oct 25 2015, 22:11) 1. Чт... Oct 25 2015, 16:19           aaarrr Цитата(prottoss @ Oct 25 2015, 19:19) Зач... Oct 25 2015, 16:26            prottoss Цитата(aaarrr @ Oct 25 2015, 22:26) Не зн... Oct 25 2015, 16:50             aaarrr Цитата(prottoss @ Oct 25 2015, 19:50) А ч... Oct 25 2015, 17:25 prottoss Продолжаю неспеша тупить с STM32. С Setup пакетами... Nov 7 2015, 18:41 aaarrr Цитата(prottoss @ Nov 7 2015, 21:41) В че... Nov 7 2015, 18:48  prottoss Цитата(aaarrr @ Nov 8 2015, 00:48) OTG_FS... Nov 7 2015, 18:54   aaarrr Цитата(prottoss @ Nov 7 2015, 21:54) Т.е.... Nov 7 2015, 19:02    prottoss Цитата(aaarrr @ Nov 8 2015, 01:02) Так вы... Nov 7 2015, 19:08     aaarrr Цитата(prottoss @ Nov 7 2015, 22:08) Так ... Nov 7 2015, 19:29      prottoss Цитата(aaarrr @ Nov 8 2015, 01:29) EPENA ... Nov 7 2015, 19:44       aaarrr Цитата(prottoss @ Nov 7 2015, 22:44) Не п... Nov 7 2015, 19:47        prottoss Цитата(aaarrr @ Nov 8 2015, 01:47) Получи... Nov 7 2015, 19:51         aaarrr Цитата(prottoss @ Nov 7 2015, 22:51) Но я... Nov 7 2015, 19:55          prottoss Цитата(aaarrr @ Nov 8 2015, 01:55) Перене... Nov 7 2015, 20:16           aaarrr Цитата(prottoss @ Nov 7 2015, 23:16) Спас... Nov 7 2015, 20:28           prottoss Цитата(prottoss @ Nov 8 2015, 02:16) Прав... Nov 7 2015, 20:37            aaarrr Цитата(prottoss @ Nov 7 2015, 23:37) Мне ... Nov 7 2015, 20:59             prottoss Цитата(aaarrr @ Nov 8 2015, 02:59) Уровен... Nov 7 2015, 21:06            aaarrr Цитата(prottoss @ Nov 7 2015, 23:37) ...е... Nov 7 2015, 21:15             Tarbal Цитата(aaarrr @ Nov 8 2015, 01:15) Вот не... Nov 20 2015, 15:45            Tarbal Цитата(prottoss @ Nov 8 2015, 00:37) Мне ... Nov 20 2015, 13:28 prottoss Поднял на собственном стеке HID с двумя INT точкам... Nov 20 2015, 12:26 aaarrr Цитата(prottoss @ Nov 20 2015, 15:26) Т.е... Nov 20 2015, 13:09  prottoss Цитата(aaarrr @ Nov 20 2015, 19:09) Нет, ... Nov 20 2015, 13:45   prottoss Ну и по передаче так же.
Цитата(aaarrr @ Nov... Nov 20 2015, 13:47    aaarrr Цитата(prottoss @ Nov 20 2015, 16:47) Что... Nov 20 2015, 13:50     aaarrr Цитата(aaarrr @ Nov 20 2015, 16:50) Честн... Nov 20 2015, 13:55   aaarrr Цитата(prottoss @ Nov 20 2015, 16:45) При... Nov 20 2015, 13:48    prottoss Цитата(aaarrr @ Nov 20 2015, 19:48) 64 ба... Nov 20 2015, 13:55     prottoss Размер трансфера данных задается все таки в байтах... Nov 20 2015, 13:57    prottoss Вернусь к вопросу использования DMA.
Цитата(aaarrr... Nov 21 2015, 04:41     prottoss Продолжаю потихоньку грызть OTG.
Построил USB MS... Dec 18 2015, 11:19      Шаманъ Подниму темку в связи со схожим вопросом...
Цитата... Mar 19 2017, 21:09   Tarbal Цитата(prottoss @ Nov 20 2015, 17:45) Ну ... Nov 20 2015, 13:51 aaarrr Цитата(Tarbal @ Nov 20 2015, 16:28) Ведь ... Nov 20 2015, 13:46 prottoss Цитата(aaarrr @ Nov 20 2015, 19:46) Выраз... Nov 20 2015, 13:48 Genadi Zawidowski Я эту ситуацию ловил как результат порчи FIFO из-з... Mar 20 2017, 00:43 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 03... Mar 20 2017, 06:05 Genadi Zawidowski Рабочие в проекте. Проблемы если по формуле (там г... Mar 20 2017, 08:42 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 11... Mar 20 2017, 10:03 Genadi Zawidowski 1) эти неиспользуемые ендпоинты инициализируются о... Mar 20 2017, 12:56 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 15... Mar 20 2017, 15:03 controller_m30 У меня был похожий случай недавно (на USB CDC), чт... Mar 20 2017, 14:01 Genadi Zawidowski Добавлю - особенно хорошо проявляются такие забыты... Mar 20 2017, 14:09 Genadi Zawidowski Дополнил инициализацию отладочной печатью:
Кодv1=0... Mar 20 2017, 17:38 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 20... Mar 20 2017, 19:05 Genadi Zawidowski Цитатано в заголовочном файле была ошибка
В студию... Mar 20 2017, 19:06 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 22... Mar 20 2017, 19:52 Genadi Zawidowski Вот версия с внутренним генератором, теоретически ... Mar 20 2017, 20:01 Шаманъ Народ, я тут всех поставил на уши, а потом подключ... Mar 20 2017, 20:38 Alechek Цитата(Шаманъ @ Mar 21 2017, 01:38) Народ... Mar 21 2017, 03:52 Genadi Zawidowski Попробуй мой тест на XP - у меня работало (термина... Mar 20 2017, 20:40 Шаманъ Цитата(Genadi Zawidowski @ Mar 20 2017, 23... Mar 20 2017, 21:04 Genadi Zawidowski На одном из двуз компортов - Kenwood CAT. На объем... Mar 20 2017, 21:16 Шаманъ Цитата(Genadi Zawidowski @ Mar 21 2017, 00... Mar 21 2017, 14:32 Шаманъ Цитата(Genadi Zawidowski @ Mar 21 2017, 00... Mar 21 2017, 04:20 Шаманъ XP таки была "новая" в смысле XP SP3 Mar 21 2017, 05:28 Genadi Zawidowski Спасибо. На какой операционной системе проверялось... Mar 21 2017, 14:45
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|