Перейти к содержанию
    

Вот версия с внутренним генератором, теоретически должна поднять USB FS на любой макетке.

Там где зеленым выделено это я отдал хосту 70байт (все прошло нормально). А вот с красного начались проблемы...

Нда... ендпоинт ушел в себя... Кстати, для понимания - FIFO у них (STM32F746) не для байтов, а для пакетов. вычитывать только целиком.

tc1_stm32f746zg_rom.zip

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, я тут всех поставил на уши, а потом подключил девайс к машине на которой восьмерка (до этого смотрел на старой машине с ХР), и о чудо он отсылает данные обратно :) Теперь проверить надо туда и назад...

 

Нда... ендпоинт ушел в себя... Кстати, для понимания - FIFO у них (STM32F746) не для байтов, а для пакетов. вычитывать только целиком.

Да я в курсе, там два пакета было - 64 байта и остаток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй мой тест на XP - у меня работало (терминалкой ;;; - в ответ ?;)

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй мой тест на XP - у меня работало (терминалкой ;;; - в ответ ?;)

А что оно еще делает на 400кБ?

 

Убрал одну EP. Итог - в сторону хоста проходит только первая посылка и все. Ладно буду завтра пилить дальше, есть кое какие мысли почему так...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одном из двуз компортов - Kenwood CAT. На объем не обращай внимания, там DSP трансивер внутри... таблицы синусов разные... без выхода наружу. Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет.

 

А что за проблема с interrupt endpoint? на 746 для аудио+компорты впритык хватает. То что XP без interrupt endpoint CDC не работает я где-то писал уже.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, я тут всех поставил на уши, а потом подключил девайс к машине на которой восьмерка (до этого смотрел на старой машине с ХР), и о чудо он отсылает данные обратно :) Теперь проверить надо туда и назад...

"Cтарая" XP (SP2) и "новая" XP (SP3) - тоже 2 большие разницы. Драйвер CDC в SP3 сильно переработали. Точно что-то поменяли в случае, если размер передачи кратен размеру EP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет.

Дело не минутное - надо разобрать девайс, чтобы отключить TFT (поскольку без инициализации LTDC он будет в очень нехорошем состоянии, которое приводит к его медленной деградации). Разбирать довольно долго. Учитывая написанное выше и ниже не уверен, что эта операция что-либо решит.

 

А что за проблема с interrupt endpoint? на 746 для аудио+компорты впритык хватает. То что XP без interrupt endpoint CDC не работает я где-то писал уже.

Мне не хватает - без interrupt EP того, что есть у USB FS хватает впритык (еще бы парочка была кстати, но тут была проблема с распределением других интерфейсов/разводкой платы, в итоге USB HS вытянуть не получилось).

 

"Cтарая" XP (SP2) и "новая" XP (SP3) - тоже 2 большие разницы. Драйвер CDC в SP3 сильно переработали. Точно что-то поменяли в случае, если размер передачи кратен размеру EP

Спасибо! Теперь припоминаю, что там были проблемы с этим драйвером, из-за чего его особо и не использовал никто. Наверное пора обновиться :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет.

Отчитываюсь, разобрал девайс, отлючил ТФТ, залил - работает. Я тут у себя еще нарыл проблем, коротче буду искать. За файл спасибо - теперь понятно, что работать должно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. На какой операционной системе проверялось? На XP SP3 мой файл проверял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда я разбирался с USB OTG, столкнулся со следующей проблемой: для нормальной работы TX FIFO необходимо занулить все неиспользуемые DIEPTXF, по примеру HAL занулил сразу 16 регистров, с запасом :). Иначе FIFO глючит(и на EP0 тоже) причём на FS и HS ядрах немного по-разному. Что выглядит странно, казалось бы, как могут влиять неработающие эндпоинты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я победил его :1111493779:

 

Работает и под ХР3 теперь, и под 8кой. Проблема была не в FIFO и не в USB FS, а совсем в другом.

 

Я предполагал, что когда я IN EP устанавливаю в NAK сам, или когда она устанавливается в это состояние после передачи данных, то хост понимает, что данных просто нет. C 8кой так все и получается. А у ХР драйвер впадает в bufferoverrun и перестает принимать данные. Собственно решение посылать все время когда нет данных ZLP.

 

Блин, как все просто, а я за вчера почти что заново переписал половину кода, который работает с USB FS :biggrin:

 

Когда я разбирался с USB OTG, столкнулся со следующей проблемой: для нормальной работы TX FIFO необходимо занулить все неиспользуемые DIEPTXF

Спасибо, буду иметь ввиду, ибо некоторые странности с FIFO все же остались.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

получается. А у ХР драйвер впадает в bufferoverrun и перестает принимать данные. Собственно решение посылать все время когда нет данных ZLP.

А посмотреть примеры слабо было?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А посмотреть примеры слабо было?

А может мне было интересно поднять это дело с нуля чисто по мануалу ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...