LPC23XX HID data flow stop on pipes abruptly/randomly

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by manoS on Wed Apr 15 04:26:26 MST 2015

We are using LPC23XX to implement HID protocol. The 2 interrupt end point are configured as follows:

IN Pipe (End Point number 1) ---> To send data to Host/PC.
OUT Pipe (End Point number 4) ---> To receive data from Host/PC

There is a strange situation that comes up.After a couple of transactions (not definite) one of the two pipes stops sending/receiving data completely.

Data on EP1 stops abruptly. Cross checked this instance by checking the transaction on USB TRACE. At this point if we send data from windows application on EP4, it is received successfully on LPC end.On the application (running on Windows) it gives continuously IO error.

EP4 stops accepting data from the application (on PC).This is also checked on USB trace. It gives STATUS_CANCELLED message when we send data from PC on the USB TRACE.At this point if checked on USB Trace data is seen to be flowing on EP1 and is successfully received by windows application.

Considering that this might be happening due to some bus/transaction error, we check if any error condition is set during any of the above two Instances in USB_Error_Event(). But none of the error condition is seen to be invoked when the above two instances occur.

Only way the issue gets resolved is by restarting the Windows System. Re-starting the application or LPC board alone does not resolve the above.

Can someone please comment what is the area that we need to check or are missing to check?

Looking forward for a reply.