Other Parts Discussed in Thread: C2000WARE
Hello,
I am working with a F28M36 Concerto Control card with an F28M36P63C2 chip (Rev B) on it. We are running CCS 6.1.1.00022 and using control suite v3.4.9 with the v220 libraries under device_support. Currently on the M3 side I am running as a host trying to gather data from 3 USB devices running through a hub as bulk endpoints with a custom usb driver. In my main loop I work serially through each device doing a USBHCDPipeSchedule to request data from a particular device on the out pipe. When this transmit is complete I then do another pipe schedule to read the data in from the in pipe. When the pipeincallback interrupt happens I read the data off the in pipe using USBHCDPipeReadNonBlocking and store it for processing later in main loop. This data is then retrieved from the M3 through a TCPIP connection. I am using LWIP on the M3.
Currently I can collect data from the USB devices for about an hour before they finally stop responding. This time can vary from 20 minutes to 2 hours. When we stop receiving data I believe it is because we no longer are getting TX interrupts (not sure about RX since we no longer are requesting data) in the USB stack. When our reading stops USB_TXIS and USB_RXIS will always read 0. Reviewing the different USB_TXCSRL registers both the FIFONE and TXRDY flags are set. No other flags, such as stall, error, or other potential error flags are set. in the USB_IS register the USB_IS_SOF flag is always set.
Before using lwIP we were using the uIP libraries. When we were using these the USB devices seemed to stay up for much longer. We did not detect any crashes in reading from them, however uIP was crashing around the 24 hour mark so I cannot guarantee the USB devices would never go down. After moving to lwIP the ip communications will now stay up but USB goes down. Because of the added overhead of lwIP I have looked at reducing as much of the processing of data as I can outside of the interrupts to keep the speed up. This has increased our up time but still having problems.