Anonymous
Not applicable
May 05, 2016
02:30 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 05, 2016
02:30 AM
In my application I implemented this data data path using an DMA-AUTO channel: CY_U3P_UIB_SOCKET_PROD_2 -> CY_U3P_PIB_SOCKET_1 -> GPIF thread 1 Resetting this path in order to change clock settings and GPIF waveform works in high speed mode, but only sometimes at super speed. The sequence is:
// Step 1 CyU3PPibInit(... CyU3PSetEpConfig(... // with epCfg.enable = CyTrue CyU3PUsbFlushEp(... CyU3PUsbResetEp(... //seems to be obsolete CyU3PDmaChannelCreate(... CyU3PGpifLoad(... CyU3PGpifSMStart(... CyU3PGpifSocketConfigure(1, ... // this works after I found out that PIB_SOCKET_1 must be connected to GPIF thread 1 // but PIB_SOCKET_4.. can be connected to any thread ... // reset CyU3PGpifDisable(CyTrue); CyU3PUsbFlushEp(... // also tried CyU3PDmaChannelReset here, but this should be obbsolete CyU3PDmaChannelDestroy(... CyU3PSetEpConfig(... // with epCfg.enable = CyFalse CyU3PPibDeInit(... // Step 2 CyU3PPibInit(... // diferent clock settings CyU3PSetEpConfig(... // same as in step 1 CyU3PUsbFlushEp(... CyU3PUsbResetEp(... // seems to be obsolete CyU3PDmaChannelCreate(... // same as in step 1 CyU3PGpifLoad(... // different waveform CyU3PGpifSMStart(... CyU3PGpifSocketConfigure(1, ... // this works in USB 2.0 mode and only rarely in USB 3.0 mode // whether it works in super speed mode seems to depend on how much data // are sent in step 1
SDK version is 1.3.3 Is there something I'm missing?
2 Replies
Anonymous
Not applicable
May 05, 2016
04:59 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 05, 2016
04:59 PM
Hi,
The
CyU3PGpifSocketConfigure API must be called before the SMStart API.
Regards,
- Madhu Sudhan
Anonymous
Not applicable
May 06, 2016
06:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 06, 2016
06:58 AM
Hi, I changed it, but behavior is the same: 1st step works always, 2nd step only in high speed mode.