Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals

Level 4
50 replies posted 25 replies posted 10 replies posted
Level 4

Previously I develop firnware of FX2P. It has a conception of auto commit for an in endpoint. If the packet end signal does not asserted and data are continuously written into the in endpoint. The data would be auto commited. What is the meanning of commit. Does it mean the end of a packet. Does the similarity exists for FX3? I remmeber I should set the auto commit option for FX2L, but I have not seen the setting of auto commit for FX3.

Another question is: Does one packet have to exclusively occupy a buffer no matter how short the packet is?

1 Solution
Moderator 250 solutions authored 100 solutions authored 100 likes received


COMMIT - Transfer of buffer handle from one block to another (For example, from GPIF II to USB).

The concept of AUTO/MANUAL COMMIT exists in both FX2LP and FX3. In FX2LP< the EPxAUTOINLEN registers determine when the buffer is committed to the USB side. In the case of FX3, the AUTO commit of data is taken care if the DMA channel is set to be of type AUTO and the buffer is full. The CyU3PDmaChannelCreate() API contains parameters to specify the size of each buffer and the type of DMA channel.

Data can only be committed in terms of buffers and not as individual bytes. So, even if a buffer is filled with a short packet, the entire buffer is committed.

Best regards,
Srinath S

View solution in original post

2 Replies