AnsweredAssumed Answered

STM32F4Discovery USB OTG isochronous transfer max length 0x42

Question asked by herbert.hans on Jan 15, 2013
Hello Stm32 friends,

I am trying to implement an usb isochronous transfer with an STM32F4Discovery to a PC Win7(32Bit) using libusb.
On WinXp with usb audio class 1 driver i can send the max. Length for Usb FS 1023 Byte but on Win7 i can only recieve 0x4 Bytes or 0x42 Bytes (when  i flush the TxFifo before send).
I am using a modified version of the usbd_audio_core included in the STM32_USB_Device_Library.
#ifdef USB_OTG_FS_CORE<br>#define RX_FIFO_FS_SIZE                          128<br>#define TX0_FIFO_FS_SIZE                          64<br>#define TX1_FIFO_FS_SIZE                           0<br>#define TX2_FIFO_FS_SIZE                          320<br>#define TX3_FIFO_FS_SIZE                          0<br>#define TXH_NP_HS_FIFOSIZ                         0<br>#define TXH_P_HS_FIFOSIZ                          0<br><br>

the TX2_FIFO_FS_SIZE 320 is below the max. of the FS (1023) and the
sum of the FIFOs is below the 1.25kBytes of the FS Core.

With the usb cdc example (bulk transfer) i get the max. of 64 Bytes Length.
 I tested the STM32F4 with 96 and 168 MHz.

At the moment I try to switch to DMA mode, and use a ULPI PHY (see my other thread
STM32F4Discovery OTG HS in FS Mode with DMA does not enumerate

I would be pleased if somebody has an idea.

regards
Hans Herbert

Outcomes