|
Hi,
Can anybody write in one place what values must be specified in Super Speed descriptor, isochronous endpoint configuration and DMA channel configuration in order to get max data transfer speed using slave FIFO ? Thanks.
// EP2 isochronous IN
0x07, // Descriptor size
CY_U3P_USB_ENDPNT_DESCR, // Endpoint Descriptor Type
CY_FX_EP2_ISO, // Endpoint address and description
CY_U3P_USB_EP_ISO, // Iso End point Type
0x00,0x04, // Max packet size = 1024 bytes
0x01, // Servicing interval for data transfers
// Super Speed Endpoint Companion Descriptor
0x06, // Descriptor size
CY_U3P_SS_EP_COMPN_DESCR, // SS Endpoint Companion Descriptor Type
0x02, // ??? 2+1=3 ??? Max no. of packets in a Burst
0x0F, // ??? 15+1=16 ??? Mult.: Max number of packets
0x00,0x04 // Bytes per interval : 1024
---
CyU3PMemSet((uint8_t *)&endPointConfig, 0, sizeof(endPointConfig));
endPointConfig.enable = 1;
endPointConfig.epType = CY_U3P_USB_EP_ISO;
endPointConfig.isoPkts = 16; // ????
endPointConfig.burstLen = 3; // ????
endPointConfig.pcktSize = 1024;
apiRetStatus = CyU3PSetEpConfig(CY_FX_EP2_ISO, &endPointConfig);
---
CyU3PMemSet ((uint8_t *)&dmaConfig, 0, sizeof (dmaConfig));
dmaConfig.size = 1024;
dmaConfig.count = 2; // ???
dmaConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
...
---
apiRetStatus = CyU3PDmaChannelCreate(&glChFifoPtoU, CY_U3P_DMA_TYPE_AUTO, &dmaConfig);
---
|