When I get a data PID error while doing ISOC transfers I expect EC[3:0] to increment by 1 but it does not, why?

Question: When I get a data PID error while doing ISOC transfers I expect EC[3:0] to increment by 1 but it does not, why?

 

Answer:

When an error such as this occurs the EC[3:0] value will continue to increment through the entire transaction and so the value will incremented by more then one. Because of this, the ERRLIMIT bit will be set on the first transaction with an error. This is due to the fact that LIMIT[3:0], which equals 4 will be reached in the first transaction and thus the ERRLIMIT bit will be set. The operation of this value will be modified to operate like expected by most users in the FX2LP.

Related Documents:
KnowledgeBase Article:When I change the LIMIT[3:0] in the ERRCNTLIM register nothing seems to happen, why is this?

Keywords:
USB, CY7C68013, FX2, ERRCNTLIM, EC[3:0], ERRLIMIT, USBERRIRQ