Part Number: TMS320F28069F
Other Parts Discussed in Thread: C2000WARE
Hi,
Since the rise of windows 10 we are increasingly confronted with USB communication errors.That motivated us to migrate to the latest USB stack and rework the communication in general. Our device acts as a generic USB HID device and we use Interrupt Transfer for both IN and OUT endpoints. After some modifications to the library code the communication seems to be stable now with different host systems. So far so good.
The things look different on our integration test system. During a complete run we ge multiple communication errors, everytime after a device reset. The reset is triggered on application layer to get the device in a defined state before a new test case is executed. During a reset, the device is still powered and connected to the USB bus. According to the USB logger, the communication hangs during device enumeration. Sometimes a plugout - plugin of the cable is sufficent to get the communication restored but in rare cases a power cycle is mandatory.
System environment
- Generic USB device with interrupt endpoints, based on HID keyboard example
- USB library 4.00.00 (C2000Ware 1.00.06.00)
- TI-RTOS
- Endpoint0 handling is done in HWI while interrupt endpoint handling is forwarded to SWI
- Whole project has optimization level 4 (otherwise there's not enough flash memory)
- Some modification with compiler switchs were made to further reduce memory footprint (host and OTG stuff removed)
Does anyone have experience with a similar system environment or has stumbled over the same problem? We are grateful for every little tip!
Best regards,
Mathias