Отговори на тема  [ 8 мнения ] 
въпрос за USB комуникация с контролер STM32F103 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение въпрос за USB комуникация с контролер STM32F103
работя с контролер STM32F103 на ST; ST предоставят различни примери за този контролер, има и примери за комуникация по USB; досега ползвах без проблеми техните примери, сега се опитвам да повиша скоростта на комуникацията по USB, и един от подходите, към които съм се насочил, е да увелича размера на USB endpoint буферите, за да се предават по възможност повече данни накуп; до момента всички IN и OUT USB endpoint-и са с размер 64 байта и работят стабилно; днес реших да увелича един от IN endpoint-ите на 128 байта - за целта увеличих размера на буфера за този endpoint в контролера, и преизчислих параметрите на останалите endpoint-и с оглед на новата конфигурация

ситуацията е следната: така настроен, контролерът работи стабилно при условие, че (макар да съм увеличил размера на endpoint буфера до 128 байта) ограничавам софтуерно максималния размер на изпращаните пакети до 64 байта (както беше досега); но ако се опитам да пращам повече от 64 байта накуп, фирмуеърът увисва, а програмата, която комуникира с устройството от windows машина, пропада с код за грешка 31 - "ERROR_GEN_FAILURE 31 (0x1F) A device attached to the system is not functioning"

не успях да намеря примери за този контролер, които използват буфери с размер по-голям от 64 байта, не намирам и нещо специфично в ръководството на контролера; поради спецификата на конфигурацията, много трудно е да се закача с дебъгер към платката

ще съм щастлив ако някой може да сподели опит или да даде съвет; най-вероятно засега ще се върна на 64 байтови буфери, ако успея да намеря проблема, ще сложа решението тук


Нед Дек 18, 2011 2:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: въпрос за USB комуникация с контролер STM32F103
какъв е класа на устрйството? (CDC, Mass storage...)?


Нед Дек 18, 2011 4:26 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: въпрос за USB комуникация с контролер STM32F103
за основа ползвам примера DFU (device firmware upgrade) към библиотеките на ST (може би изборът ми е неподходящ); сега погледнах дескрипторите - класът в този случай е 0, не съм променял нищо по конфигурационния и интерфейсния дескриптори; бях пропуснал в един от дескрипторите за endpoint-ите да променя размера на пакета от 64 на 128 байта, когато направих тази промяна - драйверът на устройството спря да отлепя (за драйвер ползвам библиотеката WinUSB от WDK (windows driver kit)), излиза грешка - This device cannot start. (Code 10); успях да намеря този линк за генериране на трейсове от WinUSB:

http://blogs.msdn.com/b/usbcoreblog/arc ... e-log.aspx

логът, който излиза, е:
[1]0004.003C::12/18/2011-15:38:04.183 - DriverObject 0xFFFFFA8007D91060
[1]0004.003C::12/18/2011-15:38:04.184 - Preparing hardware
[2]0004.003C::12/18/2011-15:38:04.203 - Unable to select the default configuration, failing Start
[2]0004.003C::12/18/2011-15:38:04.203 - Enter: WinUSB_ReleaseHardware
[2]0004.003C::12/18/2011-15:38:04.203 - Exit: WinUSB_ReleaseHardware (STATUS_SUCCESS)
[3]0004.0038::12/18/2011-15:38:04.204 - Handling Device Cleanup

ще мога да се занимавам след 2-3 дни отново, но изглежда, че имам проблеми с конфигурационния дескриптор (а може би и с други дескриптори)...


Нед Дек 18, 2011 9:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: въпрос за USB комуникация с контролер STM32F103
ако чипа е "full speed" - макс. пакет е 64 байта !
няма какво да се мъчиш!


Нед Дек 18, 2011 10:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: въпрос за USB комуникация с контролер STM32F103
bulk е ограничен до 16 байта, iso може 1к ако не беше и повече.

аз затова питах какъв дивайс иска, щото някои поддържат само bulk и няма как да им вдига размера.

Иначе е задължително дексрипторите да са коректни и каквото пише в тях да се поддържа и от софтуера. Примерно дексриптора като каже ползва се ендпоинт 3 в еди какъв си режим, софтуера (прекъсвания, писания/четения) трябва да поддържат същия ендпоинт и същия режим.
Така че ако се бара дискриптора, трябва и софтуера... но само в рамките на стандарта ;-)


Нед Дек 18, 2011 11:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: въпрос за USB комуникация с контролер STM32F103
miro_atc написа:
bulk е ограничен до 16 байта, iso може 1к ако не беше и повече.

аз затова питах какъв дивайс иска, щото някои поддържат само bulk и няма как да им вдига размера.

Иначе е задължително дексрипторите да са коректни и каквото пише в тях да се поддържа и от софтуера. Примерно дексриптора като каже ползва се ендпоинт 3 в еди какъв си режим, софтуера (прекъсвания, писания/четения) трябва да поддържат същия ендпоинт и същия режим.
Така че ако се бара дискриптора, трябва и софтуера... но само в рамките на стандарта ;-)


в грешка си !
за bulk:
FS - max 64b
HS - max 512b

за дескрипторите е ясно че ако ги е оплескал ...


Нед Дек 18, 2011 11:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: въпрос за USB комуникация с контролер STM32F103
правописна грешка ;-)


Пон Дек 19, 2011 12:00 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: въпрос за USB комуникация с контролер STM32F103
да, чипът е full-speed; сега проверих - наистина максималният пакет е 64 байта - това ми е убегнало; явно остава така; понеже чипът има възможност за двойно буфериране - ще се опитам да го включа

благодаря много, спестихте ми много време :)


Пон Дек 19, 2011 12:57 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни