|
|
 |
Ответов
|
Oct 25 2015, 13:07
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(prottoss @ Oct 25 2015, 15:30)  Данные вроде отправляются, судя по количеству прерываний (п. 4) но хост ресетит девай после отправки двух пакетов и далее все по новой. Хост сначала запрашивает 8 байт дескриптора устройства, поэтому фраза "количество прерываний" несколько настораживает. Можете рассказать подробнее, что и в какой последовательности происходит? Цитата(prottoss @ Oct 25 2015, 15:30)  Вопрос - нужно ли, в обработчике OTG_FS_GINTSTS_RXFLVL вычитывать данные (что я не делаю)сразу или можно дожидаться прихода прерывания от OUT точки с флагом OTG_FS_DOEPINTx_STUP? Я ориентировался по полю PKTSTS регистра OTG_FS_GRXSTSP - чтение по "SETUP data packet received", обработка по "SETUP transaction completed".
|
|
|
|
|
Oct 25 2015, 13:37
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(aaarrr @ Oct 25 2015, 19:07)  Хост сначала запрашивает 8 байт дескриптора устройства, поэтому фраза "количество прерываний" несколько настораживает. Можете рассказать подробнее, что и в какой последовательности происходит? Не совсем так по поводу запроса дескриптора устройства. Хост не может запрашивать 8 байт. Он запрашивает намного больше. Но после отправки первых 8 байт (для Windows) должен сделать USB Reset. За тем, по новой, запрос дескриптора устройства, если все в порядке, установка адреса и за тем уже все прочее. У меня вот такой порядок прерываний (флаги OTG_FS): 1. OTG_FS_GINTSTS_USBRST /* USB device bus reset */ 2. OTG_FS_GINTSTS_ENUMDNE /* Enumeration done */ 3. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ 4. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ 5. OTG_FS_GINTSTS_USBRST /* USB device bus reset */ 6. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ 7. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ 8. OTG_FS_GINTSTS_OEPINT /* EP OUT event */ 8.1. OTG_FS_DOEPINTx_STUP/* Setup Phase Done (control EPs) */ - Здесь обрабатывам запрос и разрешаем прерывание TX FIFO empty */ 9. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ 10. OTG_FS_GINTSTS_IEPINT /* EP IN event */ 10.1 OTG_FS_DIEPINTx_TXFE /* IN endpoint FIFO empty */ - Здесь отправляем данные хосту - дескриптор устройтсва, первые 8 байт */ 11. OTG_FS_GINTSTS_RXFLVL /* Receive FIFO non-empty */ - Не понял че такое??? 10. OTG_FS_GINTSTS_IEPINT /* EP IN event */ -ага! данные улетели. Наверное... 12. OTG_FS_GINTSTS_OEPINT /* EP OUT event */ - вы че творите??? 12.1. 8.1. OTG_FS_DOEPINTx_STUP/* Setup Phase Done (control EPs) */ - Это че за запрос??? В поле bRequest = 0 */ Потом куча прерываний OTG_FS_GINTSTS_RXFLVL. Потом сброс шины. Потом все по новой Отредактировал В каждом прерывании нужный флаг закрывается - пишется единица в соответствующий бит/регистр
--------------------
|
|
|
|
|
Oct 25 2015, 13:46
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(prottoss @ Oct 25 2015, 16:29)  Хост не может запрашивать 8 байт. Как это не может? Может, запрашивает, и сбасывает шину при попытке передать больше, например. Цитата(prottoss @ Oct 25 2015, 16:29)  У меня вот такой порядок прерываний (флаги OTG_FS): Подозрительно уже начиная с п.5, какой промежуток времени проходит между пп.4-5?
|
|
|
|
Сообщений в этой теме
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 Вомзжно, я что-то не так понял с FIFO буфферами. Е... Sep 18 2012, 00:11 MBR Цитата(SviMik @ Sep 18 2012, 04:11) Это к... Sep 18 2012, 10:49 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 Цитата(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
|
|
|