- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sir.
Good day. We had met some issues for using CX3 USB HID with IMU ICM20602. The sample rate now is set to 1k but it does not quit stable. Our architecture is as follows
I also provide the reference config and code at attched file src.zip.
Does anyone has idea or further suggestion for debugging this issue?
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
From the discussion we understood that a thread execution was hindered when multiple application threads are used, which caused the delay in reading the sensor.
- Please check if the device does not enter suspend mode by calling CyU3PSysEnterSuspendMode. Also, check if the control is not stuck in the other execution thread.
- As the problem was due to delay in execution of one thread out of 2 threads even though both the threads had same priority, please check if the DMA callback doesn't include code that is slow or time consuming( for example calling CyU3PDebugPrint or copying large amount of data inside DMA callback). As DMA callback holds higher priority, this might hinder the execution of application thread.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let me know the details of the problem faced.
I understand that there is some issue on the SPI interface of CX3 which communicates to IMU ICM20602 . Please confirm.
The sample rate now is set to 1k but it does not quit stable
>> Kindly let me know to which interface does 1K sampling rate correspond
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi,
1K sampling rate correspond to SPI interface. At same SPI interface we have IMU ICM20602 and flash on it. There are 2 GPIO on CX3 for chip select. Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
From the discussion we understood that a thread execution was hindered when multiple application threads are used, which caused the delay in reading the sensor.
- Please check if the device does not enter suspend mode by calling CyU3PSysEnterSuspendMode. Also, check if the control is not stuck in the other execution thread.
- As the problem was due to delay in execution of one thread out of 2 threads even though both the threads had same priority, please check if the DMA callback doesn't include code that is slow or time consuming( for example calling CyU3PDebugPrint or copying large amount of data inside DMA callback). As DMA callback holds higher priority, this might hinder the execution of application thread.
Rashi