You are here

How to different the delta and bus interval counter in ITP packet? | Cypress Semiconductor

How to different the delta and bus interval counter in ITP packet?

Summary: 6 Replies, Latest post by PRAG on 30 Jan 2015 07:02 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
ChongHan's picture
57 posts



Good day. In Superspeed, there are two 3 info that we need to retrieve from the ITP packet. However i am not sure how to retrieve them from the 32 unsigned bit from ITP in Cypress.


There are 3 info: 

1) Bus interval counter

2) Delta

3) Bus Interval Adjustment Control


I am using 

apiRetStatus = CyU3PUsbGetDevProperty (CY_U3P_USB_PROP_ITPINFO, &ITP_value);

to get the value from DevProperty. So now i got 32 bit ITP_value, but how can get each info separately?

Besides that, how to check for Delay Flag(DF) in Link control Word of ITP packe??

Really appreciate who can help. Thanks.


Best Regards

ChongHan's picture
57 posts

 Hi guys

Can help for the problem above? I am still can't find the solution yet. I didn't have any Hardware Analyzer to see it. 

Thanks guy. 

user_1377889's picture
9287 posts

When nobody here has the knowledge to answer your quest, there is the choice to create a "MyCase" which will be ansewerd by Cypress directly. To do so, at top of this page "support&Community -> Technical Support -> Create a MyCase".



ChongHan's picture
57 posts

 Thanks Bob, just know it can be done by this way. 

scutifer's picture
Cypress Employee
134 posts

The CyU3PUsbGetDevProperty function, when used as you have done, will return a 32-bit value in "ITP_value".

Here, ITP_value[13:0] == ITP_value & 0x3FFF == microframe counter which indicates which of the 8 125-microsecond micro-frames last occurred... This is based on ITPs recieved from Host

and ITP_value[26:14] == (ITP_value >> 14) & 0x0FFF == The delta value in the last ITP received
For bus interval adjustment control, you need to send a DEV_NOTIFICATION with BUS_INTERVAL_ADJUSTMENT_MESSAGE as the notification subtype and the interval adjustment value in the body of the packet. See the link where I've explained how to do this.
However, there is no way to get the LCW bits (including DF and DL) of any TP (including ITP).


stz's picture
10 posts


I read this entry and I would like to know if any ITP is notified to the application regardless whether the DL flag in the LCW is set or not? Because there is a hint in the USB 3.0 spec that in case the DL flag is set a device may ignore that ITP.

What does the FX3 in such a case?



PRAG's picture
Cypress Employee
173 posts


Fx3 device ignores ITP's with DL bit set.

This cannot be worked around as the silicon is designed that way.

Log in to post new comments.